diff --git a/ChangeLog.md b/ChangeLog.md index a1185a65229a..d574b4d8ff7a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -7,7 +7,6 @@ * Changed the output format of Get image cmdlets as a table * Fixed Set-AzureVMAccessExtension cmdlet * Azure Compute (Service Management) cmdlets - * Changed the warning message to a non-terminating error message for ResourceNotFound in VM cmdlets * Exposed ComputeImageConfig in Get-AzurePlatformVMImage cmdlet * Fixed Publish-AzurePlatformExtension and Set-AzurePlatformExtension cmdlets * Azure Backup - added the following cmdlets @@ -44,6 +43,12 @@ * Get-AzureSqlServerActiveDirectoryAdministrator * Set-AzureSqlServerActiveDirectoryAdministrator * Remove-AzureSqlServerActiveDirectoryAdministrator +* SQL Server VM cmdlets (ARM) + * New-AzureVMSqlServerAutoPatchingConfig + * New-AzureVMSqlServerAutoBackupConfig + * Set-AzureVMSqlServerExtension + * Get-AzureVMSqlServerExtension + * Remove-AzureVMSqlServerExtension ## 2015.08.17 version 0.9.7 * Azure Profile cmdlets diff --git a/setup/azurecmdfiles.wxi b/setup/azurecmdfiles.wxi index 844c5a05065e..84a4a919a7c5 100644 --- a/setup/azurecmdfiles.wxi +++ b/setup/azurecmdfiles.wxi @@ -17,6 +17,9 @@ + + + @@ -112,6 +115,9 @@ + + + @@ -183,6 +189,9 @@ + + + @@ -551,6 +560,9 @@ + + + @@ -652,6 +664,9 @@ + + + @@ -814,6 +829,12 @@ + + + + + + @@ -1071,6 +1092,9 @@ + + + @@ -1172,6 +1196,9 @@ + + + @@ -1252,6 +1279,9 @@ + + + @@ -1329,6 +1359,9 @@ + + + @@ -1397,6 +1430,9 @@ + + + @@ -1531,6 +1567,9 @@ + + + @@ -1656,6 +1695,9 @@ + + + @@ -1733,6 +1775,9 @@ + + + @@ -1810,6 +1855,9 @@ + + + @@ -1854,6 +1902,9 @@ + + + @@ -1985,6 +2036,9 @@ + + + @@ -2053,6 +2107,9 @@ + + + @@ -2184,6 +2241,9 @@ + + + @@ -2285,6 +2345,9 @@ + + + @@ -2395,6 +2458,9 @@ + + + @@ -2487,6 +2553,9 @@ + + + @@ -2582,6 +2651,9 @@ + + + @@ -2641,6 +2713,9 @@ + + + @@ -2697,6 +2772,9 @@ + + + @@ -2781,6 +2859,9 @@ + + + @@ -2861,6 +2942,9 @@ + + + @@ -3064,6 +3148,9 @@ + + + @@ -3135,6 +3222,9 @@ + + + @@ -3245,6 +3335,9 @@ + + + @@ -3424,6 +3517,9 @@ + + + @@ -3795,6 +3891,9 @@ + + + @@ -3871,6 +3970,9 @@ + + + @@ -3972,6 +4074,9 @@ + + + @@ -4370,6 +4475,9 @@ + + + @@ -4564,6 +4672,9 @@ + + + @@ -4662,6 +4773,9 @@ + + + @@ -4736,6 +4850,9 @@ + + + @@ -4822,6 +4939,7 @@ + @@ -4853,6 +4971,7 @@ + @@ -4876,6 +4995,7 @@ + @@ -4988,6 +5108,7 @@ + @@ -5021,6 +5142,7 @@ + @@ -5075,6 +5197,8 @@ + + @@ -5150,6 +5274,7 @@ + @@ -5183,6 +5308,7 @@ + @@ -5209,6 +5335,7 @@ + @@ -5234,6 +5361,7 @@ + @@ -5256,6 +5384,7 @@ + @@ -5300,6 +5429,7 @@ + @@ -5341,6 +5471,7 @@ + @@ -5366,6 +5497,7 @@ + @@ -5391,6 +5523,7 @@ + @@ -5405,6 +5538,7 @@ + @@ -5448,6 +5582,7 @@ + @@ -5470,6 +5605,7 @@ + @@ -5513,6 +5649,7 @@ + @@ -5546,6 +5683,7 @@ + @@ -5582,6 +5720,7 @@ + @@ -5612,6 +5751,7 @@ + @@ -5643,6 +5783,7 @@ + @@ -5662,6 +5803,7 @@ + @@ -5680,6 +5822,7 @@ + @@ -5706,6 +5849,7 @@ + @@ -5732,6 +5876,7 @@ + @@ -5799,6 +5944,7 @@ + @@ -5822,6 +5968,7 @@ + @@ -5858,6 +6005,7 @@ + @@ -5917,6 +6065,7 @@ + @@ -6030,6 +6179,7 @@ + @@ -6054,6 +6204,7 @@ + @@ -6087,6 +6238,7 @@ + @@ -6209,6 +6361,7 @@ + @@ -6273,6 +6426,7 @@ + @@ -6305,6 +6459,7 @@ + @@ -6329,6 +6484,7 @@ + diff --git a/src/Common/AzurePSCmdlet.cs b/src/Common/AzurePSCmdlet.cs index a9311b6eb1f2..c8c71e535731 100644 --- a/src/Common/AzurePSCmdlet.cs +++ b/src/Common/AzurePSCmdlet.cs @@ -1,4 +1,4 @@ -// ---------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------- // // Copyright Microsoft Corporation // Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +21,10 @@ using Microsoft.Azure.Common.Authentication; using Microsoft.Azure.Common.Authentication.Models; using Microsoft.WindowsAzure.Commands.Common; +using Newtonsoft.Json; +using System.IO; +using System.Management.Automation.Host; +using System.Threading; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { @@ -34,6 +38,18 @@ public abstract class AzurePSCmdlet : PSCmdlet, IDisposable private RecordingTracingInterceptor _httpTracingInterceptor; private DebugStreamTraceListener _adalListener; + protected static AzurePSDataCollectionProfile _dataCollectionProfile = null; + + protected AzurePSQoSEvent QosEvent; + + protected virtual bool IsUsageMetricEnabled { + get { return false; } + } + + protected virtual bool IsErrorMetricEnabled + { + get { return true; } + } /// /// Gets the PowerShell module name used for user agent header. @@ -60,10 +76,123 @@ public AzurePSCmdlet() } /// - /// Cmdlet begin process. Write to logs, setup Http Tracing and initialize profile and adds user agent. + /// Initialize the data collection profile + /// + protected static void InitializeDataCollectionProfile() + { + if (_dataCollectionProfile != null && _dataCollectionProfile.EnableAzureDataCollection.HasValue) + { + return; + } + + // Get the value of the environment variable for Azure PS data collection setting. + string value = Environment.GetEnvironmentVariable(AzurePSDataCollectionProfile.EnvironmentVariableName); + if (!string.IsNullOrWhiteSpace(value)) + { + if (string.Equals(value, bool.FalseString, StringComparison.OrdinalIgnoreCase)) + { + // Disable data collection only if it is explictly set to 'false'. + _dataCollectionProfile = new AzurePSDataCollectionProfile(true); + } + else if (string.Equals(value, bool.TrueString, StringComparison.OrdinalIgnoreCase)) + { + // Enable data collection only if it is explictly set to 'true'. + _dataCollectionProfile = new AzurePSDataCollectionProfile(false); + } + } + + // If the environment value is null or empty, or not correctly set, try to read the setting from default file location. + if (_dataCollectionProfile == null) + { + string fileFullPath = Path.Combine(AzureSession.ProfileDirectory, AzurePSDataCollectionProfile.DefaultFileName); + if (File.Exists(fileFullPath)) + { + string contents = File.ReadAllText(fileFullPath); + _dataCollectionProfile = JsonConvert.DeserializeObject(contents); + } + } + + // If the environment variable or file content is not set, create a new profile object. + if (_dataCollectionProfile == null) + { + _dataCollectionProfile = new AzurePSDataCollectionProfile(); + } + } + + /// + /// Get the data collection profile + /// + protected static AzurePSDataCollectionProfile GetDataCollectionProfile() + { + if (_dataCollectionProfile == null) + { + InitializeDataCollectionProfile(); + } + + return _dataCollectionProfile; + } + + /// + /// Check whether the data collection is opted in from user + /// + /// true if allowed + public static bool IsDataCollectionAllowed() + { + if (_dataCollectionProfile != null && + _dataCollectionProfile.EnableAzureDataCollection.HasValue && + _dataCollectionProfile.EnableAzureDataCollection.Value) + { + return true; + } + + return false; + } + + /// + /// Save the current data collection profile Json data into the default file path + /// + /// + protected abstract void SaveDataCollectionProfile(); + + protected bool CheckIfInteractive() + { + bool interactive = true; + if (this.Host == null || this.Host.UI == null || this.Host.UI.RawUI == null) + { + interactive = false; + } + else + { + try + { + var test = this.Host.UI.RawUI.KeyAvailable; + } + catch + { + interactive = false; + } + } + + if (!interactive && !_dataCollectionProfile.EnableAzureDataCollection.HasValue) + { + _dataCollectionProfile.EnableAzureDataCollection = false; + } + return interactive; + } + + /// + /// Prompt for the current data collection profile + /// + /// + protected abstract void PromptForDataCollectionProfileIfNotExists(); + + /// + /// Cmdlet begin process. Write to logs, setup Http Tracing and initialize profile /// protected override void BeginProcessing() { + PromptForDataCollectionProfileIfNotExists(); + InitializeQosEvent(); if (string.IsNullOrEmpty(ParameterSetName)) { WriteDebugWithTimestamp(string.Format("{0} begin processing without ParameterSet.", this.GetType().Name)); @@ -95,6 +224,7 @@ protected override void BeginProcessing() /// protected override void EndProcessing() { + LogQosEvent(); string message = string.Format("{0} end processing.", this.GetType().Name); WriteDebugWithTimestamp(message); @@ -125,6 +255,13 @@ protected bool IsVerbose() protected new void WriteError(ErrorRecord errorRecord) { FlushDebugMessages(); + if (QosEvent != null && errorRecord != null) + { + QosEvent.Exception = errorRecord.Exception; + QosEvent.IsSuccess = false; + LogQosEvent(true); + } + base.WriteError(errorRecord); } @@ -234,6 +371,45 @@ private void FlushDebugMessages() } } + protected abstract void InitializeQosEvent(); + + /// + /// Invoke this method when the cmdlet is completed or terminated. + /// + protected void LogQosEvent(bool waitForMetricSending = false) + { + if (QosEvent == null) + { + return; + } + + QosEvent.FinishQosEvent(); + + if (!IsUsageMetricEnabled && (!IsErrorMetricEnabled || QosEvent.IsSuccess)) + { + return; + } + + if (!IsDataCollectionAllowed()) + { + return; + } + + WriteDebug(QosEvent.ToString()); + + try + { + MetricHelper.LogQoSEvent(QosEvent, IsUsageMetricEnabled, IsErrorMetricEnabled); + MetricHelper.FlushMetric(waitForMetricSending); + WriteDebug("Finish sending metric."); + } + catch (Exception e) + { + //Swallow error from Application Insights event collection. + WriteWarning(e.ToString()); + } + } + /// /// Asks for confirmation before executing the action. /// @@ -244,10 +420,19 @@ private void FlushDebugMessages() /// The action code protected void ConfirmAction(bool force, string actionMessage, string processMessage, string target, Action action) { + if (QosEvent != null) + { + QosEvent.PauseQoSTimer(); + } + if (force || ShouldContinue(actionMessage, "")) { if (ShouldProcess(target, processMessage)) - { + { + if (QosEvent != null) + { + QosEvent.ResumeQosTimer(); + } action(); } } diff --git a/src/Common/Commands.Common/AzurePSDataCollectionProfile.cs b/src/Common/Commands.Common/AzurePSDataCollectionProfile.cs new file mode 100644 index 000000000000..cd8c9694c967 --- /dev/null +++ b/src/Common/Commands.Common/AzurePSDataCollectionProfile.cs @@ -0,0 +1,39 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.IO; +using Newtonsoft.Json; +using Microsoft.Azure.Common.Authentication; + +namespace Microsoft.WindowsAzure.Commands.Common +{ + public class AzurePSDataCollectionProfile + { + public const string EnvironmentVariableName = "Azure_PS_Data_Collection"; + public static string DefaultFileName = "AzureDataCollectionProfile.json"; + + public AzurePSDataCollectionProfile() + { + } + + public AzurePSDataCollectionProfile(bool enable) + { + EnableAzureDataCollection = enable; + } + + [JsonProperty(PropertyName = "enableAzureDataCollection")] + public bool? EnableAzureDataCollection { get; set; } + } +} diff --git a/src/Common/Commands.Common/AzureSMCmdlet.cs b/src/Common/Commands.Common/AzureSMCmdlet.cs index f55c8e982246..b9336aa69b48 100644 --- a/src/Common/Commands.Common/AzureSMCmdlet.cs +++ b/src/Common/Commands.Common/AzureSMCmdlet.cs @@ -22,6 +22,9 @@ using Microsoft.IdentityModel.Clients.ActiveDirectory; using Microsoft.WindowsAzure.Commands.Common; using Microsoft.WindowsAzure.Commands.Common.Properties; +using Newtonsoft.Json; +using System.Threading; +using System.Management.Automation.Host; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { @@ -131,6 +134,80 @@ protected static void SetTokenCacheForProfile(AzureSMProfile profile) } } + protected override void SaveDataCollectionProfile() + { + if (_dataCollectionProfile == null) + { + InitializeDataCollectionProfile(); + } + + string fileFullPath = Path.Combine(AzureSession.ProfileDirectory, AzurePSDataCollectionProfile.DefaultFileName); + var contents = JsonConvert.SerializeObject(_dataCollectionProfile); + AzureSession.DataStore.WriteFile(fileFullPath, contents); + WriteWarning(string.Format(Resources.DataCollectionSaveFileInformation, fileFullPath)); + } + + protected override void PromptForDataCollectionProfileIfNotExists() + { + // Initialize it from the environment variable or profile file. + InitializeDataCollectionProfile(); + + if (!_dataCollectionProfile.EnableAzureDataCollection.HasValue && CheckIfInteractive()) + { + WriteWarning(Resources.DataCollectionPrompt); + + const double timeToWaitInSeconds = 60; + var status = string.Format(Resources.DataCollectionConfirmTime, timeToWaitInSeconds); + ProgressRecord record = new ProgressRecord(0, Resources.DataCollectionActivity, status); + + var startTime = DateTime.Now; + var endTime = DateTime.Now; + double elapsedSeconds = 0; + + while (!this.Host.UI.RawUI.KeyAvailable && elapsedSeconds < timeToWaitInSeconds) + { + Thread.Sleep(TimeSpan.FromMilliseconds(10)); + endTime = DateTime.Now; + + elapsedSeconds = (endTime - startTime).TotalSeconds; + record.PercentComplete = ((int)elapsedSeconds * 100 / (int)timeToWaitInSeconds); + WriteProgress(record); + } + + bool enabled = false; + if (this.Host.UI.RawUI.KeyAvailable) + { + KeyInfo keyInfo = this.Host.UI.RawUI.ReadKey(ReadKeyOptions.NoEcho | ReadKeyOptions.AllowCtrlC | ReadKeyOptions.IncludeKeyDown); + enabled = (keyInfo.Character == 'Y' || keyInfo.Character == 'y'); + } + + _dataCollectionProfile.EnableAzureDataCollection = enabled; + + WriteWarning(enabled ? Resources.DataCollectionConfirmYes : Resources.DataCollectionConfirmNo); + + SaveDataCollectionProfile(); + } + } + + protected override void InitializeQosEvent() + { + QosEvent = new AzurePSQoSEvent() + { + CmdletType = this.GetType().Name, + IsSuccess = true, + }; + + if (this.Profile != null && this.Profile.DefaultSubscription != null) + { + QosEvent.Uid = MetricHelper.GenerateSha256HashString( + this.Profile.DefaultSubscription.Id.ToString()); + } + else + { + QosEvent.Uid = "defaultid"; + } + } + /// /// Cmdlet begin process. Write to logs, setup Http Tracing and initialize profile /// diff --git a/src/Common/Commands.Common/Commands.Common.csproj b/src/Common/Commands.Common/Commands.Common.csproj index 5cfe1949e29e..8888e10cea22 100644 --- a/src/Common/Commands.Common/Commands.Common.csproj +++ b/src/Common/Commands.Common/Commands.Common.csproj @@ -15,6 +15,7 @@ ..\..\ true /assemblyCompareMode:StrongNameIgnoringVersion + 06e19c11 true @@ -54,6 +55,10 @@ False ..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll + + ..\..\packages\Microsoft.ApplicationInsights.1.1.1-beta\lib\net45\Microsoft.ApplicationInsights.dll + True + False ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll @@ -141,6 +146,7 @@ AzurePSCmdlet.cs + @@ -153,6 +159,7 @@ + diff --git a/src/Common/Commands.Common/MetricHelper.cs b/src/Common/Commands.Common/MetricHelper.cs new file mode 100644 index 000000000000..9bb3d20e4296 --- /dev/null +++ b/src/Common/Commands.Common/MetricHelper.cs @@ -0,0 +1,165 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using Microsoft.ApplicationInsights; +using Microsoft.ApplicationInsights.Channel; +using Microsoft.ApplicationInsights.DataContracts; +using Microsoft.ApplicationInsights.Extensibility; +using Microsoft.WindowsAzure.Commands.Utilities.Common; + +namespace Microsoft.WindowsAzure.Commands.Common +{ + public static class MetricHelper + { + private const int FlushTimeoutInMilli = 5000; + private static readonly TelemetryClient TelemetryClient; + + static MetricHelper() + { + TelemetryClient = new TelemetryClient(); + // TODO: InstrumentationKey shall be injected in build server + TelemetryClient.InstrumentationKey = "7df6ff70-8353-4672-80d6-568517fed090"; + // Disable IP collection + TelemetryClient.Context.Location.Ip = "0.0.0.0"; + + if (TestMockSupport.RunningMocked) + { + TelemetryConfiguration.Active.DisableTelemetry = true; + } + } + + public static void LogQoSEvent(AzurePSQoSEvent qos, bool isUsageMetricEnabled, bool isErrorMetricEnabled) + { + if (!IsMetricTermAccepted()) + { + return; + } + + if (isUsageMetricEnabled) + { + LogUsageEvent(qos); + } + + if (isErrorMetricEnabled && qos.Exception != null) + { + LogExceptionEvent(qos); + } + } + + private static void LogUsageEvent(AzurePSQoSEvent qos) + { + var tcEvent = new RequestTelemetry(qos.CmdletType, qos.StartTime, qos.Duration, string.Empty, qos.IsSuccess); + tcEvent.Context.User.Id = qos.Uid; + tcEvent.Context.User.UserAgent = AzurePowerShell.UserAgentValue.ToString(); + tcEvent.Context.Device.OperatingSystem = Environment.OSVersion.VersionString; + + TelemetryClient.TrackRequest(tcEvent); + } + + private static void LogExceptionEvent(AzurePSQoSEvent qos) + { + //Log as custome event to exclude actual exception message + var tcEvent = new EventTelemetry("CmdletError"); + tcEvent.Properties.Add("ExceptionType", qos.Exception.GetType().FullName); + tcEvent.Properties.Add("StackTrace", qos.Exception.StackTrace); + if (qos.Exception.InnerException != null) + { + tcEvent.Properties.Add("InnerExceptionType", qos.Exception.InnerException.GetType().FullName); + tcEvent.Properties.Add("InnerStackTrace", qos.Exception.InnerException.StackTrace); + } + + tcEvent.Context.User.Id = qos.Uid; + tcEvent.Properties.Add("CmdletType", qos.CmdletType); + + TelemetryClient.TrackEvent(tcEvent); + } + + public static bool IsMetricTermAccepted() + { + return AzurePSCmdlet.IsDataCollectionAllowed(); + } + + public static void FlushMetric(bool waitForMetricSending) + { + if (!IsMetricTermAccepted()) + { + return; + } + + var flushTask = Task.Run(() => FlushAi()); + if (waitForMetricSending) + { + Task.WaitAll(new[] { flushTask }, FlushTimeoutInMilli); + } + } + + private static void FlushAi() + { + try + { + TelemetryClient.Flush(); + } + catch + { + // ignored + } + } + + /// + /// Gereate a SHA256 Hash string from the originInput. + /// + /// + /// + public static string GenerateSha256HashString(string originInput) + { + SHA256 sha256 = SHA256.Create(); + var bytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(originInput)); + return Encoding.UTF8.GetString(bytes); + } + } +} + +public class AzurePSQoSEvent +{ + private readonly Stopwatch _timer; + + public DateTimeOffset StartTime { get; set; } + public TimeSpan Duration { get; set; } + public bool IsSuccess { get; set; } + public string CmdletType { get; set; } + public Exception Exception { get; set; } + public string Uid { get; set; } + + public AzurePSQoSEvent() + { + StartTime = DateTimeOffset.Now; + _timer = new Stopwatch(); + _timer.Start(); + } + + public void PauseQoSTimer() + { + _timer.Stop(); + } + + public void ResumeQosTimer() + { + _timer.Start(); + } + + public void FinishQosEvent() + { + _timer.Stop(); + Duration = _timer.Elapsed; + } + + public override string ToString() + { + return string.Format( + "AzureQoSEvent: CmdletType - {0}; IsSuccess - {1}; Duration - {2}; Exception - {3};", + CmdletType, IsSuccess, Duration, Exception); + } +} diff --git a/src/Common/Commands.Common/Properties/Resources.Designer.cs b/src/Common/Commands.Common/Properties/Resources.Designer.cs index f8141354414e..14275289ba96 100644 --- a/src/Common/Commands.Common/Properties/Resources.Designer.cs +++ b/src/Common/Commands.Common/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Runtime Version:4.0.30319.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -690,6 +690,63 @@ public static string DatacenterBlobQuery { } } + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell Data Collection Confirmation. + /// + public static string DataCollectionActivity { + get { + return ResourceManager.GetString("DataCollectionActivity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose not to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmNo { + get { + return ResourceManager.GetString("DataCollectionConfirmNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This confirmation message will be dismissed in '{0}' second(s).... + /// + public static string DataCollectionConfirmTime { + get { + return ResourceManager.GetString("DataCollectionConfirmTime", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmYes { + get { + return ResourceManager.GetString("DataCollectionConfirmYes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell collects data about how users use PowerShell cmdlets and some problems they encounter. Microsoft uses this information to improve our PowerShell cmdlets. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure PowerShell. + /// + ///If you choose to participate, you can stop at any time by using Azure PowerShell as follows: + ///1. Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The [rest of string was truncated]";. + /// + public static string DataCollectionPrompt { + get { + return ResourceManager.GetString("DataCollectionPrompt", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The setting profile has been saved to the following path '{0}'.. + /// + public static string DataCollectionSaveFileInformation { + get { + return ResourceManager.GetString("DataCollectionSaveFileInformation", resourceCulture); + } + } + /// /// Looks up a localized string similar to Setting: {0} as the default and current subscription. To view other subscriptions use Get-AzureSubscription. /// diff --git a/src/Common/Commands.Common/Properties/Resources.resx b/src/Common/Commands.Common/Properties/Resources.resx index 6632412a642f..98ebeec2c58d 100644 --- a/src/Common/Commands.Common/Properties/Resources.resx +++ b/src/Common/Commands.Common/Properties/Resources.resx @@ -1468,4 +1468,32 @@ The file needs to be a PowerShell script (.ps1 or .psm1). Cannot change built-in environment {0}. + + Microsoft Azure PowerShell collects data about how users use PowerShell cmdlets and some problems they encounter. Microsoft uses this information to improve our PowerShell cmdlets. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure PowerShell. + +If you choose to participate, you can stop at any time by using Azure PowerShell as follows: +1. Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the AzureResourceManager module +To disable data collection: PS > Disable-AzureDataCollection + +If you choose to not participate, you can enable at any time by using Azure PowerShell as follows: +1. Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the AzureResourceManager module +To enable data collection: PS > Enable-AzureDataCollection + +Select Y to enable data collection [Y/N]: + + + Microsoft Azure PowerShell Data Collection Confirmation + + + You choose not to participate in Microsoft Azure PowerShell data collection. + + + This confirmation message will be dismissed in '{0}' second(s)... + + + You choose to participate in Microsoft Azure PowerShell data collection. + + + The setting profile has been saved to the following path '{0}'. + \ No newline at end of file diff --git a/src/Common/Commands.Common/packages.config b/src/Common/Commands.Common/packages.config index 3ec82649e831..e51545f5fd4f 100644 --- a/src/Common/Commands.Common/packages.config +++ b/src/Common/Commands.Common/packages.config @@ -1,6 +1,7 @@  + diff --git a/src/Common/Commands.Profile/Commands.Profile.csproj b/src/Common/Commands.Profile/Commands.Profile.csproj index 16be9cb12d53..219a1f13a5ac 100644 --- a/src/Common/Commands.Profile/Commands.Profile.csproj +++ b/src/Common/Commands.Profile/Commands.Profile.csproj @@ -136,6 +136,8 @@ + + diff --git a/src/Common/Commands.Profile/DataCollection/DisableAzureDataCollection.cs b/src/Common/Commands.Profile/DataCollection/DisableAzureDataCollection.cs new file mode 100644 index 000000000000..b859bf6e7b77 --- /dev/null +++ b/src/Common/Commands.Profile/DataCollection/DisableAzureDataCollection.cs @@ -0,0 +1,30 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using System.Management.Automation; +using System.Security.Permissions; + +namespace Microsoft.WindowsAzure.Commands.Profile +{ + [Cmdlet(VerbsLifecycle.Disable, "AzureDataCollection")] + public class DisableAzureDataCollectionCommand : EnableAzureDataCollectionCommand + { + [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] + public override void ExecuteCmdlet() + { + SetDataCollectionProfile(false); + } + } +} diff --git a/src/Common/Commands.Profile/DataCollection/EnableAzureDataCollection.cs b/src/Common/Commands.Profile/DataCollection/EnableAzureDataCollection.cs new file mode 100644 index 000000000000..e65c69a9bd4f --- /dev/null +++ b/src/Common/Commands.Profile/DataCollection/EnableAzureDataCollection.cs @@ -0,0 +1,37 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using System.Management.Automation; +using System.Security.Permissions; + +namespace Microsoft.WindowsAzure.Commands.Profile +{ + [Cmdlet(VerbsLifecycle.Enable, "AzureDataCollection")] + public class EnableAzureDataCollectionCommand : AzureSMCmdlet + { + [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] + public override void ExecuteCmdlet() + { + SetDataCollectionProfile(true); + } + + protected void SetDataCollectionProfile(bool enable) + { + var profile = GetDataCollectionProfile(); + profile.EnableAzureDataCollection = enable; + SaveDataCollectionProfile(); + } + } +} diff --git a/src/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs b/src/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs index 96994ead919b..bd1ada029762 100644 --- a/src/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs +++ b/src/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs @@ -16,6 +16,13 @@ using Microsoft.Azure.Common.Authentication; using Microsoft.Azure.Common.Authentication.Models; using Microsoft.WindowsAzure.Commands.Utilities.Common; +using System.IO; +using Newtonsoft.Json; +using Microsoft.Azure.Commands.ResourceManager.Common.Properties; +using System; +using System.Threading; +using System.Management.Automation.Host; +using Microsoft.WindowsAzure.Commands.Common; namespace Microsoft.Azure.Commands.ResourceManager.Common { @@ -52,5 +59,79 @@ protected override AzureContext DefaultContext return DefaultProfile.DefaultContext; } } + + protected override void SaveDataCollectionProfile() + { + if (_dataCollectionProfile == null) + { + InitializeDataCollectionProfile(); + } + + string fileFullPath = Path.Combine(AzureSession.ProfileDirectory, AzurePSDataCollectionProfile.DefaultFileName); + var contents = JsonConvert.SerializeObject(_dataCollectionProfile); + AzureSession.DataStore.WriteFile(fileFullPath, contents); + WriteWarning(string.Format(Resources.DataCollectionSaveFileInformation, fileFullPath)); + } + + protected override void PromptForDataCollectionProfileIfNotExists() + { + // Initialize it from the environment variable or profile file. + InitializeDataCollectionProfile(); + + if (!_dataCollectionProfile.EnableAzureDataCollection.HasValue && CheckIfInteractive()) + { + WriteWarning(Resources.DataCollectionPrompt); + + const double timeToWaitInSeconds = 60; + var status = string.Format(Resources.DataCollectionConfirmTime, timeToWaitInSeconds); + ProgressRecord record = new ProgressRecord(0, Resources.DataCollectionActivity, status); + + var startTime = DateTime.Now; + var endTime = DateTime.Now; + double elapsedSeconds = 0; + + while (!this.Host.UI.RawUI.KeyAvailable && elapsedSeconds < timeToWaitInSeconds) + { + Thread.Sleep(TimeSpan.FromMilliseconds(10)); + endTime = DateTime.Now; + + elapsedSeconds = (endTime - startTime).TotalSeconds; + record.PercentComplete = ((int)elapsedSeconds * 100 / (int)timeToWaitInSeconds); + WriteProgress(record); + } + + bool enabled = false; + if (this.Host.UI.RawUI.KeyAvailable) + { + KeyInfo keyInfo = this.Host.UI.RawUI.ReadKey(ReadKeyOptions.NoEcho | ReadKeyOptions.AllowCtrlC | ReadKeyOptions.IncludeKeyDown); + enabled = (keyInfo.Character == 'Y' || keyInfo.Character == 'y'); + } + + _dataCollectionProfile.EnableAzureDataCollection = enabled; + + WriteWarning(enabled ? Resources.DataCollectionConfirmYes : Resources.DataCollectionConfirmNo); + + SaveDataCollectionProfile(); + } + } + + protected override void InitializeQosEvent() + { + //QosEvent = new AzurePSQoSEvent() + //{ + // CmdletType = this.GetType().Name, + // IsSuccess = true, + //}; + + //if (this.DefaultContext != null && this.DefaultContext.Subscription != null) + //{ + // QosEvent.Uid = MetricHelper.GenerateSha256HashString( + // this.DefaultContext.Subscription.Id.ToString()); + //} + //else + //{ + // QosEvent.Uid = "defaultid"; + //} + } } } diff --git a/src/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj b/src/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj index 62da2d902735..1d8468a9dda6 100644 --- a/src/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj +++ b/src/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj @@ -53,6 +53,9 @@ False ..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll + + ..\..\packages\Microsoft.ApplicationInsights.1.1.1-beta\lib\net45\Microsoft.ApplicationInsights.dll + False ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll @@ -143,6 +146,9 @@ Common\AzurePowerShell.cs + + Common\AzurePSDataCollectionProfile.cs + Common\CmdletExtensions.cs @@ -155,15 +161,27 @@ Common\GeneralUtilities.cs + + Common\MetricHelper.cs + Common\PowerShellUtilities.cs + + Common\ProfileClientExtensions.cs + + + Common\PSAzureAccount.cs + Common\RecordingTracingInterceptor.cs Common\SecureStringExtensions.cs + + Common\TestMockSupport.cs + @@ -178,8 +196,9 @@ - ResXFileCodeGenerator + PublicResXFileCodeGenerator Resources.Designer.cs + Designer diff --git a/src/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs b/src/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs index 826b427af001..4d7c2df97a6b 100644 --- a/src/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs +++ b/src/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Common.Properties { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { + public class Resources { private static global::System.Resources.ResourceManager resourceMan; @@ -36,7 +36,7 @@ internal Resources() { /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + public static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.Commands.ResourceManager.Common.Properties.Resources", typeof(Resources).Assembly); @@ -51,7 +51,7 @@ internal Resources() { /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -60,10 +60,76 @@ internal Resources() { } } + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell Data Collection Confirmation. + /// + public static string DataCollectionActivity { + get { + return ResourceManager.GetString("DataCollectionActivity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose not to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmNo { + get { + return ResourceManager.GetString("DataCollectionConfirmNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This confirmation message will be dismissed in '{0}' second(s).... + /// + public static string DataCollectionConfirmTime { + get { + return ResourceManager.GetString("DataCollectionConfirmTime", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You choose to participate in Microsoft Azure PowerShell data collection.. + /// + public static string DataCollectionConfirmYes { + get { + return ResourceManager.GetString("DataCollectionConfirmYes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Azure PowerShell collects data about how users use PowerShell cmdlets and some problems they encounter. Microsoft uses this information to improve our PowerShell cmdlets. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure PowerShell. + /// + ///If you choose to participate, you can stop at any time by using Azure PowerShell as follows: + ///1. Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The [rest of string was truncated]";. + /// + public static string DataCollectionPrompt { + get { + return ResourceManager.GetString("DataCollectionPrompt", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The setting profile has been saved to the following path '{0}'.. + /// + public static string DataCollectionSaveFileInformation { + get { + return ResourceManager.GetString("DataCollectionSaveFileInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.. + /// + public static string InvalidDefaultSubscription { + get { + return ResourceManager.GetString("InvalidDefaultSubscription", resourceCulture); + } + } + /// /// Looks up a localized string similar to Tenant '{0}' was not found. Please verify that your account has access to this tenant.. /// - internal static string TenantNotFound { + public static string TenantNotFound { get { return ResourceManager.GetString("TenantNotFound", resourceCulture); } diff --git a/src/Common/Commands.ResourceManager.Common/Properties/Resources.resx b/src/Common/Commands.ResourceManager.Common/Properties/Resources.resx index 7e29fac28996..c5b53f978b1a 100644 --- a/src/Common/Commands.ResourceManager.Common/Properties/Resources.resx +++ b/src/Common/Commands.ResourceManager.Common/Properties/Resources.resx @@ -117,6 +117,37 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Microsoft Azure PowerShell Data Collection Confirmation + + + You choose not to participate in Microsoft Azure PowerShell data collection. + + + This confirmation message will be dismissed in '{0}' second(s)... + + + You choose to participate in Microsoft Azure PowerShell data collection. + + + Microsoft Azure PowerShell collects data about how users use PowerShell cmdlets and some problems they encounter. Microsoft uses this information to improve our PowerShell cmdlets. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure PowerShell. + +If you choose to participate, you can stop at any time by using Azure PowerShell as follows: +1. Use the Disable-AzureDataCollection cmdlet to turn the feature Off. The cmdlet can be found in the AzureResourceManager module +To disable data collection: PS > Disable-AzureDataCollection + +If you choose to not participate, you can enable at any time by using Azure PowerShell as follows: +1. Use the Enable-AzureDataCollection cmdlet to turn the feature On. The cmdlet can be found in the AzureResourceManager module +To enable data collection: PS > Enable-AzureDataCollection + +Select Y to enable data collection [Y/N]: + + + The setting profile has been saved to the following path '{0}'. + + + No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription. + Tenant '{0}' was not found. Please verify that your account has access to this tenant. diff --git a/src/Common/Commands.ResourceManager.Common/packages.config b/src/Common/Commands.ResourceManager.Common/packages.config index 3ec82649e831..e51545f5fd4f 100644 --- a/src/Common/Commands.ResourceManager.Common/packages.config +++ b/src/Common/Commands.ResourceManager.Common/packages.config @@ -1,6 +1,7 @@  + diff --git a/src/Common/Commands.ResourceManager.Profile.Test/Commands.ResourceManager.Profile.Test.csproj b/src/Common/Commands.ResourceManager.Profile.Test/Commands.ResourceManager.Profile.Test.csproj index b7b9311fa65c..0beb1ea5eaa5 100644 --- a/src/Common/Commands.ResourceManager.Profile.Test/Commands.ResourceManager.Profile.Test.csproj +++ b/src/Common/Commands.ResourceManager.Profile.Test/Commands.ResourceManager.Profile.Test.csproj @@ -195,9 +195,9 @@ {142d7b0b-388a-4ceb-a228-7f6d423c5c2e} Commands.ResourceManager.Profile - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common diff --git a/src/Common/Commands.ResourceManager.Profile/LoginAzureRMAccount.cs b/src/Common/Commands.ResourceManager.Profile/LoginAzureRMAccount.cs index 3d8f5d85bf7f..5fe806a4994e 100644 --- a/src/Common/Commands.ResourceManager.Profile/LoginAzureRMAccount.cs +++ b/src/Common/Commands.ResourceManager.Profile/LoginAzureRMAccount.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Profile /// [Cmdlet("Login", "AzureRMAccount", DefaultParameterSetName = "User")] [OutputType(typeof(AzureRMProfile))] - public class LoginAzureRMAccount : AzurePSCmdlet + public class LoginAzureRMAccount : AzureRMCmdlet { [Parameter(Mandatory = false, HelpMessage = "Environment containing the account to log into")] [ValidateNotNullOrEmpty] diff --git a/src/Common/Commands.ScenarioTest/Commands.ScenarioTest.csproj b/src/Common/Commands.ScenarioTest/Commands.ScenarioTest.csproj index 0ee6526bc492..2fffe40d6ebe 100644 --- a/src/Common/Commands.ScenarioTest/Commands.ScenarioTest.csproj +++ b/src/Common/Commands.ScenarioTest/Commands.ScenarioTest.csproj @@ -242,6 +242,9 @@ Always + + Always + Always @@ -521,6 +524,10 @@ {58a78f29-8c0c-4a5e-893e-3953c0f29c8a} Commands.ServiceManagement.Test + + {492d2af2-950b-4f2e-8079-8794305313fd} + Commands.RemoteApp + {bc420543-c04e-4bf3-96e1-cd81b823bdd7} Commands.Test.Utilities diff --git a/src/Common/Commands.ScenarioTest/Resources/RemoteApp/RemoteAppCI_Test.ps1 b/src/Common/Commands.ScenarioTest/Resources/RemoteApp/RemoteAppCI_Test.ps1 new file mode 100644 index 000000000000..597728053050 --- /dev/null +++ b/src/Common/Commands.ScenarioTest/Resources/RemoteApp/RemoteAppCI_Test.ps1 @@ -0,0 +1,256 @@ + Set-Variable -Name VerbosePreference -Value Continue + +function PollingInterval() +{ + if ($env:AZURE_TEST_MODE -eq 'Playback') + { + $pollingIntervalSecs = 5 + } + else + { + $pollingIntervalSecs = 60 * 5 + } + $pollingIntervalSecs +} + +function Assert([ScriptBlock] $Condition) +{ + if ((& $Condition) -eq $false) + { + throw "Assertion Failed $($Condition.ToString()): $(Get-PSCallStack | Out-String)" + } +} + +<# + This will pick a location, image, billing plan and create a ARA App collection and returns the collection name. +#> +function CreateCloudCollection([string] $Collection) +{ + + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + [PSObject[]] $locationList = Get-AzureRemoteAppLocation | % Name + Assert -Condition {$locationList -ne $null -or $locationList.Count -lt 1} + + [PSObject[]] $templateImageList = Get-AzureRemoteAppTemplateImage | ? {$_.Type -eq 'Platform' -and $_.OfficeType -ne 'Office365'} + Assert -Condition {$templateImageList -ne $null -or $templateImageList.Count -lt 1} + + $templateImage = $null + $locCounter = 0 + $imageCounter = 0 + $found = $false + do + { + $location = $locationList[$locCounter] + do + { + $templateImage = $templateImageList[$imageCounter] + if ($templateImage.RegionList -contains $location) + { + $found = $true + } + + $imageCounter++ + } while ($imageCounter -lt $templateImageList.Count -and -not $found) + + $locCounter++ + } while ($locCounter -lt $locationList.Count -and -not $found) + + Assert -Condition {$found} + + $billingPlans = Get-AzureRemoteAppPlan | % Name + $billingPlan = $billingPlans[0] + Assert -Condition {-not [String]::IsNullOrWhiteSpace($billingPlan)} + + Write-Verbose "New-AzureRemoteAppCollection -CollectionName $Collection -ImageName $($templateImage.Name) -Plan $billingPlan -Location $location -Description 'Test Collection'" + $trackIdCollection = New-AzureRemoteAppCollection -CollectionName $Collection -ImageName $templateImage.Name -Plan $billingPlan -Location $location -Description 'Test Collection' -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + do + { + Write-Verbose "Waiting current time: $(Get-Date)" + sleep -Seconds (PollingInterval) + + $collectionState = Get-AzureRemoteAppOperationResult -TrackingId $trackIdCollection.TrackingId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Write-Verbose "Collection state: $($collectionState.Status)" + } while ($collectionState.Status -eq 'InProgress' -or $collectionState.Status -eq 'Pending') + + Assert -Condition {$collectionState.Status -eq 'Success'} + Write-Verbose "$($MyInvocation.MyCommand.name) succsssfully created this collection $Collection" +} + + +<# + This will pick a 5 applications to publish, verifies that they've been published and returns the Publishing Info. +#> +function PublishRemoteApplications([string] $Collection) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $numOfApps = 5 + $availablePrograms = Get-AzureRemoteAppStartMenuProgram $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert({$availablePrograms.Count -ge $numOfApps}) + + $currentPrograms = Get-AzureRemoteAppProgram -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $programsToPublish = $availablePrograms[0..2] + $programsToPublish += $availablePrograms[$($availablePrograms.Count-2)..$($availablePrograms.Count-1)] + Assert({$programsToPublish.Count -eq $numOfApps}) + $applications = $programsToPublish | % { + Publish-AzureRemoteAppProgram -CollectionName $Collection -StartMenuAppId $_.StartMenuAppId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $publishedPrograms = Get-AzureRemoteAppProgram -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert -Condition {($publishedPrograms.Count - $currentPrograms.Count) -eq $numOfApps} + + $applications | % {Write-Verbose "($([IO.FileInfo]$_.ApplicationVirtualPath))"} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" + + $applications +} + + +<# + This will pick a add the given users to the collection. +#> +function AddRemoteAppUsers([string] $Collection, [string[]] $msaUsers) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $previousUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $msaUsers | % { + Add-AzureRemoteAppUser -CollectionName $Collection -Type MicrosoftAccount -UserUpn $_ -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $currentUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert -Condition {($previousUsers.Count + $msaUsers.Count) -eq $currentUsers.Count} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" + + $currentUsers | % {Write-Verbose "Username: $($_.Name),and Type: $($_.UserIdType)" } +} + +<# + This will remove the given users from the collection. +#> +function RemoveRemoteAppUsers([string] $Collection, [string[]] $msaUsers) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $previousUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $msaUsers | % { + Remove-AzureRemoteAppUser -CollectionName $Collection -Type MicrosoftAccount -UserUpn $_ -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $currentUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + Assert -Condition {$currentUsers -eq $null} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + +<# + This will unpublish the specified applications from the collection. +#> +function UnpublishRemoteApplications([string] $Collection, [string[]] $applications) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $applications | % { + Unpublish-AzureRemoteAppProgram -CollectionName $Collection -Alias $_ -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + Sleep 60 # seconds + $remainingApps = Get-AzureRemoteAppProgram $Collection | % Alias + + $failedToUnpublish = $remainingApps | ? {$applications -contains $_} + Assert -Condition {$failedToUnpublish -eq $null} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + +<# + This delete the collection +#> +function DeleteRemoteAppCollection([string] $Collection) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $trackIdCollection = Remove-AzureRemoteAppCollection -CollectionName $Collection + + do + { + Write-Verbose "Waiting current time: $(Get-Date)" + sleep -Seconds (PollingInterval) + + $collectionState = Get-AzureRemoteAppOperationResult -TrackingId $trackIdCollection.TrackingId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Write-Verbose "Collection state: $($collectionState.Status)" + } while ($collectionState.Status -eq 'InProgress' -or $collectionState.Status -eq 'Pending') + + Assert -Condition {$collectionState.Status -eq 'Success'} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + + +function TestRemoteAppEndToEnd() +{ + $collection = 'CICollection' + $msaUsers = "auxtm259@live.com", "auxtm260@live.com", "auxtm261@live.com" + + Write-Verbose "Starting current time: $(Get-Date)" + CreateCloudCollection $collection + $applications = PublishRemoteApplications $collection + AddRemoteAppUsers $collection $msaUsers + RemoveRemoteAppUsers $collection $msaUsers + UnpublishRemoteApplications $collection ($applications | % {$_.ApplicationAlias}) + DeleteRemoteAppCollection $collection + Write-Verbose "Done current time: $(Get-Date)" +} diff --git a/src/Common/Commands.ScenarioTest/Resources/RemoteApp/TestRemoteAppEndToEnd.json b/src/Common/Commands.ScenarioTest/Resources/RemoteApp/TestRemoteAppEndToEnd.json new file mode 100644 index 000000000000..11d0c0b43f0c --- /dev/null +++ b/src/Common/Commands.ScenarioTest/Resources/RemoteApp/TestRemoteAppEndToEnd.json @@ -0,0 +1,2354 @@ +{ + "Entries": [ + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/locations?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvbG9jYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"DisplayName\": \"West US\",\r\n \"Name\": \"West US\"\r\n },\r\n {\r\n \"DisplayName\": \"East US\",\r\n \"Name\": \"East US\"\r\n },\r\n {\r\n \"DisplayName\": \"East Asia\",\r\n \"Name\": \"East Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"Southeast Asia\",\r\n \"Name\": \"Southeast Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"North Europe\",\r\n \"Name\": \"North Europe\"\r\n },\r\n {\r\n \"DisplayName\": \"West Europe\",\r\n \"Name\": \"West Europe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "295" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "448d4c96648c918ca83b2e45dc33a5d3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:27 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/templateImages?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvdGVtcGxhdGVJbWFnZXM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Id\": \"ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150309-1850\",\r\n \"Name\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"NumberOfLinkedCollections\": 0,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": \"\",\r\n \"RegionList\": [\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"Central US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"West US\"\r\n ],\r\n \"Sas\": \"\",\r\n \"SasExpiry\": \"1899-12-31T16:00:00-08:00\",\r\n \"Size\": 0,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 1,\r\n \"UploadCompleteTime\": \"2015-03-09T21:27:13.094Z\",\r\n \"UploadSetupTime\": \"2015-03-09T21:27:13.094Z\",\r\n \"UploadStartTime\": \"1899-12-31T16:00:00-08:00\",\r\n \"Uri\": \"\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "718" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "307009dc308192f4a4c128164d66fde6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:29 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/BillingPlans?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvQmlsbGluZ1BsYW5zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"19d0f014-6ead-4a5c-bd2b-ee5ae6c7f5c2\",\r\n \"PlanName\": \"Standard\"\r\n },\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"493d3553-a732-4764-b18c-a239982fdbec\",\r\n \"PlanName\": \"Basic\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "262" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "6a8ffa5a4b6f97a99acb2554eef6b999" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:32 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services?service=rdst15&action=register", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcz9zZXJ2aWNlPXJkc3QxNSZhY3Rpb249cmVnaXN0ZXI=", + "RequestMethod": "PUT", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n ConflictError\r\n The resource type rdst15 is already registered for this subscription.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "231" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5c2f34469c2091cbaba9c41c801672f3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:35 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 409 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections?PopulateOnly=false&api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnM/UG9wdWxhdGVPbmx5PWZhbHNlJmFwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"Name\": \"CICollection\",\r\n \"Description\": \"Test Collection\",\r\n \"TemplateImageName\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"BillingPlanName\": \"Standard\",\r\n \"ReadyForPublishing\": false,\r\n \"Mode\": 1,\r\n \"Region\": \"West US\",\r\n \"PublishedApplications\": [],\r\n \"AllowedPrincipals\": []\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "309" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1" + ], + "x-remoteapp-operation-tracking-id": [ + "4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1" + ], + "x-ms-request-id": [ + "3ba27ab674089a27b09f6b7ad9d801a6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:39 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "d14e97697ae292a7a3c17bd8ce98addc" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:56:42 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "dfc908b82cbd90c79d0abaa40b52dfae" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:01:44 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9b44214d2dfe9d8eb54731a5ddfa45ef" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:06:45 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "ea1a4368a1579bd381143dd28a1d3f99" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:11:48 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "c7e28ae5492a972a9240f05c8b6cb2a8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:16:49 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "85" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "20e4edbacc1e900aa95c45913c4ccba1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:52 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/05e77332-a97a-4229-8e58-b17bf9829761.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=z7Uf%2Bx4nEL6i%2FTqz1HX2sB8jexvXu3JOjixT44Qlq4A%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5b3039f5-2729-44ec-86b7-52df2cf25803.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=DlXfzsmGVI3VVVTFiz2Jm19emdy5r%2BWdCrYwWXYEEc8%3D\",\r\n \"Id\": \"04e6cae2-c709-4aba-a568-2b4aaad32af2\",\r\n \"Name\": \"OneDriveBusiness\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\GROOVE.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/ce329c74-2eeb-42fc-8d56-ee874412fb30.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=h%2B1uovb1klRqMQ5AKwjoxXS4EuRG9e3YJNuburqcGz0%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1574b8fc-3b6e-4d16-a3c6-74c4931b95ae.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=NokEpBAqyb4Y2%2BhcDYW1JSzgm91B2gYOAq%2BBxTkFhNE%3D\",\r\n \"Id\": \"1d49a298-6656-4511-be81-2ac881850488\",\r\n \"Name\": \"PowerShell\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/604f0e64-d126-41d8-a381-2239367eb2a4.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=AaYlatL1nhSyw4osVtoqY%2BygCGCOOIoBy38lkDe3t7U%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/816715c7-3312-467a-a1ca-5ed444af3283.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=Y0ciz0xVl43Ra0qVkfmoy1XxdWj39WaUoeucbEjavkw%3D\",\r\n \"Id\": \"33f09af8-beec-4e14-94fd-2cdc3de17cb7\",\r\n \"Name\": \"PowerShellISE\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell_ise.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/2bd21834-16bd-4da0-bb48-11bf8df0ea91.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=7pmcPTALDiCYZGXI%2FAzDZ06VM5rq7xXD185MRqamuss%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d8b53b21-4f21-4c18-ab95-8b6b31a84afe.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=sJl%2BMYRcgb84J7yNZOW3powJbqYumJbzOr6n7W1SDtY%3D\",\r\n \"Id\": \"390e1a34-b1a2-49f5-9df5-533e8aad7a3b\",\r\n \"Name\": \"InternetExplorer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Internet Explorer\\\\iexplore.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=87IpVvdQIS8VmwwUh8VbiwOei5ZtpU8Y%2FQl886GRQj4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=4A1fU0s1zWsc7OVGrTgEKGen%2F3sykTaa68KPERQ5kfY%3D\",\r\n \"Id\": \"45bca3f6-056f-48e9-8f8c-ebcc5b929b55\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/0d6f1c85-fcb9-4698-817c-73bd05281691.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=A%2B3V1L8L1X4Po1gqqDBwrDX1I230F2FxYEms%2F8CluBU%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/f4074b68-b286-484e-b083-5d3e8363e6e5.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=2tq%2F37I3cyXuEiSviesgMKYi1JoEzkP5nQihD%2BBBaww%3D\",\r\n \"Id\": \"5c4805e2-86f4-491f-9c10-ba6a2e267911\",\r\n \"Name\": \"Excel\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\EXCEL.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/00d254ac-bcc3-42e5-90db-2c25f2a04cd5.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=z1Rb70VAsAP0NuRi%2BZx6xEnLAu2%2FtWshOQOKhs7D%2FSM%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6439cb47-115a-4e44-8176-8de3a918646a.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=GY1KLpWFdXDzbdCDr3r3YLIrQnshWFivNSuDvDW80BU%3D\",\r\n \"Id\": \"5eb6b22b-ffc5-43e0-9803-4e29da7d6234\",\r\n \"Name\": \"Project\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINPROJ.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7579deff-c2e4-41cd-a9a4-e02a49db4f60.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ujuopqFiqaUa1ICgb8ljscn37mWlB3r5I4E%2F%2FyVHXOI%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/365e164c-d7af-4863-ba77-a48558b8458b.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=YdFIVPf1H1wL5sa2RGujzBaVt8xis3EaQGQu0XH2Cqg%3D\",\r\n \"Id\": \"834154e8-f861-4219-b0aa-d87e2c255a42\",\r\n \"Name\": \"Paint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/12570dff-3822-41e4-9e17-1f4fea892d9b.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=J68jFrl%2FPOMQ%2BpM29zUX8UxSrf31tKJoX7pZrphtPXY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/c16b21b3-6ea2-4626-aa91-bcef76fa8871.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=glNyJIY2QAbAcky2dF05vVyezADt6OuRdBu%2FFNt5DcI%3D\",\r\n \"Id\": \"8c5bf021-e463-47d7-919d-58335de607c3\",\r\n \"Name\": \"OneNote\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\ONENOTE.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=8PXQmasBPrJKDiOHLlpUc%2BxLeH3ZOT3Pd8jI%2FSOlj%2B4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=xKoTDx%2F8%2BmHsXmgq1SupUT0S6JOW%2BEkRGXIqljA%2FjEA%3D\",\r\n \"Id\": \"8c846901-f75a-4742-90d6-137223b52da7\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/0a51d73f-4c70-4634-af86-5cc5b82042e8.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=iHKJ7horBhzzk9DpNyRqsKtAWK1Uv23sYPLx8LPMgJI%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/ebb41248-2a4b-4894-bef4-152d82a688dc.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=E0qUTBIKwUUtgAu2zafBCB10s%2BDOBYWap9zNwiwI85c%3D\",\r\n \"Id\": \"90cf8d5e-b215-444e-b789-a3e7924716d8\",\r\n \"Name\": \"Outlook\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\OUTLOOK.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=5PtQgbIpCY5qk9Mib%2FHLFp0qFGuf2C6XxfIjH4RHlpA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=aiSPkSni8acvqz%2BDqDpaqi9KFvG9O%2Fo0vv3KIN%2FmLgk%3D\",\r\n \"Id\": \"9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/300ffed8-2db3-4c64-9dc9-b7b16ecc1b08.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=1chXUKs8oMepb57ndP5zAysGSsE4BlcYo6gTRAKZxOY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/436a2ad1-86c9-4cca-8669-bfead5e7d1c4.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=2n%2FhSvhpaDrsNtR1Qx7jig1O%2BCYYKYM9dZkeDHbB2Fw%3D\",\r\n \"Id\": \"a79fbcbf-fa64-4d37-8098-eb31b713255d\",\r\n \"Name\": \"PowerPoint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\POWERPNT.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=I28L%2FK5TP8KlkfWJT1RS%2F3A1rjH38blU2o%2Fbk8RojwA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=eceYh8ADxLAH3k9P3CMfXLkHf1JVT4XXdPB%2BOI%2BTKq4%3D\",\r\n \"Id\": \"bcbefc29-6de6-4e6e-b130-d92002966e2c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/39dd5826-7a73-4a56-b0d7-c6c4aaed3cf3.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=AkWpiCZyzuD%2FxcWTm7yduEd2OcAkhuNhV%2BcpTYvyQik%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/a1bd2f0d-6316-4680-bd6c-f9db873abed3.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ffpeM%2BN8EghHjgOCkpeAoGzsztoK492aJ%2FrePZuMPNo%3D\",\r\n \"Id\": \"cba99c82-a138-4c4a-93c1-d7c75c096649\",\r\n \"Name\": \"MediaPlayer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Windows Media Player\\\\wmplayer.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=RPnIFAfS2e4vHauUluQEnnhKI8dVMbP%2B5CdwPpgslNM%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=dKWYcYRE2xZw2Vfp9ilOfsgbDD1nE0f6G0MJMSfdPXE%3D\",\r\n \"Id\": \"db0205ad-1d77-4087-b142-5d8065f76224\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6b566fe3-88ee-4421-a87d-f66df361f0d6.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=tDyk%2B2OAfTFLpfm3CHLbduHpZjTpyn9TON5RR%2Fhh7M8%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6ebee49b-9b8b-4371-b058-0468ddbf1257.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=sr5VM1r3qbzQ%2FUigoqqGye%2FkvOTe4rddEoj3%2B4MRj64%3D\",\r\n \"Id\": \"dcde01c2-6e75-42cc-a26a-c4f9b87281ab\",\r\n \"Name\": \"Lync\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\lync.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/be40d0a0-e1df-4e87-8b4b-373a5b00277f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ARXtQrxckijoh1E8Q1%2Fo%2F%2B5HQNX%2Bpa7owZBb75U16T0%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7fa93ba9-1bf0-4028-a79e-b1db1128c43a.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=9P3DpdpS3v0t4iw6wDLzt3rb3s5CXuY0o0%2BWgueEmes%3D\",\r\n \"Id\": \"f3414418-5f96-4f2d-82ea-89276bf82227\",\r\n \"Name\": \"cmd\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\cmd.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "11410" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "b69bd447aae99c65a61278a2e3d9d8d3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:55 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A52%3A03Z&sr=b&sp=r&sig=y%2FO5lD4KpYASNyyh5LXSFMsooXb3j04oGpdgykbIeo4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A52%3A03Z&sr=b&sp=r&sig=xObgseHegIC4XiBXwIhVcj3kx68Y%2FnuDLeDBstYo%2BR8%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "611" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0f55ca20ef899697bfdcc5f34f0359ca" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:58 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"Alias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=uSa0OyO4UT68QPloavZCEZK6GZA%2BgcnzxldvxMLiy70%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=GbejIboQ6ebbJ5tWpBqV0DilgP1b7FBWn5Zq4rj4r1M%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"Alias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/83d8e64a-6225-4138-9d30-3c3b00510215.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=wLHunz58EdWo8inXERoTwJINd76Q0oyWVVTHKeELKnw%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/4d578ff4-9b86-4abd-a96e-c35ee261169a.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=FNZJPQmxO%2Fm2hTBGfG%2Fut3%2FIrZkIEypBBFGLu7ymyVc%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n },\r\n {\r\n \"Alias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"Alias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "3557" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "35e85864e8c490b3a3697dbdbd51d3c3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:20 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A54%3A01Z&sr=b&sp=r&sig=JmMEY9ZakuxaNNYCgOswgTE%2BWohXBMcOoO1QqVLdehE%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A54%3A01Z&sr=b&sp=r&sig=rZxBTVhYaTsiTW9i6g6%2FWavwoDPN21TxhS9alv0U5Uc%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "609" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a7e297ca2c049d9aa5b436227e71cf8b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:23:57 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/bcbefc29-6de6-4e6e-b130-d92002966e2c?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvYmNiZWZjMjktNmRlNi00ZTZlLWIxMzAtZDkyMDAyOTY2ZTJjP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=JlrS4j8tgZD7MgTunAzk5ms99Sv%2FENgD8EivZSzHvvY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=oYZv5jaHd5w6J2kbmyuO7MNi2l4LJPv1GXq55YI0TQ8%3D\",\r\n \"Id\": \"bcbefc29-6de6-4e6e-b130-d92002966e2c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "631" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "58855f72b51e9655a064b86154978f10" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:01 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=oYZv5jaHd5w6J2kbmyuO7MNi2l4LJPv1GXq55YI0TQ8%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=JlrS4j8tgZD7MgTunAzk5ms99Sv%2FENgD8EivZSzHvvY%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "747" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "194" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "419cbb93e16e9315ab040d08700b0273" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:04 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=hH%2FqX62tJk7z17lAnYuuhjU3jOk8n617tBC9cpqA2mU%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=rk5xSs4hRsdvh6vC21kJUvYI7%2FiguoqS2dK7JNoFl6o%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "764" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "200" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9b86fe10fda4922da1d8b4f6a64de68a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:06 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=Tu7KKEA%2B3tUQBBnT2juqKhYrRo9YCO%2Fv9Dsxe0rw3oQ%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=%2F%2Fnf7CPOj%2F%2BrryJVTDEjTNJ9Ao9QGR9F5xPh%2BGxF2qU%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "735" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "166" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "036619463e069ebbb1d095911bb5e3fe" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:10 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=jtGNoD9YO6EcylKW%2FJH0%2Fw2YHeLI%2F5jhljGPOVY4ZBA%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=UAYHC%2Fg5Vi3BeJapohkE%2BLeMrXzBufulT9CCz8xMKWo%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "751" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "601a6dc4372b93a39b93d0afda1b4658" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:15 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=TwjOyxRIq3x7JUZ53206mdU%2FL40XbYZaC4pcZxbBqBo%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=yEFzV1xUpw7EoeM8RGMEO6WcX9EmBWTnSWf4I7JCF98%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "744" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "193" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "298036e4e4ce9014ab0786c56b96edd9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:18 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/db0205ad-1d77-4087-b142-5d8065f76224?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvZGIwMjA1YWQtMWQ3Ny00MDg3LWIxNDItNWQ4MDY1Zjc2MjI0P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=rk5xSs4hRsdvh6vC21kJUvYI7%2FiguoqS2dK7JNoFl6o%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=hH%2FqX62tJk7z17lAnYuuhjU3jOk8n617tBC9cpqA2mU%3D\",\r\n \"Id\": \"db0205ad-1d77-4087-b142-5d8065f76224\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "648" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "8971af2234b29cc487fcfc6915b1d31f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:05 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/8c846901-f75a-4742-90d6-137223b52da7?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvOGM4NDY5MDEtZjc1YS00NzQyLTkwZDYtMTM3MjIzYjUyZGE3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=%2F%2Fnf7CPOj%2F%2BrryJVTDEjTNJ9Ao9QGR9F5xPh%2BGxF2qU%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=Tu7KKEA%2B3tUQBBnT2juqKhYrRo9YCO%2Fv9Dsxe0rw3oQ%3D\",\r\n \"Id\": \"8c846901-f75a-4742-90d6-137223b52da7\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "619" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "33f18646622a95d0bfc56d3f2bc42d5d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:09 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/45bca3f6-056f-48e9-8f8c-ebcc5b929b55?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvNDViY2EzZjYtMDU2Zi00OGU5LThmOGMtZWJjYzViOTI5YjU1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=UAYHC%2Fg5Vi3BeJapohkE%2BLeMrXzBufulT9CCz8xMKWo%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=jtGNoD9YO6EcylKW%2FJH0%2Fw2YHeLI%2F5jhljGPOVY4ZBA%3D\",\r\n \"Id\": \"45bca3f6-056f-48e9-8f8c-ebcc5b929b55\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "635" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "ed149286dd4e97caaddc55dc9d72430d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:13 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvOWM2OTRiNmMtNWYyMi00ZDNiLWEyOGMtZGFlOThhNmFiNmMxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=yEFzV1xUpw7EoeM8RGMEO6WcX9EmBWTnSWf4I7JCF98%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=TwjOyxRIq3x7JUZ53206mdU%2FL40XbYZaC4pcZxbBqBo%3D\",\r\n \"Id\": \"9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "628" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e14659fd70f59e958308892c7a98c38f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "136197bb86c790a0bdb54d83a2d5cf37" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:23 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": \"ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510\",\r\n \"UserList\": [\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user1@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user2@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user3@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "462" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1805f417ff199633af674262055e6ee3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:31 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": \"ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510\",\r\n \"UserList\": [\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user1@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user2@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user3@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "462" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "8d9fd191a1c6983997110132ff733eee" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:35 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "25c9d5d4b79b95aa85301cc037e5edb4" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:45 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user1@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "c47afdb3e52093668d7be31dfa81f795" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:25 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user2@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "fda0b9064af1947497799158f87040b6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:28 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user3@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "f6b4d0ccf1839159ac8b0721a71df9ef" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:31 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj1hZTFjNjZhNy00MTI2LTQ2YjItOWY5MC1iMGQ4YjM3MWRkNDglM0EwMDAzYmZmZGMzZjhhNTEw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4a89e8fb15a094329565799f8999852b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:33 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj1hZTFjNjZhNy00MTI2LTQ2YjItOWY5MC1iMGQ4YjM3MWRkNDglM0EwMDAzYmZmZGMzZjhhNTEw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "88ebb7a5793b9e5ba76b705939b2a262" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:37 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user1@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "67e3ffb32f209466a1980c014118a690" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:39 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user2@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "35740d352cea99f7b00b8385fdb0bfd8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:40 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user3@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4298340cfaaf9b66a9b545ac73065958" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:43 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"c902b11e-9d1d-45eb-82eb-6424f82c784f\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2f25fa43b98093d9a99be1862fcdf718" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:46 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"f23d48cb-9512-4b27-a89a-990a6e7f068f\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "37de324e3bb093638abe3d50a61d4034" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:49 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"fd337514-db28-4bec-b8d7-90843462755b\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a06b8f0f7b0893a1a67d7ab3a45e568a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:51 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"958f7c37-fc93-4a6b-9659-c18c70e81692\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "f53f2deb9312976b9fd0334a24dab46d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:52 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "436b9a9762c49c7cb73d3fdd39148401" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:55 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "7ff70b85-a66a-408a-a7b6-3d2b947f210e" + ], + "x-remoteapp-operation-tracking-id": [ + "7ff70b85-a66a-408a-a7b6-3d2b947f210e" + ], + "x-ms-request-id": [ + "5dcdac48b48c9f71a72cfc4d52156020" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:23:59 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5fbf3a553cc4966294cd5a89755796dd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:29:01 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4d880bd681c19e6da59e610d8c5c42c9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:34:04 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "10a818d8f61c995baa0205f4a355c5bb" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:39:06 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1d51b83e712d9935819dc3a5b78ede3a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:44:12 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0eb999375dba9392b7d22f22b1807f07" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:49:14 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e6763bbd194c9f0fae7955b31760d3db" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:54:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1306d801dbc291329efbafee242cb888" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:59:18 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "81" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "21f939fe830a991386d0f93a304e1264" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Tue, 05 May 2015 00:04:20 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "30da001a-1a9e-48a1-8b77-e5abcfe38bdc" + } +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 b/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 index 7974ea8c0f7f..5523f1a0b989 100644 --- a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 +++ b/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 @@ -590,4 +590,22 @@ function Run-ServiceDeploymentExtensionCmdletTests # Cleanup Cleanup-CloudService $svcName; } -} \ No newline at end of file +} + +# Run Data Collection Cmdlet Tests +function Run-EnableAndDisableDataCollectionTests +{ + $st = Enable-AzureDataCollection; + + $locations = Get-AzureLocation; + foreach ($loc in $locations) + { + $svcName = getAssetName; + $st = New-AzureService -ServiceName $svcName -Location $loc.Name; + + # Cleanup + Cleanup-CloudService $svcName + } + + $st = Disable-AzureDataCollection; +} diff --git a/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs b/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs index 1af092da3d8a..4118c51f2f6d 100644 --- a/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs +++ b/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs @@ -125,5 +125,14 @@ public void RunServiceDeploymentExtensionCmdletTests() { this.RunPowerShellTest("Run-ServiceDeploymentExtensionCmdletTests"); } + + [Fact] + [Trait(Category.Service, Category.ServiceManagement)] + [Trait(Category.AcceptanceType, Category.CheckIn)] + [Trait(Category.AcceptanceType, Category.BVT)] + public void RunEnableAndDisableDataCollectionTests() + { + this.RunPowerShellTest("Run-EnableAndDisableDataCollectionTests"); + } } } diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTest/TestRemoteAppEndToEnd.json b/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTest/TestRemoteAppEndToEnd.json new file mode 100644 index 000000000000..11d0c0b43f0c --- /dev/null +++ b/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTest/TestRemoteAppEndToEnd.json @@ -0,0 +1,2354 @@ +{ + "Entries": [ + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/locations?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvbG9jYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"DisplayName\": \"West US\",\r\n \"Name\": \"West US\"\r\n },\r\n {\r\n \"DisplayName\": \"East US\",\r\n \"Name\": \"East US\"\r\n },\r\n {\r\n \"DisplayName\": \"East Asia\",\r\n \"Name\": \"East Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"Southeast Asia\",\r\n \"Name\": \"Southeast Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"North Europe\",\r\n \"Name\": \"North Europe\"\r\n },\r\n {\r\n \"DisplayName\": \"West Europe\",\r\n \"Name\": \"West Europe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "295" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "448d4c96648c918ca83b2e45dc33a5d3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:27 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/templateImages?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvdGVtcGxhdGVJbWFnZXM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Id\": \"ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150309-1850\",\r\n \"Name\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"NumberOfLinkedCollections\": 0,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": \"\",\r\n \"RegionList\": [\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"Central US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"West US\"\r\n ],\r\n \"Sas\": \"\",\r\n \"SasExpiry\": \"1899-12-31T16:00:00-08:00\",\r\n \"Size\": 0,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 1,\r\n \"UploadCompleteTime\": \"2015-03-09T21:27:13.094Z\",\r\n \"UploadSetupTime\": \"2015-03-09T21:27:13.094Z\",\r\n \"UploadStartTime\": \"1899-12-31T16:00:00-08:00\",\r\n \"Uri\": \"\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "718" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "307009dc308192f4a4c128164d66fde6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:29 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/BillingPlans?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvQmlsbGluZ1BsYW5zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"19d0f014-6ead-4a5c-bd2b-ee5ae6c7f5c2\",\r\n \"PlanName\": \"Standard\"\r\n },\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"493d3553-a732-4764-b18c-a239982fdbec\",\r\n \"PlanName\": \"Basic\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "262" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "6a8ffa5a4b6f97a99acb2554eef6b999" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:32 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services?service=rdst15&action=register", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcz9zZXJ2aWNlPXJkc3QxNSZhY3Rpb249cmVnaXN0ZXI=", + "RequestMethod": "PUT", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n ConflictError\r\n The resource type rdst15 is already registered for this subscription.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "231" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5c2f34469c2091cbaba9c41c801672f3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:35 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 409 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections?PopulateOnly=false&api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnM/UG9wdWxhdGVPbmx5PWZhbHNlJmFwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"Name\": \"CICollection\",\r\n \"Description\": \"Test Collection\",\r\n \"TemplateImageName\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"BillingPlanName\": \"Standard\",\r\n \"ReadyForPublishing\": false,\r\n \"Mode\": 1,\r\n \"Region\": \"West US\",\r\n \"PublishedApplications\": [],\r\n \"AllowedPrincipals\": []\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "309" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1" + ], + "x-remoteapp-operation-tracking-id": [ + "4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1" + ], + "x-ms-request-id": [ + "3ba27ab674089a27b09f6b7ad9d801a6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:51:39 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "d14e97697ae292a7a3c17bd8ce98addc" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 22:56:42 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "dfc908b82cbd90c79d0abaa40b52dfae" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:01:44 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9b44214d2dfe9d8eb54731a5ddfa45ef" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:06:45 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "ea1a4368a1579bd381143dd28a1d3f99" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:11:48 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "c7e28ae5492a972a9240f05c8b6cb2a8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:16:49 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/4b78fe67-9e7f-45ef-ac6d-9ad1d77b0ee1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy80Yjc4ZmU2Ny05ZTdmLTQ1ZWYtYWM2ZC05YWQxZDc3YjBlZTE/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "85" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "20e4edbacc1e900aa95c45913c4ccba1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:52 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/05e77332-a97a-4229-8e58-b17bf9829761.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=z7Uf%2Bx4nEL6i%2FTqz1HX2sB8jexvXu3JOjixT44Qlq4A%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5b3039f5-2729-44ec-86b7-52df2cf25803.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=DlXfzsmGVI3VVVTFiz2Jm19emdy5r%2BWdCrYwWXYEEc8%3D\",\r\n \"Id\": \"04e6cae2-c709-4aba-a568-2b4aaad32af2\",\r\n \"Name\": \"OneDriveBusiness\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\GROOVE.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/ce329c74-2eeb-42fc-8d56-ee874412fb30.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=h%2B1uovb1klRqMQ5AKwjoxXS4EuRG9e3YJNuburqcGz0%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1574b8fc-3b6e-4d16-a3c6-74c4931b95ae.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=NokEpBAqyb4Y2%2BhcDYW1JSzgm91B2gYOAq%2BBxTkFhNE%3D\",\r\n \"Id\": \"1d49a298-6656-4511-be81-2ac881850488\",\r\n \"Name\": \"PowerShell\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/604f0e64-d126-41d8-a381-2239367eb2a4.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=AaYlatL1nhSyw4osVtoqY%2BygCGCOOIoBy38lkDe3t7U%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/816715c7-3312-467a-a1ca-5ed444af3283.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=Y0ciz0xVl43Ra0qVkfmoy1XxdWj39WaUoeucbEjavkw%3D\",\r\n \"Id\": \"33f09af8-beec-4e14-94fd-2cdc3de17cb7\",\r\n \"Name\": \"PowerShellISE\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell_ise.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/2bd21834-16bd-4da0-bb48-11bf8df0ea91.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=7pmcPTALDiCYZGXI%2FAzDZ06VM5rq7xXD185MRqamuss%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d8b53b21-4f21-4c18-ab95-8b6b31a84afe.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=sJl%2BMYRcgb84J7yNZOW3powJbqYumJbzOr6n7W1SDtY%3D\",\r\n \"Id\": \"390e1a34-b1a2-49f5-9df5-533e8aad7a3b\",\r\n \"Name\": \"InternetExplorer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Internet Explorer\\\\iexplore.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=87IpVvdQIS8VmwwUh8VbiwOei5ZtpU8Y%2FQl886GRQj4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=4A1fU0s1zWsc7OVGrTgEKGen%2F3sykTaa68KPERQ5kfY%3D\",\r\n \"Id\": \"45bca3f6-056f-48e9-8f8c-ebcc5b929b55\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/0d6f1c85-fcb9-4698-817c-73bd05281691.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=A%2B3V1L8L1X4Po1gqqDBwrDX1I230F2FxYEms%2F8CluBU%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/f4074b68-b286-484e-b083-5d3e8363e6e5.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=2tq%2F37I3cyXuEiSviesgMKYi1JoEzkP5nQihD%2BBBaww%3D\",\r\n \"Id\": \"5c4805e2-86f4-491f-9c10-ba6a2e267911\",\r\n \"Name\": \"Excel\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\EXCEL.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/00d254ac-bcc3-42e5-90db-2c25f2a04cd5.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=z1Rb70VAsAP0NuRi%2BZx6xEnLAu2%2FtWshOQOKhs7D%2FSM%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6439cb47-115a-4e44-8176-8de3a918646a.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=GY1KLpWFdXDzbdCDr3r3YLIrQnshWFivNSuDvDW80BU%3D\",\r\n \"Id\": \"5eb6b22b-ffc5-43e0-9803-4e29da7d6234\",\r\n \"Name\": \"Project\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINPROJ.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7579deff-c2e4-41cd-a9a4-e02a49db4f60.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ujuopqFiqaUa1ICgb8ljscn37mWlB3r5I4E%2F%2FyVHXOI%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/365e164c-d7af-4863-ba77-a48558b8458b.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=YdFIVPf1H1wL5sa2RGujzBaVt8xis3EaQGQu0XH2Cqg%3D\",\r\n \"Id\": \"834154e8-f861-4219-b0aa-d87e2c255a42\",\r\n \"Name\": \"Paint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/12570dff-3822-41e4-9e17-1f4fea892d9b.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=J68jFrl%2FPOMQ%2BpM29zUX8UxSrf31tKJoX7pZrphtPXY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/c16b21b3-6ea2-4626-aa91-bcef76fa8871.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=glNyJIY2QAbAcky2dF05vVyezADt6OuRdBu%2FFNt5DcI%3D\",\r\n \"Id\": \"8c5bf021-e463-47d7-919d-58335de607c3\",\r\n \"Name\": \"OneNote\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\ONENOTE.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=8PXQmasBPrJKDiOHLlpUc%2BxLeH3ZOT3Pd8jI%2FSOlj%2B4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=xKoTDx%2F8%2BmHsXmgq1SupUT0S6JOW%2BEkRGXIqljA%2FjEA%3D\",\r\n \"Id\": \"8c846901-f75a-4742-90d6-137223b52da7\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/0a51d73f-4c70-4634-af86-5cc5b82042e8.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=iHKJ7horBhzzk9DpNyRqsKtAWK1Uv23sYPLx8LPMgJI%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/ebb41248-2a4b-4894-bef4-152d82a688dc.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=E0qUTBIKwUUtgAu2zafBCB10s%2BDOBYWap9zNwiwI85c%3D\",\r\n \"Id\": \"90cf8d5e-b215-444e-b789-a3e7924716d8\",\r\n \"Name\": \"Outlook\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\OUTLOOK.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=5PtQgbIpCY5qk9Mib%2FHLFp0qFGuf2C6XxfIjH4RHlpA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=aiSPkSni8acvqz%2BDqDpaqi9KFvG9O%2Fo0vv3KIN%2FmLgk%3D\",\r\n \"Id\": \"9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/300ffed8-2db3-4c64-9dc9-b7b16ecc1b08.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=1chXUKs8oMepb57ndP5zAysGSsE4BlcYo6gTRAKZxOY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/436a2ad1-86c9-4cca-8669-bfead5e7d1c4.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=2n%2FhSvhpaDrsNtR1Qx7jig1O%2BCYYKYM9dZkeDHbB2Fw%3D\",\r\n \"Id\": \"a79fbcbf-fa64-4d37-8098-eb31b713255d\",\r\n \"Name\": \"PowerPoint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\POWERPNT.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=I28L%2FK5TP8KlkfWJT1RS%2F3A1rjH38blU2o%2Fbk8RojwA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=eceYh8ADxLAH3k9P3CMfXLkHf1JVT4XXdPB%2BOI%2BTKq4%3D\",\r\n \"Id\": \"bcbefc29-6de6-4e6e-b130-d92002966e2c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/39dd5826-7a73-4a56-b0d7-c6c4aaed3cf3.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=AkWpiCZyzuD%2FxcWTm7yduEd2OcAkhuNhV%2BcpTYvyQik%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/a1bd2f0d-6316-4680-bd6c-f9db873abed3.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ffpeM%2BN8EghHjgOCkpeAoGzsztoK492aJ%2FrePZuMPNo%3D\",\r\n \"Id\": \"cba99c82-a138-4c4a-93c1-d7c75c096649\",\r\n \"Name\": \"MediaPlayer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Windows Media Player\\\\wmplayer.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=RPnIFAfS2e4vHauUluQEnnhKI8dVMbP%2B5CdwPpgslNM%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=dKWYcYRE2xZw2Vfp9ilOfsgbDD1nE0f6G0MJMSfdPXE%3D\",\r\n \"Id\": \"db0205ad-1d77-4087-b142-5d8065f76224\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6b566fe3-88ee-4421-a87d-f66df361f0d6.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=tDyk%2B2OAfTFLpfm3CHLbduHpZjTpyn9TON5RR%2Fhh7M8%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/6ebee49b-9b8b-4371-b058-0468ddbf1257.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=sr5VM1r3qbzQ%2FUigoqqGye%2FkvOTe4rddEoj3%2B4MRj64%3D\",\r\n \"Id\": \"dcde01c2-6e75-42cc-a26a-c4f9b87281ab\",\r\n \"Name\": \"Lync\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\lync.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/be40d0a0-e1df-4e87-8b4b-373a5b00277f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=ARXtQrxckijoh1E8Q1%2Fo%2F%2B5HQNX%2Bpa7owZBb75U16T0%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7fa93ba9-1bf0-4028-a79e-b1db1128c43a.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A44Z&sr=b&sp=r&sig=9P3DpdpS3v0t4iw6wDLzt3rb3s5CXuY0o0%2BWgueEmes%3D\",\r\n \"Id\": \"f3414418-5f96-4f2d-82ea-89276bf82227\",\r\n \"Name\": \"cmd\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\cmd.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "11410" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "b69bd447aae99c65a61278a2e3d9d8d3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:55 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A52%3A03Z&sr=b&sp=r&sig=y%2FO5lD4KpYASNyyh5LXSFMsooXb3j04oGpdgykbIeo4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A52%3A03Z&sr=b&sp=r&sig=xObgseHegIC4XiBXwIhVcj3kx68Y%2FnuDLeDBstYo%2BR8%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "611" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0f55ca20ef899697bfdcc5f34f0359ca" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:21:58 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"Alias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=uSa0OyO4UT68QPloavZCEZK6GZA%2BgcnzxldvxMLiy70%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=GbejIboQ6ebbJ5tWpBqV0DilgP1b7FBWn5Zq4rj4r1M%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"Alias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/83d8e64a-6225-4138-9d30-3c3b00510215.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=wLHunz58EdWo8inXERoTwJINd76Q0oyWVVTHKeELKnw%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/4d578ff4-9b86-4abd-a96e-c35ee261169a.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=FNZJPQmxO%2Fm2hTBGfG%2Fut3%2FIrZkIEypBBFGLu7ymyVc%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n },\r\n {\r\n \"Alias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"Alias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default32.png?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=1qhSvqWogQYLO8IhLczCS4jzVR76oFNmec9Kw%2FYQ31g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/default.ico?se=2015-05-04T23%3A52%3A25Z&sr=b&sp=r&sig=YE34CnUol0eOUuSsIl1TJ5QPalHpp%2FK1g%2FUfbE2BqS0%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "3557" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "35e85864e8c490b3a3697dbdbd51d3c3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:20 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"a6097b65-d038-41cf-947a-926b7c3dc722\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/cf366c04-66d0-4301-8f62-3b91896d3691.png?se=2015-05-04T23%3A54%3A01Z&sr=b&sp=r&sig=JmMEY9ZakuxaNNYCgOswgTE%2BWohXBMcOoO1QqVLdehE%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvtest15rdcx.blob.core.windows.net/icons/9166963c-542b-4c8c-b51b-b3fdbc02995b.ico?se=2015-05-04T23%3A54%3A01Z&sr=b&sp=r&sig=rZxBTVhYaTsiTW9i6g6%2FWavwoDPN21TxhS9alv0U5Uc%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "609" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a7e297ca2c049d9aa5b436227e71cf8b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:23:57 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/bcbefc29-6de6-4e6e-b130-d92002966e2c?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvYmNiZWZjMjktNmRlNi00ZTZlLWIxMzAtZDkyMDAyOTY2ZTJjP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=JlrS4j8tgZD7MgTunAzk5ms99Sv%2FENgD8EivZSzHvvY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=oYZv5jaHd5w6J2kbmyuO7MNi2l4LJPv1GXq55YI0TQ8%3D\",\r\n \"Id\": \"bcbefc29-6de6-4e6e-b130-d92002966e2c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "631" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "58855f72b51e9655a064b86154978f10" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:01 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/947b4846-a342-40c6-a1c0-8190867b51d7.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=oYZv5jaHd5w6J2kbmyuO7MNi2l4LJPv1GXq55YI0TQ8%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/3002a03c-98f6-45c9-bae0-76e9199c721d.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A49Z&sr=b&sp=r&sig=JlrS4j8tgZD7MgTunAzk5ms99Sv%2FENgD8EivZSzHvvY%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "747" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "194" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "419cbb93e16e9315ab040d08700b0273" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:04 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=hH%2FqX62tJk7z17lAnYuuhjU3jOk8n617tBC9cpqA2mU%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=rk5xSs4hRsdvh6vC21kJUvYI7%2FiguoqS2dK7JNoFl6o%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "764" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "200" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9b86fe10fda4922da1d8b4f6a64de68a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:06 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=Tu7KKEA%2B3tUQBBnT2juqKhYrRo9YCO%2Fv9Dsxe0rw3oQ%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=%2F%2Fnf7CPOj%2F%2BrryJVTDEjTNJ9Ao9QGR9F5xPh%2BGxF2qU%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "735" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "166" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "036619463e069ebbb1d095911bb5e3fe" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:10 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=jtGNoD9YO6EcylKW%2FJH0%2Fw2YHeLI%2F5jhljGPOVY4ZBA%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=UAYHC%2Fg5Vi3BeJapohkE%2BLeMrXzBufulT9CCz8xMKWo%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "751" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "601a6dc4372b93a39b93d0afda1b4658" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:15 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=TwjOyxRIq3x7JUZ53206mdU%2FL40XbYZaC4pcZxbBqBo%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=yEFzV1xUpw7EoeM8RGMEO6WcX9EmBWTnSWf4I7JCF98%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "744" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "193" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "298036e4e4ce9014ab0786c56b96edd9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:18 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/db0205ad-1d77-4087-b142-5d8065f76224?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvZGIwMjA1YWQtMWQ3Ny00MDg3LWIxNDItNWQ4MDY1Zjc2MjI0P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d7e9a292-cf0e-4a66-8777-056cc9ec3be7.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=rk5xSs4hRsdvh6vC21kJUvYI7%2FiguoqS2dK7JNoFl6o%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/5508ab86-9ab2-47e0-92aa-19785ccf3471.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A53Z&sr=b&sp=r&sig=hH%2FqX62tJk7z17lAnYuuhjU3jOk8n617tBC9cpqA2mU%3D\",\r\n \"Id\": \"db0205ad-1d77-4087-b142-5d8065f76224\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "648" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "8971af2234b29cc487fcfc6915b1d31f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:05 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/8c846901-f75a-4742-90d6-137223b52da7?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvOGM4NDY5MDEtZjc1YS00NzQyLTkwZDYtMTM3MjIzYjUyZGE3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/1e14fe40-569d-4ac8-ac7c-247c21be2e0f.png?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=%2F%2Fnf7CPOj%2F%2BrryJVTDEjTNJ9Ao9QGR9F5xPh%2BGxF2qU%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/d140f629-6b13-42b9-bd94-703f6d8ad588.ico?sv=2012-02-12&se=2015-05-04T23%3A51%3A57Z&sr=b&sp=r&sig=Tu7KKEA%2B3tUQBBnT2juqKhYrRo9YCO%2Fv9Dsxe0rw3oQ%3D\",\r\n \"Id\": \"8c846901-f75a-4742-90d6-137223b52da7\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "619" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "33f18646622a95d0bfc56d3f2bc42d5d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:09 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/45bca3f6-056f-48e9-8f8c-ebcc5b929b55?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvNDViY2EzZjYtMDU2Zi00OGU5LThmOGMtZWJjYzViOTI5YjU1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/68970bf6-b70f-418b-811c-dd97b0027868.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=UAYHC%2Fg5Vi3BeJapohkE%2BLeMrXzBufulT9CCz8xMKWo%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7d97719d-34aa-4b5b-a183-e672d379ba2e.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A01Z&sr=b&sp=r&sig=jtGNoD9YO6EcylKW%2FJH0%2Fw2YHeLI%2F5jhljGPOVY4ZBA%3D\",\r\n \"Id\": \"45bca3f6-056f-48e9-8f8c-ebcc5b929b55\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "635" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "ed149286dd4e97caaddc55dc9d72430d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:13 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/startMenuApps/9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3N0YXJ0TWVudUFwcHMvOWM2OTRiNmMtNWYyMi00ZDNiLWEyOGMtZGFlOThhNmFiNmMxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/18abd99d-236a-4b01-8d94-0c6e14b7d8d6.png?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=yEFzV1xUpw7EoeM8RGMEO6WcX9EmBWTnSWf4I7JCF98%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu195320276rdcm.blob.core.windows.net/icons/7ea54f0e-8c3c-4015-a368-44957cec0e61.ico?sv=2012-02-12&se=2015-05-04T23%3A52%3A05Z&sr=b&sp=r&sig=TwjOyxRIq3x7JUZ53206mdU%2FL40XbYZaC4pcZxbBqBo%3D\",\r\n \"Id\": \"9c694b6c-5f22-4d3b-a28c-dae98a6ab6c1\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "628" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e14659fd70f59e958308892c7a98c38f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "136197bb86c790a0bdb54d83a2d5cf37" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:23 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": \"ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510\",\r\n \"UserList\": [\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user1@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user2@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user3@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "462" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1805f417ff199633af674262055e6ee3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:31 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": \"ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510\",\r\n \"UserList\": [\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user1@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user2@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"user3@contoso.com \",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "462" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "8d9fd191a1c6983997110132ff733eee" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:35 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj0=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "25c9d5d4b79b95aa85301cc037e5edb4" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:45 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user1@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "c47afdb3e52093668d7be31dfa81f795" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:25 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user2@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "fda0b9064af1947497799158f87040b6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:28 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user3@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "f6b4d0ccf1839159ac8b0721a71df9ef" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:31 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj1hZTFjNjZhNy00MTI2LTQ2YjItOWY5MC1iMGQ4YjM3MWRkNDglM0EwMDAzYmZmZGMzZjhhNTEw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4a89e8fb15a094329565799f8999852b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:33 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/Principals?api-version=2014-09-01&pagingToken=ae1c66a7-4126-46b2-9f90-b0d8b371dd48:0003bffdc3f8a510", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL1ByaW5jaXBhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMSZwYWdpbmdUb2tlbj1hZTFjNjZhNy00MTI2LTQ2YjItOWY5MC1iMGQ4YjM3MWRkNDglM0EwMDAzYmZmZGMzZjhhNTEw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"ContinuationToken\": null,\r\n \"UserList\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "40" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "88ebb7a5793b9e5ba76b705939b2a262" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:37 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user1@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "67e3ffb32f209466a1980c014118a690" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:39 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user2@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "35740d352cea99f7b00b8385fdb0bfd8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:40 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL3NlY3VyaXR5UHJpbmNpcGFscz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"user3@contoso.com \"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4298340cfaaf9b66a9b545ac73065958" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:43 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"c902b11e-9d1d-45eb-82eb-6424f82c784f\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c902b11e-9d1d-45eb-82eb-6424f82c784f\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2f25fa43b98093d9a99be1862fcdf718" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:46 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"f23d48cb-9512-4b27-a89a-990a6e7f068f\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"f23d48cb-9512-4b27-a89a-990a6e7f068f\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "37de324e3bb093638abe3d50a61d4034" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:49 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"fd337514-db28-4bec-b8d7-90843462755b\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"fd337514-db28-4bec-b8d7-90843462755b\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a06b8f0f7b0893a1a67d7ab3a45e568a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:51 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"958f7c37-fc93-4a6b-9659-c18c70e81692\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"958f7c37-fc93-4a6b-9659-c18c70e81692\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "f53f2deb9312976b9fd0334a24dab46d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:52 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uL2FwcGxpY2F0aW9ucz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"4f069c3c-f3a8-40a1-bc3e-d00df57805ae\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "436b9a9762c49c7cb73d3fdd39148401" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:22:55 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/collections/CICollection?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvY29sbGVjdGlvbnMvQ0lDb2xsZWN0aW9uP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "7ff70b85-a66a-408a-a7b6-3d2b947f210e" + ], + "x-remoteapp-operation-tracking-id": [ + "7ff70b85-a66a-408a-a7b6-3d2b947f210e" + ], + "x-ms-request-id": [ + "5dcdac48b48c9f71a72cfc4d52156020" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:23:59 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5fbf3a553cc4966294cd5a89755796dd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:29:01 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "4d880bd681c19e6da59e610d8c5c42c9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:34:04 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "10a818d8f61c995baa0205f4a355c5bb" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:39:06 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1d51b83e712d9935819dc3a5b78ede3a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:44:12 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0eb999375dba9392b7d22f22b1807f07" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:49:14 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e6763bbd194c9f0fae7955b31760d3db" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:54:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "1306d801dbc291329efbafee242cb888" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 04 May 2015 23:59:18 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdst15/operationResults/7ff70b85-a66a-408a-a7b6-3d2b947f210e?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHN0MTUvb3BlcmF0aW9uUmVzdWx0cy83ZmY3MGI4NS1hNjZhLTQwOGEtYTdiNi0zZDJiOTQ3ZjIxMGU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.Azure.Management.RemoteApp.RemoteAppManagementClient/1.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "81" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "21f939fe830a991386d0f93a304e1264" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Tue, 05 May 2015 00:04:20 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "30da001a-1a9e-48a1-8b77-e5abcfe38bdc" + } +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunEnableAndDisableDataCollectionTests.json b/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunEnableAndDisableDataCollectionTests.json new file mode 100644 index 000000000000..01e0e7fda838 --- /dev/null +++ b/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunEnableAndDisableDataCollectionTests.json @@ -0,0 +1,2478 @@ +{ + "Entries": [ + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/locations", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9sb2NhdGlvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Central US\r\n Central US\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A5\r\n A6\r\n A7\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A5\r\n A6\r\n A7\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n \r\n South Central US\r\n South Central US\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n \r\n East US\r\n East US\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n \r\n West US\r\n West US\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n Standard_DS1\r\n Standard_DS11\r\n Standard_DS12\r\n Standard_DS13\r\n Standard_DS14\r\n Standard_DS2\r\n Standard_DS3\r\n Standard_DS4\r\n Standard_G1\r\n Standard_G2\r\n Standard_G3\r\n Standard_G4\r\n Standard_G5\r\n Standard_GS1\r\n Standard_GS2\r\n Standard_GS3\r\n Standard_GS4\r\n Standard_GS5\r\n \r\n \r\n \r\n \r\n Premium_LRS\r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n \r\n East US 2\r\n East US 2\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A5\r\n A6\r\n A7\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A5\r\n A6\r\n A7\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n Standard_DS1\r\n Standard_DS11\r\n Standard_DS12\r\n Standard_DS13\r\n Standard_DS14\r\n Standard_DS2\r\n Standard_DS3\r\n Standard_DS4\r\n Standard_G1\r\n Standard_G2\r\n Standard_G3\r\n Standard_G4\r\n Standard_G5\r\n Standard_GS1\r\n Standard_GS2\r\n Standard_GS3\r\n Standard_GS4\r\n Standard_GS5\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n Premium_LRS\r\n \r\n \r\n \r\n \r\n North Europe\r\n North Europe\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n \r\n West Europe\r\n West Europe\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A10\r\n A11\r\n A5\r\n A6\r\n A7\r\n A8\r\n A9\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n Standard_DS1\r\n Standard_DS11\r\n Standard_DS12\r\n Standard_DS13\r\n Standard_DS14\r\n Standard_DS2\r\n Standard_DS3\r\n Standard_DS4\r\n Standard_G1\r\n Standard_G2\r\n Standard_G3\r\n Standard_G4\r\n Standard_G5\r\n Standard_GS1\r\n Standard_GS2\r\n Standard_GS3\r\n Standard_GS4\r\n Standard_GS5\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n Premium_LRS\r\n \r\n \r\n \r\n \r\n Southeast Asia\r\n Southeast Asia\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A5\r\n A6\r\n A7\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A5\r\n A6\r\n A7\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n Standard_DS1\r\n Standard_DS11\r\n Standard_DS12\r\n Standard_DS13\r\n Standard_DS14\r\n Standard_DS2\r\n Standard_DS3\r\n Standard_DS4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n Premium_LRS\r\n \r\n \r\n \r\n \r\n East Asia\r\n East Asia\r\n \r\n Compute\r\n Storage\r\n PersistentVMRole\r\n HighMemory\r\n \r\n \r\n \r\n A5\r\n A6\r\n A7\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n A5\r\n A6\r\n A7\r\n Basic_A0\r\n Basic_A1\r\n Basic_A2\r\n Basic_A3\r\n Basic_A4\r\n ExtraLarge\r\n ExtraSmall\r\n Large\r\n Medium\r\n Small\r\n Standard_D1\r\n Standard_D11\r\n Standard_D12\r\n Standard_D13\r\n Standard_D14\r\n Standard_D2\r\n Standard_D3\r\n Standard_D4\r\n \r\n \r\n \r\n \r\n Standard_LRS\r\n Standard_ZRS\r\n Standard_GRS\r\n Standard_RAGRS\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "19800" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "71ab1f9989d7050db135973ab5ad418c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:13:59 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/71ab1f9989d7050db135973ab5ad418c", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzcxYWIxZjk5ODlkNzA1MGRiMTM1OTczYWI1YWQ0MThj", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 71ab1f99-89d7-050d-b135-973ab5ad418c\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "d557f9251cde087994b3eed103b32c0b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:00 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk2384\r\n \r\n Central US\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "206" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0a883f826adb0c87a36fa44290e374a8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:03 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk2384" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk940\r\n \r\n South Central US\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "207" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3fd8475d4f8c06cd897131e0170285ce" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:08 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk940" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk3019\r\n \r\n East US\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "203" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "6d92b759a7ec0b989eb07a12cfc37256" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:15 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk3019" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk6356\r\n \r\n West US\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "203" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "cddef3a136e40e6ab27aa02b35287bed" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:18 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk6356" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk1630\r\n \r\n East US 2\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "205" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "7e516525484604d892799df489cd554a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:22 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk1630" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk3615\r\n \r\n North Europe\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "208" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0d8e0995f4a20ab2a6da2fa1d5d55add" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:31 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk3615" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk6186\r\n \r\n West Europe\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "207" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "f7b8d451cc060c22b5cc865b82ad5c23" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:39 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk6186" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk5861\r\n \r\n Southeast Asia\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "210" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "cd67c52bf47e0d3f88e25cefc30525bb" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:47 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk5861" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n onesdk2226\r\n \r\n East Asia\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "205" + ], + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "60a8db29668f045c901d6b3447de9eea" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:55 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/onesdk2226" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/0a883f826adb0c87a36fa44290e374a8", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzBhODgzZjgyNmFkYjBjODdhMzZmYTQ0MjkwZTM3NGE4", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 0a883f82-6adb-0c87-a36f-a44290e374a8\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "623bb1d8abaa07a0ad04b54802c4e211" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:03 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMzg0P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384\r\n onesdk2384\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-04T17:14:02Z\r\n 2015-09-04T17:14:03Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "ce000093c347094abd9ca4e5be7bebcd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:04 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMzg0P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384\r\n onesdk2384\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-04T17:14:02Z\r\n 2015-09-04T17:14:03Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "650473cfcd7f036aace42909221b06b7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:04 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMzg0P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384\r\n onesdk2384\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-04T17:14:02Z\r\n 2015-09-04T17:14:03Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "5948f229afb609f8bea193c8bf357223" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:04 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2384", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMzg0", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "18b26042951c0d01a05aeb0ceb8766c7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:07 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/3fd8475d4f8c06cd897131e0170285ce", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzNmZDg0NzVkNGY4YzA2Y2Q4OTcxMzFlMDE3MDI4NWNl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 3fd8475d-4f8c-06cd-8971-31e0170285ce\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "d1dd79f00e9c0647926a3002c15a1691" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:09 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs5NDA/ZW1iZWQtZGV0YWlsPXRydWU=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940\r\n onesdk940\r\n \r\n \r\n South Central US\r\n \r\n Created\r\n 2015-09-04T17:14:08Z\r\n 2015-09-04T17:14:08Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "dab6c8c279a60d538e494047047a28fa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:10 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs5NDA/ZW1iZWQtZGV0YWlsPXRydWU=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940\r\n onesdk940\r\n \r\n \r\n South Central US\r\n \r\n Created\r\n 2015-09-04T17:14:08Z\r\n 2015-09-04T17:14:08Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "8616ec7aee6b0b0ea6c9a8c979239a76" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:10 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs5NDA/ZW1iZWQtZGV0YWlsPXRydWU=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940\r\n onesdk940\r\n \r\n \r\n South Central US\r\n \r\n Created\r\n 2015-09-04T17:14:08Z\r\n 2015-09-04T17:14:08Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "591" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "bbfcd69cf8b80cf9ab07b96fbb2e7d86" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:11 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk940", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs5NDA=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0057ade11de7069092ecc7d3b2c20db3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:13 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/6d92b759a7ec0b989eb07a12cfc37256", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzZkOTJiNzU5YTdlYzBiOTg5ZWIwN2ExMmNmYzM3MjU2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 6d92b759-a7ec-0b98-9eb0-7a12cfc37256\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "66bc28b9968a0851a35c11c9a8ca4452" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:15 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszMDE5P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019\r\n onesdk3019\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-09-04T17:14:14Z\r\n 2015-09-04T17:14:14Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "bf7c0cd2792f098693b2878e0eb42d25" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:15 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszMDE5P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019\r\n onesdk3019\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-09-04T17:14:14Z\r\n 2015-09-04T17:14:14Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3546d9fbe5d50fada9718afc6d5bcd3d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:16 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszMDE5P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019\r\n onesdk3019\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-09-04T17:14:14Z\r\n 2015-09-04T17:14:14Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "b7829d08df1603c69c28fc4233b3c93b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:16 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3019", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszMDE5", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "49a706d3d27a0137aa1cbd29bc400810" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:17 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/cddef3a136e40e6ab27aa02b35287bed", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2NkZGVmM2ExMzZlNDBlNmFiMjdhYTAyYjM1Mjg3YmVk", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n cddef3a1-36e4-0e6a-b27a-a02b35287bed\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "0220e4084f310f9dbbb2b5db13d0a5ee" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:19 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MzU2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356\r\n onesdk6356\r\n \r\n \r\n West US\r\n \r\n Created\r\n 2015-09-04T17:14:18Z\r\n 2015-09-04T17:14:18Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4c4777b053b502f2af41bb11f688bd0b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:20 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MzU2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356\r\n onesdk6356\r\n \r\n \r\n West US\r\n \r\n Created\r\n 2015-09-04T17:14:18Z\r\n 2015-09-04T17:14:18Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "af2635653db20844bda16bda2ec50b71" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:20 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MzU2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356\r\n onesdk6356\r\n \r\n \r\n West US\r\n \r\n Created\r\n 2015-09-04T17:14:18Z\r\n 2015-09-04T17:14:18Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "588" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "7b6fbc875c4f0684918e7f706e9686f3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:20 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6356", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MzU2", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "cec70998cb570b93863b564e7e2919a5" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:21 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7e516525484604d892799df489cd554a", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdlNTE2NTI1NDg0NjA0ZDg5Mjc5OWRmNDg5Y2Q1NTRh", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 7e516525-4846-04d8-9279-9df489cd554a\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "42db0edcc3e70ab993ced833a9b478d1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:27 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsxNjMwP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630\r\n onesdk1630\r\n \r\n \r\n East US 2\r\n \r\n Created\r\n 2015-09-04T17:14:23Z\r\n 2015-09-04T17:14:24Z\r\n \r\n \r\n ResourceGroup\r\n onesdk1630\r\n \r\n \r\n ResourceLocation\r\n East US 2\r\n \r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "788" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "378042cea1210260ae6dd2c7a5c60c38" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:28 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsxNjMwP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630\r\n onesdk1630\r\n \r\n \r\n East US 2\r\n \r\n Created\r\n 2015-09-04T17:14:23Z\r\n 2015-09-04T17:14:24Z\r\n \r\n \r\n ResourceGroup\r\n onesdk1630\r\n \r\n \r\n ResourceLocation\r\n East US 2\r\n \r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "788" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4e463079a05a009e951e2f937b818a6b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:28 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsxNjMwP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630\r\n onesdk1630\r\n \r\n \r\n East US 2\r\n \r\n Created\r\n 2015-09-04T17:14:23Z\r\n 2015-09-04T17:14:24Z\r\n \r\n \r\n ResourceGroup\r\n onesdk1630\r\n \r\n \r\n ResourceLocation\r\n East US 2\r\n \r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "788" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "be8c62f07e680cf0a8871e1ee4374d73" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:29 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk1630", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsxNjMw", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "ff81ed08755a04669789cd8cb5dbc2af" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:30 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/0d8e0995f4a20ab2a6da2fa1d5d55add", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzBkOGUwOTk1ZjRhMjBhYjJhNmRhMmZhMWQ1ZDU1YWRk", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 0d8e0995-f4a2-0ab2-a6da-2fa1d5d55add\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "f522781abb18048abed01543bb8dc343" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:31 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszNjE1P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615\r\n onesdk3615\r\n \r\n \r\n North Europe\r\n \r\n Created\r\n 2015-09-04T17:14:32Z\r\n 2015-09-04T17:14:31Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "593" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "be459da5e69207e58509f5f61afb331e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:33 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszNjE1P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615\r\n onesdk3615\r\n \r\n \r\n North Europe\r\n \r\n Created\r\n 2015-09-04T17:14:32Z\r\n 2015-09-04T17:14:31Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "593" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "9c93b852aac60ab0a9e2cbde6c3edafb" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:33 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszNjE1P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615\r\n onesdk3615\r\n \r\n \r\n North Europe\r\n \r\n Created\r\n 2015-09-04T17:14:32Z\r\n 2015-09-04T17:14:31Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "593" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "78055f1a493000de9186b85173fe41e3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:33 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk3615", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGszNjE1", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "195dacb65e2c0708bd795f4af4917ca4" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:37 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/f7b8d451cc060c22b5cc865b82ad5c23", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2Y3YjhkNDUxY2MwNjBjMjJiNWNjODY1YjgyYWQ1YzIz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n f7b8d451-cc06-0c22-b5cc-865b82ad5c23\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "ac0f5435614c099582d163c89923bf2e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:40 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MTg2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186\r\n onesdk6186\r\n \r\n \r\n West Europe\r\n \r\n Created\r\n 2015-09-04T17:14:39Z\r\n 2015-09-04T17:14:39Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "592" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0f3339f205270dfd85b4208e4f8ff9e9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:41 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MTg2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186\r\n onesdk6186\r\n \r\n \r\n West Europe\r\n \r\n Created\r\n 2015-09-04T17:14:39Z\r\n 2015-09-04T17:14:39Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "592" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4278fc03c13b0a7cb0b9dbb0a7397568" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:42 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MTg2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186\r\n onesdk6186\r\n \r\n \r\n West Europe\r\n \r\n Created\r\n 2015-09-04T17:14:39Z\r\n 2015-09-04T17:14:42Z\r\n \r\n \r\n ResourceGroup\r\n onesdk6186\r\n \r\n \r\n ResourceLocation\r\n West Europe\r\n \r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "792" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "6d4294038ee3073d93d6a2a247462eb7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:42 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk6186", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs2MTg2", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "09b96ee4e5fa008d806d97c86298dd14" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:44 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/cd67c52bf47e0d3f88e25cefc30525bb", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2NkNjdjNTJiZjQ3ZTBkM2Y4OGUyNWNlZmMzMDUyNWJi", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n cd67c52b-f47e-0d3f-88e2-5cefc30525bb\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "5662cdc4ff090c559bac5195b7639ffa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:48 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs1ODYxP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861\r\n onesdk5861\r\n \r\n \r\n Southeast Asia\r\n \r\n Created\r\n 2015-09-04T17:14:45Z\r\n 2015-09-04T17:14:47Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "595" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "ee735bc8fddb086d9ec5e20371484ef6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:48 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs1ODYxP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861\r\n onesdk5861\r\n \r\n \r\n Southeast Asia\r\n \r\n Created\r\n 2015-09-04T17:14:45Z\r\n 2015-09-04T17:14:47Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "595" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "685aa37f01460c459e0ba4179698bf5b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:50 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs1ODYxP2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861\r\n onesdk5861\r\n \r\n \r\n Southeast Asia\r\n \r\n Created\r\n 2015-09-04T17:14:45Z\r\n 2015-09-04T17:14:47Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "595" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "531570e6c9700a38938650d1cba8277b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:50 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk5861", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGs1ODYx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "ed19094ca2ae0f87a4b86d246b52a957" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:53 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/60a8db29668f045c901d6b3447de9eea", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzYwYThkYjI5NjY4ZjA0NWM5MDFkNmIzNDQ3ZGU5ZWVh", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 60a8db29-668f-045c-901d-6b3447de9eea\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "43038c4e61080115a1a3c4f016f45653" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:54 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMjI2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226\r\n onesdk2226\r\n \r\n \r\n East Asia\r\n \r\n Created\r\n 2015-09-04T17:14:54Z\r\n 2015-09-04T17:14:54Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "590" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "9d4c50b76a260962b5a53f278909511e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:55 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMjI2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226\r\n onesdk2226\r\n \r\n \r\n East Asia\r\n \r\n Created\r\n 2015-09-04T17:14:54Z\r\n 2015-09-04T17:14:54Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "590" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "442b1c56924c06bdb37770f12b4e8e39" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:56 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMjI2P2VtYmVkLWRldGFpbD10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226\r\n onesdk2226\r\n \r\n \r\n East Asia\r\n \r\n Created\r\n 2015-09-04T17:14:54Z\r\n 2015-09-04T17:14:54Z\r\n \r\n \r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "590" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0e40f5e4002b0559a1b9229f8bb5b892" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:56 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/onesdk2226", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vbmVzZGsyMjI2", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3427043c709a076887e90bd92893c916" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 04 Sep 2015 17:14:57 GMT" + ], + "Server": [ + "1.0.6198.260", + "(rd_rdfe_stable.150831-1512)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + } + ], + "Names": { + "": [ + "onesdk2384", + "onesdk940", + "onesdk3019", + "onesdk6356", + "onesdk1630", + "onesdk3615", + "onesdk6186", + "onesdk5861", + "onesdk2226" + ] + }, + "Variables": { + "SubscriptionId": "4d368445-cbb1-42a7-97a6-6850ab99f48e" + } +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj b/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj index 17a57466968c..b9dd9c46ce90 100644 --- a/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj +++ b/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj @@ -142,7 +142,6 @@ - @@ -159,10 +158,6 @@ {5ee72c53-1720-4309-b54b-5fb79703195f} Commands.Common - - {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} - Commands.ResourceManager.Common - diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Assert.ps1 b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Assert.ps1 new file mode 100644 index 000000000000..ae4a0c1b6553 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Assert.ps1 @@ -0,0 +1,383 @@ +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +###################### +# +# Validate that the given code block throws the given exception +# +# param [ScriptBlock] $script : The code to test +# param [string] $message : The text of the exception that should be thrown +####################### +function Assert-Throws +{ + param([ScriptBlock] $script, [string] $message) + try + { + &$script + } + catch + { + if ($message -ne "") + { + $actualMessage = $_.Exception.Message + Write-Output ("Caught exception: '$actualMessage'") + + if ($actualMessage -eq $message) + { + return $true; + } + else + { + throw "Expected exception not received: '$message' the actual message is '$actualMessage'"; + } + } + else + { + return $true; + } + } + + throw "No exception occured"; +} + +###################### +# +# Validate that the given code block throws the given exception +# +# param [ScriptBlock] $script : The code to test +# param [ScriptBlock] $compare : Predicate used to determine if the message meets criteria +####################### +function Assert-ThrowsContains +{ + param([ScriptBlock] $script, [string] $compare) + try + { + &$script + } + catch + { + if ($message -ne "") + { + $actualMessage = $_.Exception.Message + Write-Output ("Caught exception: '$actualMessage'") + if ($actualMessage.Contains($compare)) + { + return $true; + } + else + { + throw "Expected exception does not contain expected text '$compare', the actual message is '$actualMessage'"; + } + } + else + { + return $true; + } + } + + throw "No exception occured"; +} + +###################### +# +# Validate that the given code block throws the given exception +# +# param [ScriptBlock] $script : The code to test +# param [ScriptBlock] $compare: Predicate used to determine if the message meets the criteria (-like) +####################### +function Assert-ThrowsLike +{ + param([ScriptBlock] $script, [string] $compare) + try + { + &$script + } + catch + { + if ($message -ne "") + { + $actualMessage = $_.Exception.Message + Write-Output ("Caught exception: '$actualMessage'") + if ($actualMessage -like $compare) + { + return $true; + } + else + { + throw "Expected exception is not like the expected text '$compare', the actual message is '$actualMessage'"; + } + } + else + { + return $true; + } + } + + throw "No exception occured"; +} + +<# +.SYNOPSIS +Given a list of variable names, assert that all of them are defined +#> +function Assert-Env +{ + param([string[]] $vars) + $tmp = Get-Item env: + $env = @{} + $tmp | % { $env.Add($_.Key, $_.Value)} + $vars | % { Assert-True {$env.ContainsKey($_)} "Environment Variable $_ Is Required. Please set the value before runnign the test"} +} + +################### +# +# Verify that the given scriptblock returns true +# +# param [ScriptBlock] $script : The script to execute +# param [string] $message : The message to return if the given script does not return true +#################### +function Assert-True +{ + param([ScriptBlock] $script, [string] $message) + + if (!$message) + { + $message = "Assertion failed: " + $script + } + + $result = &$script + if (-not $result) + { + Write-Debug "Failure: $message" + throw $message + } + + return $true +} + +################### +# +# Verify that the given scriptblock returns false +# +# param [ScriptBlock] $script : The script to execute +# param [string] $message : The message to return if the given script does not return false +#################### +function Assert-False +{ + param([ScriptBlock] $script, [string] $message) + + if (!$message) + { + $message = "Assertion failed: " + $script + } + + $result = &$script + if ($result) + { + throw $message + } + + return $true +} + +################### +# +# Verify that the given scriptblock returns false +# +# param [ScriptBlock] $script : The script to execute +# param [string] $message : The message to return if the given script does not return false +#################### +function Assert-False +{ + param([ScriptBlock] $script, [string] $message) + + if (!$message) + { + $message = "Assertion failed: " + $script + } + + $result = &$script + if ($result) + { + throw $message + } + + return $true +} + +################### +# +# Verify that the given scriptblock does not return null +# +# param [object] $actual : The actual object +# param [string] $message : The message to return if the given script does not return true +#################### +function Assert-NotNull +{ + param([object] $actual, [string] $message) + + if (!$message) + { + $message = "Assertion failed because the object is null: " + $actual + } + + if ($actual -eq $null) + { + throw $message + } + + return $true +} + +###################### +# +# Assert that the given file exists +# +# param [string] $path : The path to the file to test +# param [string] $message: The text of the exception to throw if the file doesn't exist +###################### +function Assert-Exists +{ + param([string] $path, [string] $message) + return Assert-True {Test-Path $path} $message +} + +################### +# +# Verify that two given objects are equal +# +# param [object] $expected : The expected object +# param [object] $actual : The actual object +# param [string] $message : The message to return if the given objects are not equal +#################### +function Assert-AreEqual +{ + param([object] $expected, [object] $actual, [string] $message) + + if (!$message) + { + $message = "Assertion failed because expected '$expected' does not match actual '$actual'" + } + + if ($expected -ne $actual) + { + throw $message + } + + return $true +} + +################### +# +# Verify that two given arrays are equal +# +# param [array] $expected : The expected array +# param [array] $actual : The actual array +# param [string] $message : The message to return if the given arrays are not equal. +#################### +function Assert-AreEqualArray +{ + param([object] $expected, [object] $actual, [string] $message) + + if (!$message) + { + $message = "Assertion failed because expected '$expected' does not match actual '$actual'" + } + + $diff = Compare-Object $expected $actual -PassThru + + if ($diff -ne $null) + { + throw $message + } + + return $true +} + +################### +# +# Verify that two given objects have equal properties +# +# param [object] $expected : The expected object +# param [object] $actual : The actual object +# param [string] $message : The message to return if the given objects are not equal. +#################### +function Assert-AreEqualObjectProperties +{ + param([object] $expected, [object] $actual, [string] $message) + + $properties = $expected | Get-Member -MemberType "Property" | Select -ExpandProperty Name + $diff = Compare-Object $expected $actual -Property $properties + + if ($diff -ne $null) + { + if (!$message) + { + $message = "Assert failed because the objects don't match. Expected: " + $diff[0] + " Actual: " + $diff[1] + } + + throw $message + } + + return $true +} + +################### +# +# Verify that the given value is null +# +# param [object] $actual : The actual object +# param [string] $message : The message to return if the given object is not null +#################### +function Assert-Null +{ + param([object] $actual, [string] $message) + + if (!$message) + { + $message = "Assertion failed because the object is not null: " + $actual + } + + if ($actual -ne $null) + { + throw $message + } + + return $true +} + +################### +# +# Verify that two given objects are not equal +# +# param [object] $expected : The expected object +# param [object] $actual : The actual object +# param [string] $message : The message to return if the given objects are equal +#################### +function Assert-AreNotEqual +{ + param([object] $expected, [object] $actual, [string] $message) + + if (!$message) + { + $message = "Assertion failed because expected '$expected' does match actual '$actual'" + } + + if ($expected -eq $actual) + { + throw $message + } + + return $true +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj new file mode 100644 index 000000000000..6924e0d86e0b --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj @@ -0,0 +1,196 @@ + + + + + + Debug + AnyCPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95} + Library + Properties + Microsoft.Azure.Commands.ScenarioTest + Microsoft.Azure.Commands.ScenarioTest.Common + v4.5 + 512 + ..\..\ + true + 3c43a8cf + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE;SIGN + true + MSSharedLibKey.snk + true + true + false + true + pdbonly + + + + ..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll + + + ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll + + + False + ..\..\packages\Microsoft.Azure.Common.Authentication.1.1.4-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + + + ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + + False + ..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll + + + ..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + + + ..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + + False + ..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + + + False + ..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + + + ..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.0.9.3\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + True + + + False + ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll + + + False + ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll + True + + + ..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + + + ..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll + + + False + ..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + + + ..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + True + + + + + False + C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0\System.Management.Automation.dll + + + + + False + ..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Extensions.dll + + + False + ..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Primitives.dll + + + + + + + + + ..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True + + + + + Profile\ProfileClient.cs + + + Profile\PSAzureAccount.cs + + + Profile\PublishSettingsImporter.cs + + + + + + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Common.ps1 b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Common.ps1 new file mode 100644 index 000000000000..8b46ac170973 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Common.ps1 @@ -0,0 +1,546 @@ +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +$excludedExtensions = @(".dll", ".zip", ".msi", ".exe") +################################### +# +# Retrievce the contents of a powershrell transcript, stripping headers and footers +# +# param [string] $path: The path to the transript file to read +################################### +function Get-Transcript +{ + param([string] $path) + return Get-Content $path | + Select-String -InputObject {$_} -Pattern "^Start Time\s*:.*" -NotMatch | + Select-String -InputObject {$_} -Pattern "^End Time\s*:.*" -NotMatch | + Select-String -InputObject {$_} -Pattern "^Machine\s*:.*" -NotMatch | + Select-String -InputObject {$_} -Pattern "^Username\s*:.*" -NotMatch | + Select-String -InputObject {$_} -Pattern "^Transcript started, output file is.*" -NotMatch +} + +######################## +# +# Get a random file name in the current directory +# +# param [string] $rootPath: The path of the directory to contain the random file (optional) +######################## +function Get-LogFile +{ + param([string] $rootPath = ".") + return [System.IO.Path]::Combine($rootPath, ([System.IO.Path]::GetRandomFileName())) +} + +################# +# +# Execute a test, no exception thrown means the test passes. Can also be used to compare test +# output to a baseline file, or to generate a baseline file +# +# param [scriptblock] $test: The test code to run +# param [string] $testScript: The path to the baseline file (optional) +# param [switch] $generate: Set if the baseline file should be generated, otherwise +# the baseline file would be used for comparison with test output +################## +function Run-Test +{ + param([scriptblock]$test, [string] $testName = $null, [string] $testScript = $null, [switch] $generate = $false) + Test-Setup + $transFile = $testName + ".log" + if ($testName -eq $null) + { + $transFile = Get-LogFile "." + } + if($testScript) + { + if ($generate) + { + Write-Log "[run-test]: generating script file $testScript" + $transFile = $testScript + } + else + { + Write-Log "[run-test]: writing output to $transFile, using validation script $testScript" + } + } + else + { + Write-Log "[run-test]: Running test without file comparison" + } + + $oldPref = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + #Start-Transcript -Path $transFile + $success = $false; + $ErrorActionPreference = $oldPref + try + { + &$test + $success = $true; + } + finally + { + Test-Cleanup + $oldPref = $ErrorActionPreference + $ErrorActionPreference = "SilentlyContinue" + #Stop-Transcript + $ErrorActionPreference = $oldPref + if ($testScript) + { + if ($success -and -not $generate) + { + $result = Compare-Object (Get-Transcript $testScript) (Get-Transcript $transFile) + if ($result -ne $null) + { + throw "[run-test]: Test Failed " + (Out-String -InputObject $result) + ", Transcript at $transFile" + } + + } + } + + if ($success) + { + Write-Log "[run-test]: Test Passed" + } + } + +} + +################## +# +# Format a string for proper output to host and transcript +# +# param [string] $message: The text to write +################## +function Write-Log +{ + [CmdletBinding()] + param( [Object] [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$false)] $obj = "") + PROCESS + { + $obj | Out-String | Write-Verbose + } +} + +function Check-SubscriptionMatch +{ + param([string] $baseSubscriptionName, [Microsoft.WindowsAzure.Commands.Utilities.Common.SubscriptionData] $checkedSubscription) + Write-Log ("[CheckSubscriptionMatch]: base subscription: '$baseSubscriptionName', validating '" + ($checkedSubscription.SubscriptionName)+ "'") + Format-Subscription $checkedSubscription | Write-Log + if ($baseSubscriptionName -ne $checkedSubscription.SubscriptionName) + { + throw ("[Check-SubscriptionMatch]: Subscription Match Failed '" + ($baseSubscriptionName) + "' != '" + ($checkedSubscription.SubscriptionName) + "'") + } + + Write-Log ("CheckSubscriptionMatch]: subscription check succeeded.") +} + + +########################## +# +# Return the fully qualified filename of a given file +# +# param [string] $path: The relative path to the file +# +########################## +function Get-FullName +{ + param([string] $path) + $pathObj = Get-Item $path + return ($pathObj.FullName) +} + +############################# +# +# PowerShell environment setup for running a test, save previous snvironment settings and +# enable verbose, debug, and warning streams +# +############################# +function Test-Setup +{ + $global:oldConfirmPreference = $global:ConfirmPreference + $global:oldDebugPreference = $global:DebugPreference + $global:oldErrorActionPreference = $global:ErrorActionPreference + $global:oldFormatEnumerationLimit = $global:FormatEnumerationLimit + $global:oldProgressPreference = $global:ProgressPreference + $global:oldVerbosePreference = $global:VerbosePreference + $global:oldWarningPreference = $global:WarningPreference + $global:oldWhatIfPreference = $global:WhatIfPreference + $global:ConfirmPreference = "None" + $global:DebugPreference = "Continue" + $global:ErrorActionPreference = "Stop" + $global:FormatEnumerationLimit = 10000 + $global:ProgressPreference = "SilentlyContinue" + $global:VerbosePreference = "Continue" + $global:WarningPreference = "Continue" + $global:WhatIfPreference = 0 +} + +############################# +# +# PowerShell environment cleanup for running a test, restore previous snvironment settings +# +############################# +function Test-Cleanup +{ + $global:ConfirmPreference = $global:oldConfirmPreference + $global:DebugPreference = $global:oldDebugPreference + $global:ErrorActionPreference = $global:oldErrorActionPreference + $global:FormatEnumerationLimit = $global:oldFormatEnumerationLimit + $global:ProgressPreference = $global:oldProgressPreference + $global:VerbosePreference = $global:oldVerbosePreference + $global:WarningPreference = $global:oldWarningPreference + $global:WhatIfPreference = $global:oldWhatIfPreference +} + +####################### +# +# Dump the contents of a directory to the output stream +# +# param [string] $rootPath: The path to the directory +# param [switch] $resurse : True if we should recurse directories +###################### +function Dump-Contents +{ + param([string] $rootPath = ".", [switch] $recurse = $false) + if (-not ((Test-Path $rootPath) -eq $true)) + { + throw "[dump-contents]: $rootPath does not exist" + } + + foreach ($item in Get-ChildItem $rootPath) + { + Write-Log + Write-Log "---------------------------" + Write-Log $item.Name + Write-Log "---------------------------" + Write-Log + if (!$item.PSIsContainer) + { + if (Test-BinaryFile $item) + { + Write-Log "---- binary data excluded ----" + } + else + { + Get-Content ($item.PSPath) + } + } + elseif ($recurse) + { + Dump-Contents ($item.PSPath) -recurse + } + } +} + +function Test-BinaryFile +{ + param ([System.IO.FileInfo] $file) + ($excludedExtensions | Where-Object -FilterScript {$_ -eq $file.Extension}) -ne $null +} + + +<# +.SYNOPSIS +Removes all current subscriptions. +#> +function Remove-AllSubscriptions +{ + Get-AzureSubscription | Remove-AzureSubscription -Force +} + +<# +.SYNOPSIS +Waits on the specified job with the given timeout. + +.PARAMETER scriptBlock +The script block to execute. + +.PARAMETER timeout +The maximum timeout for the script. +#> +function Wait-Function +{ + param([ScriptBlock] $scriptBlock, [object] $breakCondition, [int] $timeout) + + if ($timeout -eq 0) { $timeout = 60 * 5 } + $start = [DateTime]::Now + $current = [DateTime]::Now + $diff = $current - $start + + do + { + Start-Sleep -s 5 + $current = [DateTime]::Now + $diff = $current - $start + $result = &$scriptBlock + } + while(($result -ne $breakCondition) -and ($diff.TotalSeconds -lt $timeout)) + + if ($diff.TotalSeconds -ge $timeout) + { + Write-Warning "The script block '$scriptBlock' exceeded the timeout." + # End the processing so the test does not blow up + exit + } +} + + +<# +.SYNOPSIS +Waits for specified duration if not-mocked, otherwise skips wait. + +.PARAMETER timeout +Timeout in seconds +#> +function Wait-Seconds +{ + param([int] $timeout) + + [Microsoft.Azure.Test.TestUtilities]::Wait($timeout * 1000) +} + + +<# +.SYNOPSIS +Retires the specified job the given numer of times, waiting the given interval between tries + +.PARAMETER scriptBlock +The script block to execute. Must be a predicate (return true or false) + +.PARAMETER argument +Argument to pass to the script block + +.PARAMETER maxTries +The maximum number of times to retry + +.PARAMETER interval +The number of seconds to wait before retrying +#> +function Retry-Function +{ + param([ScriptBlock] $scriptBlock, [Object] $argument, [int] $maxTries, [int] $interval) + + if ($interval -eq 0) { $interval = 60 } + + $result = Invoke-Command -ScriptBlock $scriptBlock -ArgumentList $argument; + $tries = 1; + while(( $result -ne $true) -and ($tries -le $maxTries)) + { + Start-Sleep -s $interval + $result = Invoke-Command -ScriptBlock $scriptBlock -ArgumentList $argument; + $tries++; + } + + return $result; +} + +function getAssetName +{ + $stack = Get-PSCallStack + $testName = getTestName + + $assetName = [Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::GetAssetName($testName, "onesdk") + + return $assetName +} + +<# +.SYNOPSIS +Gets the name of the test +#> +function getTestName +{ + $stack = Get-PSCallStack + $testName = $null + foreach ($frame in $stack) + { + if ($frame.Command.StartsWith("Test-", "CurrentCultureIgnoreCase")) + { + $testName = $frame.Command + } + } + + return $testName +} + +<# +.SYNOPSIS +Gets a variable setting from the recorded mock for a test + +.PARAMETER variableName +The name of the variable +#> +function getVariable +{ + param([string]$variableName) + $testName = getTestName + $result = $null + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Variables.ContainsKey($variableName)) + { + $result = [Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Variables[$variableName] + } + + return $result +} + +<# +.SYNOPSIS +Gets the subscription ID from the recorded mock for a test + +#> +function getSubscription +{ + return $(getVariable "SubscriptionId") +} + +<# +.SYNOPSIS +Gets the test mock execution mode (Playback, None, Record) + +#> +function getTestMode +{ + return $([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode) +} + +<# +.SYNOPSIS +Creates a PSCredential from a given useranme and clear text password + +.PARAMETER username +The user name +.PARAMETER password +The corresponding password in clear text +#> +function createTestCredential +{ + param([string]$username, [string]$password) + $secPasswd = ConvertTo-SecureString $password -AsPlainText -Force + return $(New-Object System.Management.Automation.PSCredential ($username, $secPasswd)) +} + +<# +.SYNOPSIS +Creates a PSCredential from a given connection string + +.PARAMETER connectionString +The connection string containing username and password information +#> +function getTestCredentialFromString +{ + param([string] $connectionString) + $parsedString = [Microsoft.Azure.Test.TestUtilities]::ParseConnectionString($connectionString) + if (-not ($parsedString.ContainsKey([Microsoft.Azure.Test.TestEnvironment]::UserIdKey) -or ((-not ($parsedString.ContainsKey([Microsoft.Azure.Test.TestEnvironment]::AADPasswordKey)))))) + { + throw "The connection string '$connectionString' must have a valid value, including username and password " +` + "in the following format: SubscriptionId=;UserName=;Password=" + } + return $(createTestCredential $parsedString[[Microsoft.Azure.Test.TestEnvironment]::UserIdKey] $parsedString[[Microsoft.Azure.Test.TestEnvironment]::AADPasswordKey]) +} + +<# +.SYNOPSIS +Gets a Subscription from a given connection string + +.PARAMETER connectionString +The connection string containing subscription information +#> +function getSubscriptionFromString +{ + param([string] $connectionString) + $parsedString = [Microsoft.Azure.Test.TestUtilities]::ParseConnectionString($connectionString) + if (-not ($parsedString.ContainsKey([Microsoft.Azure.Test.TestEnvironment]::SubscriptionIdKey))) + { + throw "The connection string '$connectionString' must have a valid value, including subscription " +` + "in the following format: SubscriptionId=;UserName=;Password=" + } + return $($parsedString[[Microsoft.Azure.Test.TestEnvironment]::SubscriptionIdKey]) +} +<# +.SYNOPSIS +Creates a PSCredential from the given test environment, using the environemnt variables for this process + +.PARAMETER testEnvironment +The test environment : either RDFE or CSM +#> +function getCredentialFromEnvironment +{ + param([string]$testEnvironment) + $credential = $null + $testMode = getTestMode + if ($testMode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecordMode]::Playback) + { + $environmentVariable = $null; + if ([System.string]::Equals($testEnvironment, "rdfe", [System.StringComparison]::OrdinalIgnoreCase)) + { + $environmentVariable = [Microsoft.Azure.Test.RDFETestEnvironmentFactory]::TestOrgIdAuthenticationKey + } + else + { + $environmentVariable = [Microsoft.Azure.Test.CSMTestEnvironmentFactory]::TestCSMOrgIdConnectionStringKey + } + + $environmentValue = [System.Environment]::GetEnvironmentVariable($environmentVariable) + if ([System.string]::IsNullOrEmpty($environmentValue)) + { + throw "The environment variable '$environmentVariable' must have a valid value, including username and password " +` + "in the following format: $environmentVariable=SubscriptionId=;UserName=;Password=" + } + + $credential = $(getTestCredentialFromString $environmentValue) + } + + return $credential +} + +<# +.SYNOPSIS +Creates a PSCredential from the given test environment, using the environemnt variables for this process + +.PARAMETER testEnvironment +The test environment : either RDFE or CSM +#> +function getSubscriptionFromEnvironment +{ + param([string]$testEnvironment) + $subscription = $null + $testMode = getTestMode + if ($testMode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecordMode]::Playback) + { + $environmentVariable = $null; + if ([System.string]::Equals($testEnvironment, "rdfe", [System.StringComparison]::OrdinalIgnoreCase)) + { + $environmentVariable = [Microsoft.Azure.Test.RDFETestEnvironmentFactory]::TestOrgIdAuthenticationKey + } + else + { + $environmentVariable = [Microsoft.Azure.Test.CSMTestEnvironmentFactory]::TestCSMOrgIdConnectionStringKey + } + + $environmentValue = [System.Environment]::GetEnvironmentVariable($environmentVariable) + if ([System.string]::IsNullOrEmpty($environmentValue)) + { + throw "The environment variable '$environmentVariable' must have a valid value, including subscription id" +` + "in the following format: $environmentVariable=SubscriptionId=;UserName=;Password=" + } + + $subscription = $(getSubscriptionFromString $environmentValue) + } + else + { + $subscription = $(getSubscription) + } + + return $subscription +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Constants.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Constants.cs new file mode 100644 index 000000000000..c088a5021872 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Constants.cs @@ -0,0 +1,91 @@ + +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public class Category + { + // Service + public const string Service = "Service"; + + public const string All = "All"; + + public const string Automation = "Automation"; + + public const string ServiceBus = "ServiceBus"; + + public const string CloudService = "CloudService"; + + public const string Management = "Management"; + + public const string MediaServices = "MediaServices"; + + public const string Websites = "Websites"; + + public const string Storage = "Storage"; + + public const string Store = "Store"; + + public const string Sql = "Sql"; + + public const string ServiceManagement = "ServiceManagement"; + + public const string Resources = "Resources"; + + public const string Tags = "Tags"; + + public const string TrafficManager = "TrafficManager"; + + public const string ManagedCache = "ManagedCache"; + + public const string Scheduler = "Scheduler"; + + public const string KeyVault = "KeyVault"; + + public const string Network = "Network"; + + // Owners + public const string OneSDK = "OneSDK"; + + // Acceptance type + public const string AcceptanceType = "AcceptanceType"; + + public const string CIT = "CIT"; + + public const string BVT = "BVT"; + + public const string CheckIn = "CheckIn"; + + // Run Type + public const string RunType = "RunType"; + public const string LiveOnly = "LiveOnly"; + //Uncomment when we need to tag on only run under mock + //public const string MockedOnly = "MockedOnly"; + + // Environment + public const string Environment = "Environment"; + + public const string WAPack = "WAPack"; + } + + public class Variables + { + public const string SubscriptionId = "SubscriptionId"; + + public const string Username = "Username"; + + public const string Tenantd = "Tenantd"; + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs new file mode 100644 index 000000000000..aa39bc9b9728 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs @@ -0,0 +1,326 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Test; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Management.Automation; +using System.Security.Cryptography.X509Certificates; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public class EnvironmentSetupHelper + { + private static string testEnvironmentName = "__test-environment"; + + private static string testSubscriptionName = "__test-subscriptions"; + + private AzureSubscription testSubscription; + + private AzureAccount testAccount; + + private const string PackageDirectoryFromCommon = @"..\..\..\..\Package\Debug"; + private const string PackageDirectory = @"..\..\..\..\..\Package\Debug"; + + protected List modules; + + protected ProfileClient ProfileClient { get; set; } + + public EnvironmentSetupHelper() + { + var datastore = new MemoryDataStore(); + AzureSession.DataStore = datastore; + var profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + var rmprofile = new AzureRMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + rmprofile.Environments.Add("foo", AzureEnvironment.PublicEnvironments.Values.FirstOrDefault()); + rmprofile.DefaultContext = new AzureContext(new AzureSubscription(), new AzureAccount(), rmprofile.Environments["foo"], new AzureTenant()); + rmprofile.DefaultContext.Subscription.Environment = "foo"; + AzureRMCmdlet.DefaultProfile = rmprofile; + AzureSession.DataStore = datastore; + ProfileClient = new ProfileClient(profile); + + // Ignore SSL errors + System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => true; + + // Set RunningMocked + if (HttpMockServer.GetCurrentMode() == HttpRecorderMode.Playback) + { + TestMockSupport.RunningMocked = true; + } + else + { + TestMockSupport.RunningMocked = false; + } + } + + /// + /// Loads DummyManagementClientHelper with clients and throws exception if any client is missing. + /// + /// + public void SetupManagementClients(params object[] initializedManagementClients) + { + AzureSession.ClientFactory = new MockClientFactory(initializedManagementClients); + } + + /// + /// Loads DummyManagementClientHelper with clients and sets it up to create missing clients dynamically. + /// + /// + public void SetupSomeOfManagementClients(params object[] initializedManagementClients) + { + AzureSession.ClientFactory = new MockClientFactory(initializedManagementClients, false); + } + + public void SetupEnvironment(AzureModule mode) + { + SetupAzureEnvironmentFromEnvironmentVariables(mode); + + ProfileClient.Profile.Save(); + } + + private void SetupAzureEnvironmentFromEnvironmentVariables(AzureModule mode) + { + TestEnvironment rdfeEnvironment = new RDFETestEnvironmentFactory().GetTestEnvironment(); + TestEnvironment csmEnvironment = new CSMTestEnvironmentFactory().GetTestEnvironment(); + TestEnvironment currentEnvironment = (mode == AzureModule.AzureResourceManager ? csmEnvironment : rdfeEnvironment); + + if (currentEnvironment.UserName == null) + { + currentEnvironment.UserName = "fakeuser@microsoft.com"; + } + + SetAuthenticationFactory(mode, rdfeEnvironment, csmEnvironment); + + AzureEnvironment environment = new AzureEnvironment { Name = testEnvironmentName }; + + Debug.Assert(currentEnvironment != null); + environment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory] = currentEnvironment.Endpoints.AADAuthUri.AbsoluteUri; + environment.Endpoints[AzureEnvironment.Endpoint.Gallery] = currentEnvironment.Endpoints.GalleryUri.AbsoluteUri; + + if (csmEnvironment != null) + { + environment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = csmEnvironment.BaseUri.AbsoluteUri; + } + + if (rdfeEnvironment != null) + { + environment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = rdfeEnvironment.BaseUri.AbsoluteUri; + } + + if (!ProfileClient.Profile.Environments.ContainsKey(testEnvironmentName)) + { + ProfileClient.AddOrSetEnvironment(environment); + } + + if (currentEnvironment.SubscriptionId != null) + { + testSubscription = new AzureSubscription() + { + Id = new Guid(currentEnvironment.SubscriptionId), + Name = testSubscriptionName, + Environment = testEnvironmentName, + Account = currentEnvironment.UserName, + Properties = new Dictionary + { + {AzureSubscription.Property.Default, "True"}, + { + AzureSubscription.Property.StorageAccount, + Environment.GetEnvironmentVariable("AZURE_STORAGE_ACCOUNT") + }, + } + }; + + testAccount = new AzureAccount() + { + Id = currentEnvironment.UserName, + Type = AzureAccount.AccountType.User, + Properties = new Dictionary + { + {AzureAccount.Property.Subscriptions, currentEnvironment.SubscriptionId}, + } + }; + + ProfileClient.Profile.Subscriptions[testSubscription.Id] = testSubscription; + ProfileClient.Profile.Accounts[testAccount.Id] = testAccount; + ProfileClient.SetSubscriptionAsDefault(testSubscription.Name, testSubscription.Account); + } + } + + private void SetAuthenticationFactory(AzureModule mode, TestEnvironment rdfeEnvironment, TestEnvironment csmEnvironment) + { + string jwtToken = null; + X509Certificate2 certificate = null; + TestEnvironment currentEnvironment = (mode == AzureModule.AzureResourceManager ? csmEnvironment : rdfeEnvironment); + + if (mode == AzureModule.AzureServiceManagement) + { + if (rdfeEnvironment.Credentials is TokenCloudCredentials) + { + jwtToken = ((TokenCloudCredentials)rdfeEnvironment.Credentials).Token; + } + if (rdfeEnvironment.Credentials is CertificateCloudCredentials) + { + certificate = ((CertificateCloudCredentials)rdfeEnvironment.Credentials).ManagementCertificate; + } + } + else + { + if (csmEnvironment.Credentials is TokenCloudCredentials) + { + jwtToken = ((TokenCloudCredentials)csmEnvironment.Credentials).Token; + } + if (csmEnvironment.Credentials is CertificateCloudCredentials) + { + certificate = ((CertificateCloudCredentials)csmEnvironment.Credentials).ManagementCertificate; + } + } + + + if (jwtToken != null) + { + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(currentEnvironment.UserName, + jwtToken); + } + else if (certificate != null) + { + AzureSession.AuthenticationFactory = new MockCertificateAuthenticationFactory(currentEnvironment.UserName, + certificate); + } + } + + public void SetupModules(AzureModule mode, params string[] modules) + { + this.modules = new List(); + if (mode == AzureModule.AzureProfile) + { + this.modules.Add(Path.Combine(PackageDirectory, @"ServiceManagement\Azure\Azure.psd1")); + this.modules.Add(Path.Combine(PackageDirectory, @"ResourceManager\AzureResourceManager\AzureResourceManager.psd1")); + } + else if (mode == AzureModule.AzureServiceManagement) + { + this.modules.Add(Path.Combine(PackageDirectory, @"ServiceManagement\Azure\Azure.psd1")); + } + else if (mode == AzureModule.AzureResourceManager) + { + this.modules.Add(Path.Combine(PackageDirectory, @"ResourceManager\AzureResourceManager\AzureResourceManager.psd1")); + } + else + { + throw new ArgumentException("Unknown command type for testing"); + } + this.modules.Add("Assert.ps1"); + this.modules.Add("Common.ps1"); + this.modules.AddRange(modules); + } + + public void SetupModulesFromCommon(AzureModule mode, params string[] modules) + { + this.modules = new List(); + if (mode == AzureModule.AzureProfile) + { + this.modules.Add(Path.Combine(PackageDirectoryFromCommon, @"ServiceManagement\Azure\Azure.psd1")); + this.modules.Add(Path.Combine(PackageDirectoryFromCommon, @"ResourceManager\AzureResourceManager\AzureResourceManager.psd1")); + } + else if (mode == AzureModule.AzureServiceManagement) + { + this.modules.Add(Path.Combine(PackageDirectoryFromCommon, @"ServiceManagement\Azure\Azure.psd1")); + } + else if (mode == AzureModule.AzureResourceManager) + { + this.modules.Add(Path.Combine(PackageDirectoryFromCommon, @"ResourceManager\AzureResourceManager\AzureResourceManager.psd1")); + } + else + { + throw new ArgumentException("Unknown command type for testing"); + } + this.modules.Add("Assert.ps1"); + this.modules.Add("Common.ps1"); + this.modules.AddRange(modules); + } + + public void SetupModules(params string[] modules) + { + this.modules = new List(); + this.modules.Add("Assert.ps1"); + this.modules.Add("Common.ps1"); + this.modules.AddRange(modules); + } + + public virtual Collection RunPowerShellTest(params string[] scripts) + { + using (var powershell = System.Management.Automation.PowerShell.Create()) + { + SetupPowerShellModules(powershell); + + Collection output = null; + for (int i = 0; i < scripts.Length; ++i) + { + Console.WriteLine(scripts[i]); + powershell.AddScript(scripts[i]); + } + try + { + powershell.Runspace.Events.Subscribers.Clear(); + output = powershell.Invoke(); + + if (powershell.Streams.Error.Count > 0) + { + throw new RuntimeException( + "Test failed due to a non-empty error stream, check the error stream in the test log for more details."); + } + + return output; + } + catch (Exception psException) + { + powershell.LogPowerShellException(psException); + throw; + } + finally + { + powershell.LogPowerShellResults(output); + powershell.Streams.Error.Clear(); + } + } + } + + private void SetupPowerShellModules(System.Management.Automation.PowerShell powershell) + { + powershell.AddScript(string.Format("cd \"{0}\"", Environment.CurrentDirectory)); + + foreach (string moduleName in modules) + { + powershell.AddScript(string.Format("Import-Module \".\\{0}\"", moduleName)); + } + + powershell.AddScript("$VerbosePreference='Continue'"); + powershell.AddScript("$DebugPreference='Continue'"); + powershell.AddScript("$ErrorActionPreference='Stop'"); + powershell.AddScript("Write-Debug \"AZURE_TEST_MODE = $($env:AZURE_TEST_MODE)\""); + powershell.AddScript("Write-Debug \"TEST_HTTPMOCK_OUTPUT = $($env:TEST_HTTPMOCK_OUTPUT)\""); + } + + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/MSSharedLibKey.snk b/src/Common/Commands.ScenarioTests.ResourceManager.Common/MSSharedLibKey.snk new file mode 100644 index 000000000000..695f1b38774e Binary files /dev/null and b/src/Common/Commands.ScenarioTests.ResourceManager.Common/MSSharedLibKey.snk differ diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs new file mode 100644 index 000000000000..4acccb09d00f --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs @@ -0,0 +1,36 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using Microsoft.Azure.Common.Authentication; + +namespace Microsoft.WindowsAzure.Commands.Common.Test.Mocks +{ + public class MockAccessToken : IAccessToken + { + public void AuthorizeRequest(Action authTokenSetter) + { + authTokenSetter("Bearer", AccessToken); + } + + public string AccessToken { get; set; } + public string UserId { get; set; } + public LoginType LoginType { get; set; } + + public string TenantId + { + get { return string.Empty; } + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessTokenProvider.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessTokenProvider.cs new file mode 100644 index 000000000000..8b14461bc714 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessTokenProvider.cs @@ -0,0 +1,45 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Security; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.Azure.Common.Authentication; + +namespace Microsoft.WindowsAzure.Commands.Test.Utilities.Common +{ + public class MockAccessTokenProvider : ITokenProvider + { + private readonly IAccessToken accessToken; + + public MockAccessTokenProvider(string token) + : this(token, "user@live.com") + { } + + public MockAccessTokenProvider(string token, string userId) + { + this.accessToken = new MockAccessToken() + { + AccessToken = token, + UserId = userId + }; + } + + public IAccessToken GetAccessToken(AdalConfiguration config, ShowDialog promptBehavior, string userId, SecureString password, + AzureAccount.AccountType credentialType) + { + return this.accessToken; + } + } +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs new file mode 100644 index 000000000000..c7c09d774760 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs @@ -0,0 +1,66 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using System.Security; +using System.Security.Cryptography.X509Certificates; + +namespace Microsoft.WindowsAzure.Commands.Common.Test.Mocks +{ + public class MockCertificateAuthenticationFactory : IAuthenticationFactory + { + public X509Certificate2 Certificate { get; set; } + + public MockCertificateAuthenticationFactory() + { + Certificate = new X509Certificate2(); + } + + public MockCertificateAuthenticationFactory(string userId, X509Certificate2 certificate) + { + Certificate = certificate; + } + + public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environment, string tenant, SecureString password, ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + if (account.Id == null) + { + account.Id = "test"; + } + + var token = new MockAccessToken + { + UserId = account.Id, + LoginType = LoginType.OrgId, + AccessToken = "123" + }; + + return token; + } + + public SubscriptionCloudCredentials GetSubscriptionCloudCredentials(AzureContext context) + { + return new CertificateCloudCredentials(context.Subscription.Id.ToString(), Certificate); + } + + + public Microsoft.Rest.ServiceClientCredentials GetServiceClientCredentials(AzureContext context) + { + throw new System.NotImplementedException(); + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs new file mode 100644 index 000000000000..c21e34f4fa0d --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs @@ -0,0 +1,239 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Threading; +using System.Threading.Tasks; +using Hyak.Common; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.Azure.Common; +using Microsoft.Azure.Common.Authentication.Factories; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure; +using System.IO; + +namespace Microsoft.WindowsAzure.Commands.Common.Test.Mocks +{ + public class MockClientFactory : IClientFactory + { + private readonly bool throwWhenNotAvailable; + + public bool MoqClients { get; set; } + + public List ManagementClients { get; private set; } + + public MockClientFactory(IEnumerable clients, bool throwIfClientNotSpecified = true) + { + UniqueUserAgents = new HashSet(); + ManagementClients = clients.ToList(); + throwWhenNotAvailable = throwIfClientNotSpecified; + } + + public TClient CreateClient(AzureContext context, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + { + Debug.Assert(context != null); + + SubscriptionCloudCredentials creds = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(context); + TClient client = CreateCustomClient(creds, context.Environment.GetEndpointAsUri(endpoint)); + + return client; + } + + public TClient CreateClient(AzureSMProfile profile, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + { + return CreateClient(profile, profile.DefaultContext.Subscription, endpoint); + } + + public TClient CreateClient(AzureSMProfile profile, AzureSubscription subscription, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + { + if (subscription == null) + { + throw new ArgumentException(Microsoft.Azure.Commands.ResourceManager.Common.Properties.Resources.InvalidDefaultSubscription); + } + + if (profile == null) + { + profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + } + + SubscriptionCloudCredentials creds = new TokenCloudCredentials(subscription.Id.ToString(), "fake_token"); + if (HttpMockServer.GetCurrentMode() != HttpRecorderMode.Playback) + { + ProfileClient profileClient = new ProfileClient(profile); + AzureContext context = new AzureContext( + subscription, + profileClient.GetAccount(subscription.Account), + profileClient.GetEnvironmentOrDefault(subscription.Environment) + ); + + creds = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(context); + } + + Uri endpointUri = profile.Environments[subscription.Environment].GetEndpointAsUri(endpoint); + return CreateCustomClient(creds, endpointUri); + } + + public TClient CreateCustomClient(params object[] parameters) where TClient : ServiceClient + { + TClient client = ManagementClients.FirstOrDefault(o => o is TClient) as TClient; + if (client == null) + { + if (throwWhenNotAvailable) + { + throw new ArgumentException( + string.Format("TestManagementClientHelper class wasn't initialized with the {0} client.", + typeof (TClient).Name)); + } + else + { + var realClientFactory = new ClientFactory(); + var realClient = realClientFactory.CreateCustomClient(parameters); + var newRealClient = realClient.WithHandler(HttpMockServer.CreateInstance()); + + realClient.Dispose(); + return newRealClient; + } + } + else + { + if (!MoqClients) + { + // Use the WithHandler method to create an extra reference to the http client + // this will prevent the httpClient from being disposed in a long-running test using + // the same client for multiple cmdlets + client = client.WithHandler(new PassThroughDelegatingHandler()); + } + } + + return client; + } + + public HttpClient CreateHttpClient(string endpoint, ICredentials credentials) + { + return CreateHttpClient(endpoint, ClientFactory.CreateHttpClientHandler(endpoint, credentials)); + } + + public HttpClient CreateHttpClient(string serviceUrl, HttpMessageHandler effectiveHandler) + { + if (serviceUrl == null) + { + throw new ArgumentNullException("serviceUrl"); + } + if (effectiveHandler == null) + { + throw new ArgumentNullException("effectiveHandler"); + } + var mockHandler = HttpMockServer.CreateInstance(); + mockHandler.InnerHandler = effectiveHandler; + + HttpClient client = new HttpClient(mockHandler) + { + BaseAddress = new Uri(serviceUrl), + MaxResponseContentBufferSize = 30 * 1024 * 1024 + }; + + client.DefaultRequestHeaders.Accept.Clear(); + + return client; + } + + public void AddAction(IClientAction action) + { + // Do nothing + } + + public void RemoveAction(Type actionType) + { + // Do nothing + } + + public void AddUserAgent(string productName, string productVersion) + { + throw new NotImplementedException(); + } + + public void AddUserAgent(string productName) + { + throw new NotImplementedException(); + } + + public HashSet UniqueUserAgents { get; set; } + + /// + /// This class exists to allow adding an additional reference to the httpClient to prevent the client + /// from being disposed. Should not be used execpt in this mocked context. + /// + class PassThroughDelegatingHandler : DelegatingHandler + { + protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + return base.SendAsync(request, cancellationToken); + } + } + + public TClient CreateArmClient(AzureContext context, AzureEnvironment.Endpoint endpoint) where TClient : Rest.ServiceClient + { + Debug.Assert(context != null); + var credentials = AzureSession.AuthenticationFactory.GetServiceClientCredentials(context); + var client = CreateCustomArmClient(credentials, context.Environment.GetEndpointAsUri(endpoint), + context.Subscription.Id); + return client; + + } + + public TClient CreateCustomArmClient(params object[] parameters) where TClient : Rest.ServiceClient + { + TClient client = ManagementClients.FirstOrDefault(o => o is TClient) as TClient; + if (client == null) + { + if (throwWhenNotAvailable) + { + throw new ArgumentException( + string.Format("TestManagementClientHelper class wasn't initialized with the {0} client.", + typeof (TClient).Name)); + } + else + { + var realClientFactory = new ClientFactory(); + var newParameters = new object[parameters.Length + 1]; + Array.Copy(parameters, 0, newParameters, 1, parameters.Length); + newParameters[0] = HttpMockServer.CreateInstance(); + var realClient = realClientFactory.CreateCustomArmClient(newParameters); + return realClient; + } + } + + return client; + } + + List IClientFactory.UserAgents + { + get + { + return this.UniqueUserAgents.ToList(); + } + set + { + value.ForEach((v) => this.UniqueUserAgents.Add(v)); + } + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCommandRuntime.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCommandRuntime.cs new file mode 100644 index 000000000000..b3e8da8817d2 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCommandRuntime.cs @@ -0,0 +1,155 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Management.Automation; + +namespace Microsoft.WindowsAzure.Commands.Common.Test.Mocks +{ + public class MockCommandRuntime : ICommandRuntime + { + public List ErrorStream = new List(); + public List OutputPipeline = new List(); + public List WarningStream = new List(); + public List VerboseStream = new List(); + public List DebugStream = new List(); + + public override string ToString() + { + return "MockCommand"; + } + + [SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations", + Justification = "Tests should not access this property")] + public PSTransactionContext CurrentPSTransaction + { + get { throw new System.NotImplementedException(); } + } + + [SuppressMessage("Microsoft.Design", "CA1065:DoNotRaiseExceptionsInUnexpectedLocations", + Justification = "Tests should not access this property")] + public System.Management.Automation.Host.PSHost Host + { + get { throw new System.NotImplementedException(); } + } + + public bool ShouldContinue(string query, string caption, ref bool yesToAll, ref bool noToAll) + { + return true; + } + + public bool ShouldContinue(string query, string caption) + { + return true; + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption, out ShouldProcessReason shouldProcessReason) + { + throw new System.NotImplementedException(); + } + + public bool ShouldProcess(string verboseDescription, string verboseWarning, string caption) + { + return true; + } + + public bool ShouldProcess(string target, string action) + { + return true; + } + + public bool ShouldProcess(string target) + { + return true; + } + + public void ThrowTerminatingError(ErrorRecord errorRecord) + { + throw new System.NotImplementedException(); + } + + public bool TransactionAvailable() + { + throw new System.NotImplementedException(); + } + + public void WriteCommandDetail(string text) + { + throw new System.NotImplementedException(); + } + + public void WriteDebug(string text) + { + DebugStream.Add(text); + } + + public void WriteError(ErrorRecord errorRecord) + { + ErrorStream.Add(errorRecord); + } + + public void WriteObject(object sendToPipeline, bool enumerateCollection) + { + System.Collections.IEnumerable enumerable = LanguagePrimitives.GetEnumerable(sendToPipeline); + if (enumerable != null && enumerateCollection) + { + foreach (object o in enumerable) + { + OutputPipeline.Add(o); + } + } + else + { + OutputPipeline.Add(sendToPipeline); + } + } + + public void WriteObject(object sendToPipeline) + { + OutputPipeline.Add(sendToPipeline); + } + + public void WriteProgress(long sourceId, ProgressRecord progressRecord) + { + // Do nothing + } + + public void WriteProgress(ProgressRecord progressRecord) + { + // Do nothing + } + + public void WriteVerbose(string text) + { + VerboseStream.Add(text); + } + + public void WriteWarning(string text) + { + this.WarningStream.Add(text); + } + + /// + /// Clears all command runtime pipelines. + /// + public void ResetPipelines() + { + ErrorStream.Clear(); + OutputPipeline.Clear(); + WarningStream.Clear(); + VerboseStream.Clear(); + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs new file mode 100644 index 000000000000..da7012921bfe --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs @@ -0,0 +1,93 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Rest; +using System; +using System.Security; + +namespace Microsoft.WindowsAzure.Commands.Common.Test.Mocks +{ + public class MockTokenAuthenticationFactory : IAuthenticationFactory + { + public IAccessToken Token { get; set; } + + public Func TokenProvider { get; set; } + + public MockTokenAuthenticationFactory() + { + Token = new MockAccessToken + { + UserId = "Test", + LoginType = LoginType.OrgId, + AccessToken = "abc" + }; + + TokenProvider = (account, environment, tenant) => Token = new MockAccessToken + { + UserId = account.Id, + LoginType = LoginType.OrgId, + AccessToken = Token.AccessToken + }; + } + + public MockTokenAuthenticationFactory(string userId, string accessToken) + { + Token = new MockAccessToken + { + UserId = userId, + LoginType = LoginType.OrgId, + AccessToken = accessToken + }; + + TokenProvider = ((account, environment, tenant) => Token); + } + + public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environment, string tenant, SecureString password, ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + if (account.Id == null) + { + account.Id = "test"; + } + + if (TokenProvider == null) + { + return new MockAccessToken() + { + AccessToken = account.Id, + LoginType = LoginType.OrgId, + UserId = account.Id + }; + } + else + { + return TokenProvider(account, environment, tenant); + } + } + + public SubscriptionCloudCredentials GetSubscriptionCloudCredentials(AzureContext context) + { + return new AccessTokenCredential(context.Subscription.Id, Token); + } + + + public Microsoft.Rest.ServiceClientCredentials GetServiceClientCredentials(AzureContext context) + { + return new Microsoft.Rest.TokenCredentials(Token.AccessToken); + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/PSCmdletExtensions.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PSCmdletExtensions.cs new file mode 100644 index 000000000000..90623209d3d9 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PSCmdletExtensions.cs @@ -0,0 +1,48 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Diagnostics; +using System.Management.Automation; +using System.Reflection; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public static class PSCmdletExtensions + { + private static MethodInfo GetProtectedMethod(string name) + { + MethodInfo m = typeof(PSCmdlet).GetMethod( + name, + BindingFlags.Instance | BindingFlags.NonPublic, + Type.DefaultBinder, + new Type[] { }, + null); + + return m; + } + + public static void ExecuteCmdlet(this PSCmdlet cmdlet) + { + try + { + GetProtectedMethod("ProcessRecord").Invoke(cmdlet, new object[] { }); + } + catch (TargetInvocationException e) + { + throw e.InnerException; + } + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcher.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcher.cs new file mode 100644 index 000000000000..b8add57ae494 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcher.cs @@ -0,0 +1,48 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Text; +using Microsoft.Azure.Test.HttpRecorder; +using Xunit; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public class PermissiveRecordMatcher : IRecordMatcher + { + public string GetMatchingKey(System.Net.Http.HttpRequestMessage request) + { + var path = request.RequestUri.PathAndQuery; + if (path.Contains("?&")) + { + path = path.Replace("?&", "?"); + } + + var encodedPath = Convert.ToBase64String(Encoding.UTF8.GetBytes(path)); + return string.Format("{0} {1}", request.Method, encodedPath); + } + + public string GetMatchingKey(RecordEntry recordEntry) + { + var encodedPath = recordEntry.EncodedRequestUri; + if (recordEntry.RequestUri.Contains("?&")) + { + var updatedPath = recordEntry.RequestUri.Replace("?&", "?"); + encodedPath = Convert.ToBase64String(Encoding.UTF8.GetBytes(updatedPath)); + } + + return string.Format("{0} {1}", recordEntry.RequestMethod, encodedPath); + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/PowerShellExtensions.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PowerShellExtensions.cs new file mode 100644 index 000000000000..13250e4c9b24 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/PowerShellExtensions.cs @@ -0,0 +1,219 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Management.Automation; +using System.Management.Automation.Runspaces; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public static class PowerShellExtensions + { + public static string PowerShellEnvironmentFormat = "Set-Item env:{0} \"{1}\""; + public static string PowerShellVariableFormat = "${0}={1}"; + public static string CredentialImportFormat = "Import-AzurePublishSettingsFile '{0}'"; + + /// + /// Gets a powershell variable from the current session and converts it back to it's original type. + /// + /// The powershell object original type + /// The PowerShell instance + /// The variable name + /// The variable object + public static T GetPowerShellVariable(this System.Management.Automation.PowerShell powershell, string name) + { + object obj = powershell.Runspace.SessionStateProxy.GetVariable(name); + + if (obj is PSObject) + { + return (T)(obj as PSObject).BaseObject; + } + else + { + return (T)obj; + } + } + + /// + /// Gets a powershell enumerable collection from the current session and convernts it back to it's original type. + /// + /// The powershell object original type + /// The PowerShell instance + /// The variable name + /// The collection in list + public static List GetPowerShellCollection(this System.Management.Automation.PowerShell powershell, string name) + { + List result = new List(); + + try + { + object[] objects = (object[])powershell.Runspace.SessionStateProxy.GetVariable(name); + + foreach (object item in objects) + { + if (item is PSObject) + { + result.Add((T)(item as PSObject).BaseObject); + } + else + { + result.Add((T)item); + } + } + } + catch (Exception) { /* Do nothing */ } + + return result; + } + + /// + /// Sets a new PSVariable to the current scope. + /// + /// The PowerShell instance + /// The variable name + /// The variable value + public static void SetVariable(this System.Management.Automation.PowerShell powershell, string name, object value) + { + powershell.Runspace.SessionStateProxy.SetVariable(name, value); + } + + /// + /// Logs a PowerShell exception thrown from PowerShell.Invoke, parsing the inner + /// PowerShell error record if available + /// + /// The exception to parse + public static void LogPowerShellException(this System.Management.Automation.PowerShell powershell, Exception runtimeException) + { + Console.WriteLine("Caught Exception: {0}\n", runtimeException); + Console.WriteLine("Message: {0}\n", runtimeException.Message); + IContainsErrorRecord recordContainer = runtimeException as IContainsErrorRecord; + if (recordContainer != null) + { + ErrorRecord record = recordContainer.ErrorRecord; + Console.WriteLine("PowerShell Error Record: {0}\nException:{1}\nDetails:{2}\nScript Stack Trace: {3}\n: Target: {4}\n", record, record.Exception, record.ErrorDetails, record.ScriptStackTrace, record.TargetObject); + } + + if (runtimeException.InnerException != null) + { + powershell.LogPowerShellException(runtimeException.InnerException); + } + } + + /// + /// Log the PowerShell Streams from a PowerShell invocation + /// + /// The PowerShell instance to log + public static void LogPowerShellResults(this System.Management.Automation.PowerShell powershell) + { + powershell.LogPowerShellResults(null); + } + + /// + /// Log the PowerShell Streams from a PowerShell invocation + /// + /// The PowerShell instance to log + public static void LogPowerShellResults(this System.Management.Automation.PowerShell powershell, Collection output) + { + if (output != null) + { + LogPowerShellStream(output, "OUTPUT"); + } + if (powershell.Commands != null && powershell.Commands.Commands != null && + powershell.Commands.Commands.Count > 0) + { + Console.WriteLine("================== COMMANDS =======================\n"); + foreach (Command command in powershell.Commands.Commands) + { + Console.WriteLine("{0}\n", command.CommandText); + } + + Console.WriteLine("===================================================\n"); + } + + LogPowerShellStream(powershell.Streams.Debug, "DEBUG"); + LogPowerShellStream(powershell.Streams.Error, "ERROR"); + LogPowerShellStream(powershell.Streams.Progress, "PROGRESS"); + LogPowerShellStream(powershell.Streams.Verbose, "VERBOSE"); + LogPowerShellStream(powershell.Streams.Warning, "WARNING"); + } + + /// + /// Add an environment variable to the PowerShell instance + /// + /// The powershell instance to alter + /// The variable name + /// The variable value + public static void AddEnvironmentVariable(this System.Management.Automation.PowerShell powerShell, string variableKey, string variableValue) + { + powerShell.AddScript(string.Format(PowerShellEnvironmentFormat, variableKey, variableValue)); + } + + /// + /// Add an environment variable to the PowerShell instance + /// + /// The powershell instance to alter + /// The variable name + /// The variable value + public static void AddPowerShellVariable(this System.Management.Automation.PowerShell powerShell, string variableKey, string variableValue) + { + powerShell.AddScript(string.Format(PowerShellVariableFormat, variableKey, variableValue)); + } + /// + /// Import credentials into PowerShell + /// + /// The PowerShell instance to alter + /// The fully qualified path top the credentials + public static void ImportCredentials(this System.Management.Automation.PowerShell powerShell, string credentialPath) + { + powerShell.AddScript(string.Format(CredentialImportFormat, credentialPath)); + } + + /// + /// Remove all credentials for the current user + /// + /// The PowerShell instance to use for removing credentials + public static void RemoveCredentials(this System.Management.Automation.PowerShell powerShell) + { + powerShell.AddScript("try {$sub = Get-AzureSubscription | Remove-AzureSubscription -Force} catch {}"); + } + + /// + /// Log a single PowerShell stream, using the given name + /// + /// The type of the internal data record (different for every stream) + /// The stream to log + /// The name of the stream to print in the log + private static void LogPowerShellStream(ICollection stream, string name) + { + if (stream != null && stream.Count > 0) + { + + Console.WriteLine("---------------------------------------------------------------\n"); + Console.WriteLine("{0} STREAM\n", name); + Console.WriteLine("---------------------------------------------------------------\n"); + foreach (T item in stream) + { + if(item != null) + { + Console.WriteLine("{0}\n", item.ToString()); + } + } + Console.WriteLine("---------------------------------------------------------------\n"); + Console.WriteLine(""); + } + } + } +} diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/Properties/AssemblyInfo.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..98d020782545 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.InteropServices; +using Xunit; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Commands.ScenarioTests.Common")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Commands.ScenarioTests.Common")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5c9118cb-fc2d-4e5b-9770-2bdbc73241b6")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Common/Commands.ScenarioTests.Common/RMTestBase.cs b/src/Common/Commands.ScenarioTests.ResourceManager.Common/RMTestBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTests.Common/RMTestBase.cs rename to src/Common/Commands.ScenarioTests.ResourceManager.Common/RMTestBase.cs diff --git a/src/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config b/src/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config new file mode 100644 index 000000000000..bf2914b914fd --- /dev/null +++ b/src/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager.sln b/src/ResourceManager.sln index eae93fd6ef08..e550a10af0bb 100644 --- a/src/ResourceManager.sln +++ b/src/ResourceManager.sln @@ -19,8 +19,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Tags", "ResourceMa EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources.Test", "ResourceManager\Resources\Commands.Resources.Test\Commands.Resources.Test.csproj", "{4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTests.Common", "Common\Commands.ScenarioTests.Common\Commands.ScenarioTests.Common.csproj", "{C1BDA476-A5CC-4394-914D-48B0EC31A710}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManager.Cmdlets", "ResourceManager\ResourceManager\Commands.ResourceManager\Cmdlets\Commands.ResourceManager.Cmdlets.csproj", "{8058D403-06E3-4BED-8924-D166CE303961}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ApiManagement", "ResourceManager\ApiManagement\Commands.ApiManagement\Commands.ApiManagement.csproj", "{DC0A9742-DF36-48C9-BD2F-68D01AED6257}" @@ -65,8 +63,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Websites", "Resour EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Storage", "Common\Commands.Common.Storage\Commands.Common.Storage.csproj", "{65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage", "ServiceManagement\Storage\Commands.Storage\Commands.Storage.csproj", "{08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ApiManagement.Test", "ResourceManager\ApiManagement\Commands.ApiManagement.Test\Commands.ApiManagement.Test.csproj", "{BEC9ECE9-A3D6-4B24-A682-1FA890647D9D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManagement.Automation.Test", "ResourceManager\Automation\Commands.Automation.Test\Commands.ResourceManagement.Automation.Test.csproj", "{59D1B5DC-9175-43EC-90C6-CBA601B3565F}" @@ -119,6 +115,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.UsageAggregates.Te EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Websites.Test", "ResourceManager\Websites\Commands.Websites.Test\Commands.Websites.Test.csproj", "{13E031E4-8A43-4B87-9D72-D70180C31C11}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTests.ResourceManager.Common", "Common\Commands.ScenarioTests.ResourceManager.Common\Commands.ScenarioTests.ResourceManager.Common.csproj", "{3436A126-EDC9-4060-8952-9A1BE34CDD95}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" EndProject Global @@ -143,10 +141,6 @@ Global {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}.Debug|Any CPU.Build.0 = Debug|Any CPU {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}.Release|Any CPU.Build.0 = Release|Any CPU - {C1BDA476-A5CC-4394-914D-48B0EC31A710}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C1BDA476-A5CC-4394-914D-48B0EC31A710}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C1BDA476-A5CC-4394-914D-48B0EC31A710}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C1BDA476-A5CC-4394-914D-48B0EC31A710}.Release|Any CPU.Build.0 = Release|Any CPU {8058D403-06E3-4BED-8924-D166CE303961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8058D403-06E3-4BED-8924-D166CE303961}.Debug|Any CPU.Build.0 = Debug|Any CPU {8058D403-06E3-4BED-8924-D166CE303961}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -235,10 +229,6 @@ Global {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.Build.0 = Debug|Any CPU {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Release|Any CPU.ActiveCfg = Release|Any CPU {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Release|Any CPU.Build.0 = Release|Any CPU - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}.Release|Any CPU.Build.0 = Release|Any CPU {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D}.Debug|Any CPU.Build.0 = Debug|Any CPU {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -343,6 +333,10 @@ Global {13E031E4-8A43-4B87-9D72-D70180C31C11}.Debug|Any CPU.Build.0 = Debug|Any CPU {13E031E4-8A43-4B87-9D72-D70180C31C11}.Release|Any CPU.ActiveCfg = Release|Any CPU {13E031E4-8A43-4B87-9D72-D70180C31C11}.Release|Any CPU.Build.0 = Release|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Release|Any CPU.Build.0 = Release|Any CPU {5EE72C53-1720-4309-B54B-5FB79703195F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5EE72C53-1720-4309-B54B-5FB79703195F}.Debug|Any CPU.Build.0 = Debug|Any CPU {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -353,7 +347,6 @@ Global EndGlobalSection GlobalSection(NestedProjects) = preSolution {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {C1BDA476-A5CC-4394-914D-48B0EC31A710} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {59D1B5DC-9175-43EC-90C6-CBA601B3565F} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {678AE95D-2364-47D7-888C-3FFA6D412CC8} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} @@ -376,5 +369,7 @@ Global {152D78F0-A642-4D0E-B3A8-2FC64FFA9714} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {F220C306-29A3-4511-8518-A58A55C60D07} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {13E031E4-8A43-4B87-9D72-D70180C31C11} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {3436A126-EDC9-4060-8952-9A1BE34CDD95} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {5EE72C53-1720-4309-B54B-5FB79703195F} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} EndGlobalSection EndGlobal diff --git a/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj b/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj index 7c7fd9262a44..659d4f5df2fa 100644 --- a/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj +++ b/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj @@ -153,9 +153,9 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/Commands.ApiManagement.ServiceManagement.Test.csproj b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/Commands.ApiManagement.ServiceManagement.Test.csproj index b3d1ae18a17c..ef2d2245bf57 100644 --- a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/Commands.ApiManagement.ServiceManagement.Test.csproj +++ b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/Commands.ApiManagement.ServiceManagement.Test.csproj @@ -156,9 +156,9 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj b/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj index a68d8c01cf0d..40e866471e05 100644 --- a/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj +++ b/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj @@ -170,9 +170,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {90def35a-f7ff-40d0-b008-f489a4c092db} diff --git a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj index 4e4edf3815f9..e9a9919575ca 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj @@ -141,9 +141,9 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {6C8D2337-C9D1-4F52-94B3-AB63A19F3453} diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/BatchTestHelpers.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/BatchTestHelpers.cs index 3b4bd9baf09e..4ad820aa28e4 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/BatchTestHelpers.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/BatchTestHelpers.cs @@ -110,6 +110,69 @@ public static void AssertBatchAccountContextsAreEqual(BatchAccountContext contex Assert.Equal(context1.TaskTenantUrl, context2.TaskTenantUrl); } + /// + /// Creates a RequestInterceptor that does not contact the Batch Service but instead uses the supplied response body. + /// + /// The response the interceptor should return. If none is specified, then a new instance of the response type is instantiated. + /// The type of the request parameters. + /// The type of the expected response. + public static RequestInterceptor CreateNoOpInterceptor(TResponse responseToUse = null) + where TParameters : ProxyModels.BatchParameters + where TResponse : ProxyModels.BatchOperationResponse, new() + { + RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => + { + BatchRequest request = + (BatchRequest)baseRequest; + + request.ServiceRequestFunc = (cancellationToken) => + { + TResponse response = responseToUse ?? new TResponse(); + Task task = Task.FromResult(response); + return task; + }; + }); + return interceptor; + } + + /// + /// Creates a RequestInterceptor that does not contact the Batch Service on a Get NodeFile or a Get NodeFile Properties call. + /// The interceptor must handle both request types since it's possible for one OM node file method to perform both REST APIs. + /// + /// The name of the file to put in the response body. + public static RequestInterceptor CreateNoOpGetFileAndPropertiesInterceptor(string fileName) + { + RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => + { + BatchRequest fileRequest = baseRequest as + BatchRequest; + + if (fileRequest != null) + { + fileRequest.ServiceRequestFunc = (cancellationToken) => + { + ProxyModels.NodeFileGetResponse response = new ProxyModels.NodeFileGetResponse(); + Task task = Task.FromResult(response); + return task; + }; + } + else + { + BatchRequest propRequest = + (BatchRequest)baseRequest; + + propRequest.ServiceRequestFunc = (cancellationToken) => + { + ProxyModels.NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(fileName); + Task task = Task.FromResult(response); + return task; + }; + } + }); + + return interceptor; + } + /// /// Builds a CloudPoolGetResponse object /// diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Commands.Batch.Test.csproj b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Commands.Batch.Test.csproj index 65cd861c6cf1..5725af9997f1 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Commands.Batch.Test.csproj +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Commands.Batch.Test.csproj @@ -127,7 +127,7 @@ False ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll - + ..\..\..\packages\Moq.4.2.1402.2112\lib\net40\Moq.dll @@ -519,9 +519,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {d470e50a-9607-48d6-a924-4f9f86502704} diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/NewBatchComputeNodeUserCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/NewBatchComputeNodeUserCommandTests.cs index 3da21e79757f..dd8be1685bb9 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/NewBatchComputeNodeUserCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/NewBatchComputeNodeUserCommandTests.cs @@ -16,12 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -64,18 +62,7 @@ public void NewBatchComputeNodeUserParametersTest() cmdlet.Password = "Password1234"; // Don't go to the service on an Add ComputeNodeUser call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeAddUserResponse response = new ComputeNodeAddUserResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/RemoveBatchComputeNodeUserCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/RemoveBatchComputeNodeUserCommandTests.cs index b9fec9683e6e..c6a7400f2446 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/RemoveBatchComputeNodeUserCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodeUsers/RemoveBatchComputeNodeUserCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -61,19 +60,8 @@ public void RemoveBatchComputeNodeUserParametersTest() cmdlet.ComputeNodeId = "computeNode1"; cmdlet.Name = "testUser"; - // Don't go to the service on a DeleteTVMUser call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeDeleteUserResponse response = new ComputeNodeDeleteUserResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + // Don't go to the service on a Delete ComputeNodeUser call + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/GetBatchComputeNodeCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/GetBatchComputeNodeCommandTests.cs index a11605067bb7..bc50b520cb26 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/GetBatchComputeNodeCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/GetBatchComputeNodeCommandTests.cs @@ -21,7 +21,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -56,18 +55,8 @@ public void GetBatchComputeNodeTest() cmdlet.Filter = null; // Build a compute node instead of querying the service on a Get ComputeNode call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeGetResponse response = BatchTestHelpers.CreateComputeNodeGetResponse(cmdlet.Id); - Task task = Task.FromResult(response); - return task; - }; - }); + ComputeNodeGetResponse response = BatchTestHelpers.CreateComputeNodeGetResponse(cmdlet.Id); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -95,18 +84,8 @@ public void ListBatchComputeNodesByODataFilterTest() string[] idsOfConstructedComputeNodes = new[] { "computeNode1", "computeNode2" }; // Build some compute nodes instead of querying the service on a List ComputeNodes call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); - Task task = Task.FromResult(response); - return task; - }; - }); + ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -142,18 +121,8 @@ public void ListBatchComputeNodesWithoutFiltersTest() string[] idsOfConstructedComputeNodes = new[] { "computeNode1", "computeNode2", "computeNode3" }; // Build some compute nodes instead of querying the service on a List ComputeNodes call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); - Task task = Task.FromResult(response); - return task; - }; - }); + ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -194,18 +163,8 @@ public void ListComputeNodesMaxCountTest() string[] idsOfConstructedComputeNodes = new[] { "computeNode1", "computeNode2", "computeNode3" }; // Build some compute nodes instead of querying the service on a List ComputeNodes call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); - Task task = Task.FromResult(response); - return task; - }; - }); + ComputeNodeListResponse response = BatchTestHelpers.CreateComputeNodeListResponse(idsOfConstructedComputeNodes); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/ResetBatchComputeNodeCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/ResetBatchComputeNodeCommandTests.cs index d0f0672cd7ff..93ff5dee6f11 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/ResetBatchComputeNodeCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/ResetBatchComputeNodeCommandTests.cs @@ -17,11 +17,9 @@ using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; @@ -63,18 +61,7 @@ public void ResetBatchComputeNodeParametersTest() cmdlet.Id = "computeNode1"; // Don't go to the service on a Reimage ComputeNode call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeReimageResponse response = new ComputeNodeReimageResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -102,6 +89,7 @@ public void ResetComputeNodeRequestTest() request.ServiceRequestFunc = (cancellationToken) => { + // Grab the reimage option from the outgoing request. requestReimageOption = request.TypedParameters.ComputeNodeReimageOption; ComputeNodeReimageResponse response = new ComputeNodeReimageResponse(); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/RestartBatchComputeNodeCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/RestartBatchComputeNodeCommandTests.cs index b68bba34d46f..fb44eb63feaf 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/RestartBatchComputeNodeCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/ComputeNodes/RestartBatchComputeNodeCommandTests.cs @@ -17,11 +17,9 @@ using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; @@ -63,18 +61,7 @@ public void RestartBatchComputeNodeParametersTest() cmdlet.Id = "computeNode1"; // Don't go to the service on a Reboot ComputeNode call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeRebootResponse response = new ComputeNodeRebootResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -102,6 +89,7 @@ public void RestartComputeNodeRequestTest() request.ServiceRequestFunc = (cancellationToken) => { + // Grab the reboot option from the outgoing request. requestRebootOption = request.TypedParameters.ComputeNodeRebootOption; ComputeNodeRebootResponse response = new ComputeNodeRebootResponse(); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileCommandTests.cs index e6665dd71746..3751e165b1f0 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileCommandTests.cs @@ -14,7 +14,6 @@ using System; using Microsoft.Azure.Batch; -using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; using Microsoft.Azure.Commands.Batch.Models; @@ -23,7 +22,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +58,8 @@ public void GetBatchNodeFileByTaskParametersTest() cmdlet.Filter = null; // Build a NodeFile instead of querying the service on a List NodeFile call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(new string[] {cmdlet.Name}); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(new string[] {cmdlet.Name}); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; Assert.Throws(() => cmdlet.ExecuteCmdlet()); @@ -103,18 +91,8 @@ public void GetBatchNodeFileByTaskTest() cmdlet.Filter = null; // Build a NodeFile instead of querying the service on a Get NodeFile Properties call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -143,18 +121,8 @@ public void ListBatchNodeFilesByTaskByODataFilterTest() string[] namesOfConstructedNodeFiles = new[] { "stdout.txt", "stderr.txt" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -191,18 +159,8 @@ public void ListBatchNodeFilesByTaskWithoutFiltersTest() string[] namesOfConstructedNodeFiles = new[] { "stdout.txt", "stderr.txt", "wd" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -244,18 +202,8 @@ public void ListNodeFilesByTaskMaxCountTest() string[] namesOfConstructedNodeFiles = new[] { "stdout.txt", "stderr.txt", "wd" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -291,18 +239,8 @@ public void GetBatchNodeFileByComputeNodeParametersTest() cmdlet.Filter = null; // Build a NodeFile instead of querying the service on a List NodeFile call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(new string[] {cmdlet.Name}); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(new string[] {cmdlet.Name}); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; Assert.Throws(() => cmdlet.ExecuteCmdlet()); @@ -327,18 +265,8 @@ public void GetBatchNodeFileByComputeNodeTest() cmdlet.Filter = null; // Build a NodeFile instead of querying the service on a Get NodeFile Properties call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -367,18 +295,8 @@ public void ListBatchNodeFilesByComputeNodeByODataFilterTest() string[] namesOfConstructedNodeFiles = new[] { "startup\\stdout.txt", "startup\\stderr.txt" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -415,18 +333,8 @@ public void ListBatchNodeFilesByComputeNodeWithoutFiltersTest() string[] namesOfConstructedNodeFiles = new[] { "startup", "workitems", "shared" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -468,18 +376,8 @@ public void ListNodeFilesByComputeNodeMaxCountTest() string[] namesOfConstructedNodeFiles = new[] { "startup", "workitems", "shared" }; // Build some NodeFiles instead of querying the service on a List NodeFiles call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); - Task task = Task.FromResult(response); - return task; - }; - }); + NodeFileListResponse response = BatchTestHelpers.CreateNodeFileListResponse(namesOfConstructedNodeFiles); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileContentCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileContentCommandTests.cs index f7424aa559da..b64b0d0c7743 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileContentCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchNodeFileContentCommandTests.cs @@ -15,16 +15,11 @@ using System; using System.IO; using Microsoft.Azure.Batch; -using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; -using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -63,34 +58,7 @@ public void GetBatchNodeFileByTaskParametersTest() string fileName = "stdout.txt"; // Don't go to the service on a Get NodeFile call or Get NodeFile Properties call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest fileRequest = baseRequest as - BatchRequest; - - if (fileRequest != null) - { - fileRequest.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetResponse response = new NodeFileGetResponse(); - Task task = Task.FromResult(response); - return task; - }; - } - else - { - BatchRequest propRequest = - (BatchRequest)baseRequest; - - propRequest.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); - Task task = Task.FromResult(response); - return task; - }; - } - }); - + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpGetFileAndPropertiesInterceptor(cmdlet.Name); cmdlet.AdditionalBehaviors = new List() { interceptor }; using (MemoryStream memStream = new MemoryStream()) @@ -126,34 +94,7 @@ public void GetBatchNodeFileByComputeNodeContentParametersTest() string fileName = "startup\\stdout.txt"; // Don't go to the service on a Get NodeFile call or Get NodeFile Properties call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest fileRequest = baseRequest as - BatchRequest; - - if (fileRequest != null) - { - fileRequest.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetResponse response = new NodeFileGetResponse(); - Task task = Task.FromResult(response); - return task; - }; - } - else - { - BatchRequest propRequest = - (BatchRequest)baseRequest; - - propRequest.ServiceRequestFunc = (cancellationToken) => - { - NodeFileGetPropertiesResponse response = BatchTestHelpers.CreateNodeFileGetPropertiesResponse(cmdlet.Name); - Task task = Task.FromResult(response); - return task; - }; - } - }); - + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpGetFileAndPropertiesInterceptor(cmdlet.Name); cmdlet.AdditionalBehaviors = new List() { interceptor }; using (MemoryStream memStream = new MemoryStream()) diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchRemoteDesktopProtocolFileCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchRemoteDesktopProtocolFileCommandTests.cs index 288c7de677ba..30a2f289f43d 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchRemoteDesktopProtocolFileCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Files/GetBatchRemoteDesktopProtocolFileCommandTests.cs @@ -15,16 +15,12 @@ using System; using System.IO; using Microsoft.Azure.Batch; -using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +56,7 @@ public void GetBatchRemoteDesktopProtocolFileParametersTest() cmdlet.DestinationPath = null; // Don't go to the service on a Get ComputeNode Remote Desktop call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - ComputeNodeGetRemoteDesktopResponse response = new ComputeNodeGetRemoteDesktopResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; using (MemoryStream memStream = new MemoryStream()) diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/DisableBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/DisableBatchJobScheduleCommandTests.cs index 5d33cf3a294c..a3064ccfb000 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/DisableBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/DisableBatchJobScheduleCommandTests.cs @@ -16,17 +16,14 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.JobSchedules { public class DisableBatchJobScheduleCommandTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase { @@ -58,18 +55,7 @@ public void DisableJobScheduleParametersTest() cmdlet.Id = "testJobSchedule"; // Don't go to the service on a Disable CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleDisableResponse response = new CloudJobScheduleDisableResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/EnableBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/EnableBatchJobScheduleCommandTests.cs index 09866fe84dfc..487e4dabc89e 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/EnableBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/EnableBatchJobScheduleCommandTests.cs @@ -16,17 +16,15 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.JobSchedules { public class EnableBatchJobScheduleCommandTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase { @@ -58,18 +56,7 @@ public void EnableJobScheduleParametersTest() cmdlet.Id = "testJobSchedule"; // Don't go to the service on an Enable CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleEnableResponse response = new CloudJobScheduleEnableResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/GetBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/GetBatchJobScheduleCommandTests.cs index 7d972944907b..93edb04cec5a 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/GetBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/GetBatchJobScheduleCommandTests.cs @@ -21,7 +21,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -55,18 +54,8 @@ public void GetBatchJobScheduleTest() cmdlet.Filter = null; // Build a CloudJobSchedule instead of querying the service on a Get CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleGetResponse response = BatchTestHelpers.CreateCloudJobScheduleGetResponse(cmdlet.Id); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobScheduleGetResponse response = BatchTestHelpers.CreateCloudJobScheduleGetResponse(cmdlet.Id); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -93,18 +82,8 @@ public void ListBatchJobScheduleByODataFilterTest() string[] idsOfConstructedJobSchedules = new[] { "test1", "test2" }; // Build some CloudJobSchedules instead of querying the service on a List CloudJobSchedules call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -139,18 +118,8 @@ public void ListBatchJobSchedulesWithoutFiltersTest() string[] idsOfConstructedJobSchedules = new[] { "id1", "id2", "id3" }; // Build some CloudJobSchedules instead of querying the service on a List CloudJobSchedules call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -190,18 +159,8 @@ public void ListJobSchedulesMaxCountTest() string[] idsOfConstructedJobSchedules = new[] { "id1", "id2", "id3" }; // Build some CloudJobSchedules instead of querying the service on a List CloudJobSchedules call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobScheduleListResponse response = BatchTestHelpers.CreateCloudJobScheduleListResponse(idsOfConstructedJobSchedules); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/NewBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/NewBatchJobScheduleCommandTests.cs index 2614e5de256f..7c83018e061b 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/NewBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/NewBatchJobScheduleCommandTests.cs @@ -16,12 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -57,18 +55,7 @@ public void NewBatchJobScheduleParametersTest() cmdlet.Id = "testJobSchedule"; // Don't go to the service on an Add CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleAddResponse response = new CloudJobScheduleAddResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/RemoveBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/RemoveBatchJobScheduleCommandTests.cs index a556d13189b0..b2398a33c8f5 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/RemoveBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/RemoveBatchJobScheduleCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +59,7 @@ public void RemoveBatchJobScheduleParametersTest() cmdlet.Id = "testJobSchedule"; // Don't go to the service on a Delete CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleDeleteResponse response = new CloudJobScheduleDeleteResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/StopBatchJobScheduleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/StopBatchJobScheduleCommandTests.cs index d9c4fbb806cb..58922ca34a39 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/StopBatchJobScheduleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/JobSchedules/StopBatchJobScheduleCommandTests.cs @@ -16,17 +16,14 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.JobSchedules { public class StopBatchJobScheduleCommandTests { @@ -58,18 +55,7 @@ public void StopJobScheduleParametersTest() cmdlet.Id = "testJobSchedule"; // Don't go to the service on a Terminate CloudJobSchedule call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobScheduleTerminateResponse response = new CloudJobScheduleTerminateResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/DisableBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/DisableBatchJobCommandTests.cs index 97bbd177ed56..0687853dd13f 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/DisableBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/DisableBatchJobCommandTests.cs @@ -17,17 +17,15 @@ using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.Jobs { public class DisableBatchJobCommandTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase { @@ -60,18 +58,7 @@ public void DisableJobParametersTest() cmdlet.DisableJobOption = DisableJobOption.Terminate; // Don't go to the service on a Disable CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobDisableResponse response = new CloudJobDisableResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -97,6 +84,7 @@ public void DisableJobRequestTest() BatchRequest request = (BatchRequest)baseRequest; + // Grab the disable option off the outgoing request. requestDisableOption = request.TypedParameters.DisableJobOption; request.ServiceRequestFunc = (cancellationToken) => diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/EnableBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/EnableBatchJobCommandTests.cs index 7850c4452127..2f7e9c5435b9 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/EnableBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/EnableBatchJobCommandTests.cs @@ -16,17 +16,14 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.Jobs { public class EnableBatchJobCommandTests : WindowsAzure.Commands.Test.Utilities.Common.RMTestBase { @@ -58,18 +55,7 @@ public void EnableJobParametersTest() cmdlet.Id = "testJob"; // Don't go to the service on an Enable CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobEnableResponse response = new CloudJobEnableResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/GetBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/GetBatchJobCommandTests.cs index c4a458d744d0..d1b1a2488ef0 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/GetBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/GetBatchJobCommandTests.cs @@ -21,7 +21,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -55,18 +54,8 @@ public void GetBatchJobTest() cmdlet.Filter = null; // Build a CloudJob instead of querying the service on a Get CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobGetResponse response = BatchTestHelpers.CreateCloudJobGetResponse(cmdlet.Id); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobGetResponse response = BatchTestHelpers.CreateCloudJobGetResponse(cmdlet.Id); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -94,18 +83,8 @@ public void ListBatchJobsByODataFilterTest() string[] idsOfConstructedJobs = new[] { "job-1", "job-2" }; // Build some CloudJobs instead of querying the service on a List CloudJobs call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -141,18 +120,8 @@ public void ListBatchJobsWithoutFiltersTest() string[] idsOfConstructedJobs = new[] { "job-1", "job-2", "job-3" }; // Build some CloudJobs instead of querying the service on a List CloudJobs call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -193,18 +162,8 @@ public void ListJobsMaxCountTest() string[] idsOfConstructedJobs = new[] { "job-1", "job-2", "job-3" }; // Build some CloudJobs instead of querying the service on a List CloudJobs call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudJobListResponse response = BatchTestHelpers.CreateCloudJobListResponse(idsOfConstructedJobs); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/NewBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/NewBatchJobCommandTests.cs index 741cec243ee1..270d4fdf20be 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/NewBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/NewBatchJobCommandTests.cs @@ -16,12 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -57,18 +55,7 @@ public void NewBatchJobParametersTest() cmdlet.Id = "testJob"; // Don't go to the service on an Add CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobAddResponse response = new CloudJobAddResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/RemoveBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/RemoveBatchJobCommandTests.cs index 0ae823e53bfd..23a561df6363 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/RemoveBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/RemoveBatchJobCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +59,7 @@ public void RemoveBatchJobParametersTest() cmdlet.Id = "job-1"; // Don't go to the service on a Delete CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobDeleteResponse response = new CloudJobDeleteResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/StopBatchJobCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/StopBatchJobCommandTests.cs index 1bf3bae3e512..90f57972cccb 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/StopBatchJobCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Jobs/StopBatchJobCommandTests.cs @@ -14,20 +14,17 @@ using System; using Microsoft.Azure.Batch; -using Microsoft.Azure.Batch.Common; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; -namespace Microsoft.Azure.Commands.Batch.Test.Pools +namespace Microsoft.Azure.Commands.Batch.Test.Jobs { public class StopBatchJobCommandTests { @@ -59,18 +56,7 @@ public void StopJobParametersTest() cmdlet.Id = "testJob"; // Don't go to the service on a Terminate CloudJob call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudJobTerminateResponse response = new CloudJobTerminateResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -96,6 +82,7 @@ public void StopJobRequestTest() BatchRequest request = (BatchRequest)baseRequest; + // Grab the terminate reason off the outgoing request requestTerminateReason = request.TypedParameters.TerminateReason; request.ServiceRequestFunc = (cancellationToken) => diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/DisableBatchAutoScaleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/DisableBatchAutoScaleCommandTests.cs index 4701edf59c70..8d91defea029 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/DisableBatchAutoScaleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/DisableBatchAutoScaleCommandTests.cs @@ -16,13 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -58,18 +55,7 @@ public void DisableAutoScaleParametersTest() cmdlet.Id = "testPool"; // Don't go to the service on an Disable AutoScale call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolDisableAutoScaleResponse response = new CloudPoolDisableAutoScaleResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/EnableBatchAutoScaleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/EnableBatchAutoScaleCommandTests.cs index 1563656dcd7b..1f9c1611a5ec 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/EnableBatchAutoScaleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/EnableBatchAutoScaleCommandTests.cs @@ -16,11 +16,9 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; @@ -62,18 +60,7 @@ public void EnableAutoScaleParametersTest() cmdlet.AutoScaleFormula = "formula"; // Don't go to the service on an Enable AutoScale call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolEnableAutoScaleResponse response = new CloudPoolEnableAutoScaleResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -99,6 +86,7 @@ public void EnableAutoScaleRequestTest() BatchRequest request = (BatchRequest)baseRequest; + // Grab the formula off the outgoing request requestFormula = request.TypedParameters.AutoScaleFormula; request.ServiceRequestFunc = (cancellationToken) => diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/GetBatchPoolCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/GetBatchPoolCommandTests.cs index 6df660444ab9..24b905f7a4df 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/GetBatchPoolCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/GetBatchPoolCommandTests.cs @@ -21,7 +21,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -55,18 +54,8 @@ public void GetBatchPoolTest() cmdlet.Filter = null; // Build a CloudPool instead of querying the service on a Get CloudPool call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolGetResponse response = BatchTestHelpers.CreateCloudPoolGetResponse(cmdlet.Id); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudPoolGetResponse response = BatchTestHelpers.CreateCloudPoolGetResponse(cmdlet.Id); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -93,18 +82,8 @@ public void ListBatchPoolByODataFilterTest() string[] idsOfConstructedPools = new[] { "test1", "test2" }; // Build some CloudPools instead of querying the service on a List CloudPools call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -139,18 +118,8 @@ public void ListBatchPoolWithoutFiltersTest() string[] idsOfConstructedPools = new[] { "pool1", "pool2", "pool3" }; // Build some CloudPools instead of querying the service on a List CloudPools call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -190,18 +159,8 @@ public void ListPoolsMaxCountTest() string[] idsOfConstructedPools = new[] { "pool1", "pool2", "pool3" }; // Build some CloudPools instead of querying the service on a List CloudPools call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudPoolListResponse response = BatchTestHelpers.CreateCloudPoolListResponse(idsOfConstructedPools); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/NewBatchPoolCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/NewBatchPoolCommandTests.cs index f897a4e921f2..b56337a06acd 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/NewBatchPoolCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/NewBatchPoolCommandTests.cs @@ -16,12 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -59,18 +57,7 @@ public void NewBatchPoolParametersTest() cmdlet.OSFamily = "4"; // Don't go to the service on an Add CloudPool call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolAddResponse response = new CloudPoolAddResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/RemoveBatchPoolCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/RemoveBatchPoolCommandTests.cs index 6dcf4fcdb66f..2a03fd3c857e 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/RemoveBatchPoolCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/RemoveBatchPoolCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +59,7 @@ public void RemoveBatchPoolParametersTest() cmdlet.Id = "testPool"; // Don't go to the service on a Delete CloudPool call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolDeleteResponse response = new CloudPoolDeleteResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/SetBatchPoolOSVersionCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/SetBatchPoolOSVersionCommandTests.cs index 5964b0ffa245..b1130243ad23 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/SetBatchPoolOSVersionCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/SetBatchPoolOSVersionCommandTests.cs @@ -16,11 +16,9 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; @@ -61,19 +59,8 @@ public void SetPoolOSVersionParametersTest() cmdlet.TargetOSVersion = "targetOS"; - // Don't go to the service on an Upgrage OS call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolUpgradeOSResponse response = new CloudPoolUpgradeOSResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + // Don't go to the service on an Upgrade OS call + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -93,12 +80,13 @@ public void SetPoolOSVersionRequestTest() cmdlet.Id = "testPool"; cmdlet.TargetOSVersion = targetOS; - // Don't go to the service on an Enable AutoScale call + // Don't go to the service on an Upgrade OS call RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => { BatchRequest request = (BatchRequest)baseRequest; + // Grab the target OS version off the outgoing request requestTargetOS = request.TypedParameters.TargetOSVersion; request.ServiceRequestFunc = (cancellationToken) => diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StartBatchPoolResizeCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StartBatchPoolResizeCommandTests.cs index f09ad4523482..5fb517cd1eea 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StartBatchPoolResizeCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StartBatchPoolResizeCommandTests.cs @@ -16,13 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -58,18 +55,7 @@ public void StartPoolResizeParametersTest() cmdlet.Id = "testPool"; // Don't go to the service on a Resize CloudPool call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolResizeResponse response = new CloudPoolResizeResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StopBatchPoolResizeCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StopBatchPoolResizeCommandTests.cs index 5d4d7dc673f9..44897d23cb55 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StopBatchPoolResizeCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/StopBatchPoolResizeCommandTests.cs @@ -19,9 +19,7 @@ using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -57,18 +55,7 @@ public void StopPoolResizeParametersTest() cmdlet.Id = "testPool"; // Don't go to the service on a StopResize CloudPool call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolStopResizeResponse response = new CloudPoolStopResizeResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/TestBatchAutoScaleCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/TestBatchAutoScaleCommandTests.cs index de4020441fc2..b19496a91359 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/TestBatchAutoScaleCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Pools/TestBatchAutoScaleCommandTests.cs @@ -16,11 +16,9 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; -using System.Linq; using System.Management.Automation; using System.Threading.Tasks; using Xunit; @@ -62,18 +60,7 @@ public void TestAutoScaleParametersTest() cmdlet.AutoScaleFormula = "formula"; // Don't go to the service on an Evaluate AutoScale call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudPoolEvaluateAutoScaleResponse response = new CloudPoolEvaluateAutoScaleResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameter is set @@ -99,6 +86,7 @@ public void TestAutoScaleRequestTest() BatchRequest request = (BatchRequest)baseRequest; + // Grab the formula off the outgoing request. requestFormula = request.TypedParameters.AutoScaleFormula; request.ServiceRequestFunc = (cancellationToken) => diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/GetBatchTaskCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/GetBatchTaskCommandTests.cs index 84838ec0cf08..e53b3d02727d 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/GetBatchTaskCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/GetBatchTaskCommandTests.cs @@ -22,7 +22,6 @@ using System.Collections.Generic; using System.Linq; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -57,18 +56,7 @@ public void GetBatchTaskParametersTest() cmdlet.Filter = null; // Build a CloudTask instead of querying the service on a List CloudTask call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(new string[] {cmdlet.Id}); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; Assert.Throws(() => cmdlet.ExecuteCmdlet()); @@ -91,18 +79,8 @@ public void GetBatchTaskTest() cmdlet.Filter = null; // Build a CloudTask instead of querying the service on a Get CloudTask call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskGetResponse response = BatchTestHelpers.CreateCloudTaskGetResponse(cmdlet.Id); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudTaskGetResponse response = BatchTestHelpers.CreateCloudTaskGetResponse(cmdlet.Id); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -130,18 +108,8 @@ public void ListBatchTasksByODataFilterTest() string[] idsOfConstructedTasks = new[] { "testTask1", "testTask2" }; // Build some CloudTasks instead of querying the service on a List CloudTasks call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -177,18 +145,8 @@ public void ListBatchTasksWithoutFiltersTest() string[] idsOfConstructedTasks = new[] { "testTask1", "testTask2", "testTask3" }; // Build some CloudTasks instead of querying the service on a List CloudTasks call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later @@ -229,18 +187,8 @@ public void ListTasksMaxCountTest() string[] idsOfConstructedTasks = new[] { "testTask1", "testTask2", "testTask3" }; // Build some CloudTasks instead of querying the service on a List CloudTasks call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); - Task task = Task.FromResult(response); - return task; - }; - }); + CloudTaskListResponse response = BatchTestHelpers.CreateCloudTaskListResponse(idsOfConstructedTasks); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(response); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Setup the cmdlet to write pipeline output to a list that can be examined later diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/NewBatchTaskCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/NewBatchTaskCommandTests.cs index 4d70d5795343..cbafce4f22ea 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/NewBatchTaskCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/NewBatchTaskCommandTests.cs @@ -16,12 +16,10 @@ using Microsoft.Azure.Batch; using Microsoft.Azure.Batch.Protocol; using Microsoft.Azure.Batch.Protocol.Models; -using Microsoft.Azure.Commands.Batch.Models; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -61,18 +59,7 @@ public void NewBatchTaskParametersTest() cmdlet.Id = "testTask"; // Don't go to the service on an Add CloudTask call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskAddResponse response = new CloudTaskAddResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/RemoveBatchTaskCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/RemoveBatchTaskCommandTests.cs index 3506dff46ae9..a447f2c5de36 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/RemoveBatchTaskCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/RemoveBatchTaskCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -61,18 +60,7 @@ public void RemoveBatchTaskParametersTest() cmdlet.Id = "testTask"; // Don't go to the service on a Delete CloudTask call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskDeleteResponse response = new CloudTaskDeleteResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/StopBatchTaskCommandTests.cs b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/StopBatchTaskCommandTests.cs index 0f1c7144255a..5626d04003fd 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/StopBatchTaskCommandTests.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch.Test/Tasks/StopBatchTaskCommandTests.cs @@ -20,7 +20,6 @@ using Moq; using System.Collections.Generic; using System.Management.Automation; -using System.Threading.Tasks; using Xunit; using BatchClient = Microsoft.Azure.Commands.Batch.Models.BatchClient; @@ -60,18 +59,7 @@ public void StopBatchTaskParametersTest() cmdlet.Id = "testTask"; // Don't go to the service on a Terminate CloudTask call - RequestInterceptor interceptor = new RequestInterceptor((baseRequest) => - { - BatchRequest request = - (BatchRequest)baseRequest; - - request.ServiceRequestFunc = (cancellationToken) => - { - CloudTaskTerminateResponse response = new CloudTaskTerminateResponse(); - Task task = Task.FromResult(response); - return task; - }; - }); + RequestInterceptor interceptor = BatchTestHelpers.CreateNoOpInterceptor(); cmdlet.AdditionalBehaviors = new List() { interceptor }; // Verify no exceptions when required parameters are set diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountCommand.cs index d68d175d0b84..7d0ac283e27a 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountCommand.cs @@ -12,11 +12,9 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.Batch.Properties; -using Microsoft.Azure.Management.Batch.Models; using System.Collections; -using System.Collections.Generic; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { @@ -24,15 +22,15 @@ namespace Microsoft.Azure.Commands.Batch public class GetBatchAccountCommand : BatchCmdletBase { [Alias("Name")] - [Parameter(Position = 0, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to query.")] + [Parameter(Position = 0, ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string AccountName { get; set; } - [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group associated with the account being queried.")] + [Parameter(Position = 1, ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } - [Parameter(Position = 2, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Filter list of accounts using the key and optional value of the specified tag.")] + [Parameter(Position = 2, ValueFromPipelineByPropertyName = true)] public Hashtable Tag { get; set; } protected override void ProcessRecord() diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountKeysCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountKeysCommand.cs index 3525cf5a2d06..7488ab50833d 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountKeysCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/GetBatchAccountKeysCommand.cs @@ -12,23 +12,21 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.Batch.Properties; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { [Cmdlet(VerbsCommon.Get, "AzureRMBatchAccountKeys"), OutputType(typeof(BatchAccountContext))] public class GetBatchAccountKeysCommand : BatchCmdletBase { - internal const string ParameterSetContext = "Use Context"; - internal const string ParameterSetNames = "Use Names"; - - [Parameter(ParameterSetName = ParameterSetNames, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to query keys for.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Batch service account to query keys for.")] [Alias("Name")] [ValidateNotNullOrEmpty] public string AccountName { get; set; } - [Parameter(ParameterSetName = ParameterSetNames, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group of the account.")] + [Parameter(ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountCommand.cs index 09c4e63b4913..ad8eeb79af97 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountCommand.cs @@ -12,33 +12,33 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.Batch.Properties; -using Microsoft.Azure.Management.Batch.Models; -using Microsoft.WindowsAzure; using System.Collections; -using System.Collections.Generic; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { [Cmdlet(VerbsCommon.New, "AzureRMBatchAccount"), OutputType(typeof(BatchAccountContext))] public class NewBatchAccountCommand : BatchCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to create.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Batch service account to create.")] [Alias("Name")] [ValidateNotNullOrEmpty] public string AccountName { get; set; } - [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The region where the account will be created.")] + [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The region where the account will be created.")] [ValidateNotNullOrEmpty] public string Location { get; set; } - [Parameter(Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the resource group where the account will be created.")] + [Parameter(Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the resource group where the account will be created.")] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } [Alias("Tags")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "An array of hashtables which represents account tags.")] + [Parameter(ValueFromPipelineByPropertyName = true)] public Hashtable[] Tag { get; set; } protected override void ProcessRecord() diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountKeyCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountKeyCommand.cs index 00cd875e6464..3693d65d849a 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountKeyCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/NewBatchAccountKeyCommand.cs @@ -14,27 +14,25 @@ using Microsoft.Azure.Management.Batch.Models; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { [Cmdlet(VerbsCommon.New, "AzureRMBatchAccountKey"), OutputType(typeof(BatchAccountContext))] public class RegenBatchAccountKeyCommand : BatchCmdletBase { - internal const string ParameterSetContext = "Use Context"; - internal const string ParameterSetCmdLine = "Use Command Line"; - - [Parameter(ParameterSetName = ParameterSetCmdLine, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to regenerate the specified key for.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Batch service account to regenerate the specified key for.")] [Alias("Name")] [ValidateNotNullOrEmpty] public string AccountName { get; set; } - [Parameter(ParameterSetName = ParameterSetCmdLine, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group of the account.")] + [Parameter(ValueFromPipelineByPropertyName = true)] public string ResourceGroupName { get; set; } private AccountKeyType keyType; - //[Parameter(ParameterSetName = ParameterSetContext, Mandatory = true, ValueFromPipeline = false, - // HelpMessage = "The type of key (primary or secondary) to regenerate.")] - [Parameter(ParameterSetName = ParameterSetCmdLine, Mandatory = true, ValueFromPipeline = false, HelpMessage = "The type of key (primary or secondary) to regenerate.")] + [Parameter(Mandatory = true, ValueFromPipeline = false, + HelpMessage = "The type of key (primary or secondary) to regenerate.")] [ValidateSet("Primary", "Secondary")] public string KeyType { diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/RemoveBatchAccountCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/RemoveBatchAccountCommand.cs index df04ccfde8a7..91ad7bbd3e53 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/RemoveBatchAccountCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/RemoveBatchAccountCommand.cs @@ -14,6 +14,7 @@ using Microsoft.Azure.Commands.Batch.Properties; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { @@ -22,24 +23,25 @@ public class RemoveBatchAccountCommand : BatchCmdletBase { private static string mamlCall = "RemoveAccount"; - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to remove.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Batch service account to remove.")] [Alias("Name")] [ValidateNotNullOrEmpty] public string AccountName { get; set; } - [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group of the account being removed.")] + [Parameter(Position = 1, ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } - [Parameter(Mandatory = false, HelpMessage = "Do not ask for confirmation.")] + [Parameter] public SwitchParameter Force { get; set; } protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, - string.Format(Resources.RBA_RemoveConfirm, this.AccountName), - Resources.RBA_RemoveResource, + string.Format(Resources.RemoveAccountConfirm, this.AccountName), + Resources.RemoveBatchAccount, this.AccountName, () => DeleteAction(this.ResourceGroupName, this.AccountName)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/SetBatchAccountCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/SetBatchAccountCommand.cs index f12c950e6496..f0d0d6675741 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/SetBatchAccountCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Accounts/SetBatchAccountCommand.cs @@ -12,28 +12,27 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.Batch.Properties; -using Microsoft.Azure.Management.Batch.Models; -using System; using System.Collections; -using System.Collections.Generic; using System.Management.Automation; +using Constants = Microsoft.Azure.Commands.Batch.Utils.Constants; namespace Microsoft.Azure.Commands.Batch { [Cmdlet(VerbsCommon.Set, "AzureRMBatchAccount"), OutputType(typeof(BatchAccountContext))] public class SetBatchAccountCommand : BatchCmdletBase { - [Parameter(Mandatory = true, Position = 0, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Batch service account to update.")] + [Parameter(Mandatory = true, Position = 0, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Batch service account to update.")] [Alias("Name")] [ValidateNotNullOrEmpty] public string AccountName { get; set; } [Alias("Tags")] - [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true, HelpMessage = "An array of hashtables which represents the tags to set on the account.")] + [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true, + HelpMessage = "An array of hashtables which represents the tags to set on the account.")] public Hashtable[] Tag { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group of the account being updated.")] + [Parameter(ValueFromPipelineByPropertyName = true)] public string ResourceGroupName { get; set; } protected override void ProcessRecord() diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/NewBatchComputeNodeUserCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/NewBatchComputeNodeUserCommand.cs index ac09ab5baa45..1edf0a9b2192 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/NewBatchComputeNodeUserCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/NewBatchComputeNodeUserCommand.cs @@ -24,15 +24,18 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.New, Constants.AzureBatchComputeNodeUser)] public class NewBatchComputeNodeUserCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the pool containing the compute node to create the user on.")] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the pool containing the compute node to create the user on.")] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the compute node to create the user on.")] + [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the compute node to create the user on.")] [ValidateNotNullOrEmpty] public string ComputeNodeId { get; set; } - [Parameter(Position = 0, ParameterSetName = Constants.ParentObjectParameterSet, ValueFromPipeline = true)] + [Parameter(Position = 0, ParameterSetName = Constants.ParentObjectParameterSet, + ValueFromPipeline = true)] [ValidateNotNullOrEmpty] public PSComputeNode ComputeNode { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/RemoveBatchComputeNodeUserCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/RemoveBatchComputeNodeUserCommand.cs index 477c49b3fe6f..d1d551b11b63 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/RemoveBatchComputeNodeUserCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodeUsers/RemoveBatchComputeNodeUserCommand.cs @@ -24,15 +24,18 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Remove, Constants.AzureBatchComputeNodeUser)] public class RemoveBatchComputeNodeUserCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool that contains the compute node.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the pool that contains the compute node.")] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node that contains the user.")] + [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the compute node that contains the user.")] [ValidateNotNullOrEmpty] public string ComputeNodeId { get; set; } - [Parameter(Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the compute node user to delete.")] + [Parameter(Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the compute node user to delete.")] [ValidateNotNullOrEmpty] public string Name { get; set; } @@ -46,8 +49,8 @@ protected override void ProcessRecord() ConfirmAction( Force.IsPresent, - string.Format(Resources.RBU_RemoveConfirm, this.Name), - Resources.RBU_RemoveUser, + string.Format(Resources.RemoveComputeNodeUserConfirm, this.Name), + Resources.RemoveComputeNodeUser, this.Name, () => BatchClient.DeleteComputeNodeUser(parameters)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/GetBatchComputeNodeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/GetBatchComputeNodeCommand.cs index 050b38bcd0c1..75633f92b142 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/GetBatchComputeNodeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/GetBatchComputeNodeCommand.cs @@ -20,13 +20,16 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchComputeNode, DefaultParameterSetName = Constants.ODataFilterParameterSet), OutputType(typeof(PSComputeNode))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchComputeNode, DefaultParameterSetName = Constants.ODataFilterParameterSet), + OutputType(typeof(PSComputeNode))] public class GetBatchComputeNodeCommand : BatchObjectModelCmdletBase { private int maxCount = Constants.DefaultMaxCount; - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool.")] - [Parameter(ParameterSetName = Constants.ODataFilterParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool.")] + [Parameter(ParameterSetName = Constants.ODataFilterParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string PoolId { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/ResetBatchComputeNodeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/ResetBatchComputeNodeCommand.cs index bad273bbd406..f6c105ecaabe 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/ResetBatchComputeNodeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/ResetBatchComputeNodeCommand.cs @@ -24,11 +24,13 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Reset, Constants.AzureBatchComputeNode, DefaultParameterSetName = Constants.IdParameterSet)] public class ResetBatchComputeNodeCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the pool that contains the compute node.")] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the pool that contains the compute node.")] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the compute node to reimage.")] + [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the compute node to reimage.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/RestartBatchComputeNodeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/RestartBatchComputeNodeCommand.cs index 2f4c5897b288..b015ea44a544 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/RestartBatchComputeNodeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/ComputeNodes/RestartBatchComputeNodeCommand.cs @@ -24,11 +24,13 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Restart, Constants.AzureBatchComputeNode, DefaultParameterSetName = Constants.IdParameterSet)] public class RestartBatchComputeNodeCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the pool that contains the compute node.")] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the pool that contains the compute node.")] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the compute node to reboot.")] + [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the compute node to reboot.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileCommand.cs index 152efb8b6f20..a6ea513d5c75 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileCommand.cs @@ -22,7 +22,8 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchNodeFile, DefaultParameterSetName = ComputeNodeAndIdParameterSet), OutputType(typeof(PSNodeFile))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchNodeFile, DefaultParameterSetName = ComputeNodeAndIdParameterSet), + OutputType(typeof(PSNodeFile))] public class GetBatchNodeFileCommand : BatchObjectModelCmdletBase { internal const string TaskAndIdParameterSet = "Task_Id"; @@ -34,13 +35,17 @@ public class GetBatchNodeFileCommand : BatchObjectModelCmdletBase private int maxCount = Constants.DefaultMaxCount; - [Parameter(ParameterSetName = TaskAndIdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the specified target task.")] - [Parameter(ParameterSetName = TaskAndODataParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(ParameterSetName = TaskAndIdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the specified target task.")] + [Parameter(ParameterSetName = TaskAndODataParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string JobId { get; set; } - [Parameter(ParameterSetName = TaskAndIdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task.")] - [Parameter(ParameterSetName = TaskAndODataParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(ParameterSetName = TaskAndIdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task.")] + [Parameter(ParameterSetName = TaskAndODataParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string TaskId { get; set; } @@ -48,13 +53,17 @@ public class GetBatchNodeFileCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public PSCloudTask Task { get; set; } - [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool which contains the specified target compute node.")] - [Parameter(Position = 0, ParameterSetName = ComputeNodeAndODataParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool which contains the specified target compute node.")] + [Parameter(Position = 0, ParameterSetName = ComputeNodeAndODataParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node.")] - [Parameter(Position = 1, ParameterSetName = ComputeNodeAndODataParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node.")] + [Parameter(Position = 1, ParameterSetName = ComputeNodeAndODataParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ComputeNodeId { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileContentCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileContentCommand.cs index 1cbf4950a5e1..24228eac6749 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileContentCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchNodeFileContentCommand.cs @@ -29,27 +29,36 @@ public class GetBatchNodeFileContentCommand : BatchObjectModelCmdletBase internal const string ComputeNodeAndIdAndPathParameterSet = "ComputeNode_Id_Path"; internal const string ComputeNodeAndIdAndStreamParameterSet = "ComputeNode_Id_Stream"; - [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the target task.")] - [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the target task.")] + [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string JobId { get; set; } - [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task.")] - [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task.")] + [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string TaskId { get; set; } - [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool containing the compute node.")] - [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool containing the compute node.")] + [Parameter(Position = 0, ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node.")] - [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node.")] + [Parameter(Position = 1, ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ComputeNodeId { get; set; } - [Parameter(Position = 2, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, HelpMessage = "The name of the node file to download.")] + [Parameter(Position = 2, ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, + HelpMessage = "The name of the node file to download.")] [Parameter(Position = 2, ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true)] [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true)] [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true)] @@ -61,13 +70,15 @@ public class GetBatchNodeFileContentCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public PSNodeFile InputObject { get; set; } - [Parameter(ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, HelpMessage = "The file path where the node file will be downloaded.")] + [Parameter(ParameterSetName = ComputeNodeAndIdAndPathParameterSet, Mandatory = true, + HelpMessage = "The file path where the node file will be downloaded.")] [Parameter(ParameterSetName = TaskAndIdAndPathParameterSet, Mandatory = true)] [Parameter(ParameterSetName = Constants.InputObjectAndPathParameterSet, Mandatory = true)] [ValidateNotNullOrEmpty] public string DestinationPath { get; set; } - [Parameter(ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, HelpMessage = "The Stream into which the node file contents will be written. This stream will not be closed or rewound by this call.")] + [Parameter(ParameterSetName = ComputeNodeAndIdAndStreamParameterSet, Mandatory = true, + HelpMessage = "The Stream into which the node file contents will be written. This stream will not be closed or rewound by this call.")] [Parameter(ParameterSetName = TaskAndIdAndStreamParameterSet, Mandatory = true)] [Parameter(ParameterSetName = Constants.InputObjectAndStreamParameterSet, Mandatory = true)] [ValidateNotNullOrEmpty] diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchRemoteDesktopProtocolFileCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchRemoteDesktopProtocolFileCommand.cs index e12a9904a6a4..3ad2303d6fd0 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchRemoteDesktopProtocolFileCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Files/GetBatchRemoteDesktopProtocolFileCommand.cs @@ -27,27 +27,35 @@ public class GetBatchRemoteDesktopProtocolFileCommand : BatchObjectModelCmdletBa internal const string IdAndPathParameterSet = "Id_Path"; internal const string IdAndStreamParameterSet = "Id_Stream"; - [Parameter(Position = 0, ParameterSetName = IdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool which contains the compute node.")] - [Parameter(Position = 0, ParameterSetName = IdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = IdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool which contains the compute node.")] + [Parameter(Position = 0, ParameterSetName = IdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string PoolId { get; set; } - [Parameter(Position = 1, ParameterSetName = IdAndPathParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node to which the Remote Desktop Protocol file will point.")] - [Parameter(Position = 1, ParameterSetName = IdAndStreamParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 1, ParameterSetName = IdAndPathParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the compute node to which the Remote Desktop Protocol file will point.")] + [Parameter(Position = 1, ParameterSetName = IdAndStreamParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string ComputeNodeId { get; set; } - [Parameter(Position = 0, ParameterSetName = Constants.InputObjectAndPathParameterSet, ValueFromPipeline = true)] - [Parameter(Position = 0, ParameterSetName = Constants.InputObjectAndStreamParameterSet, ValueFromPipeline = true)] + [Parameter(Position = 0, ParameterSetName = Constants.InputObjectAndPathParameterSet, + ValueFromPipeline = true)] + [Parameter(Position = 0, ParameterSetName = Constants.InputObjectAndStreamParameterSet, + ValueFromPipeline = true)] [ValidateNotNullOrEmpty] public PSComputeNode ComputeNode { get; set; } - [Parameter(ParameterSetName = IdAndPathParameterSet, Mandatory = true, HelpMessage = "The file path where the Remote Desktop Protocol file will be downloaded.")] + [Parameter(ParameterSetName = IdAndPathParameterSet, Mandatory = true, + HelpMessage = "The file path where the Remote Desktop Protocol file will be downloaded.")] [Parameter(ParameterSetName = Constants.InputObjectAndPathParameterSet, Mandatory = true)] [ValidateNotNullOrEmpty] public string DestinationPath { get; set; } - [Parameter(ParameterSetName = IdAndStreamParameterSet, Mandatory = true, HelpMessage = "The Stream into which the Remote Desktop Protocol file data will be written. This stream will not be closed or rewound by this call.")] + [Parameter(ParameterSetName = IdAndStreamParameterSet, Mandatory = true, + HelpMessage = "The Stream into which the Remote Desktop Protocol file data will be written. This stream will not be closed or rewound by this call.")] [Parameter(ParameterSetName = Constants.InputObjectAndStreamParameterSet, Mandatory = true)] [ValidateNotNullOrEmpty] public Stream DestinationStream { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/DisableBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/DisableBatchJobScheduleCommand.cs index fba4e898ea16..490cdeab3e21 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/DisableBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/DisableBatchJobScheduleCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Disable, Constants.AzureBatchJobSchedule)] public class DisableBatchJobScheduleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job schedule to disable.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job schedule to disable.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/EnableBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/EnableBatchJobScheduleCommand.cs index 9ad6e1777ba3..679564922f41 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/EnableBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/EnableBatchJobScheduleCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Enable, Constants.AzureBatchJobSchedule)] public class EnableBatchJobScheduleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job schedule to enable.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job schedule to enable.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/GetBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/GetBatchJobScheduleCommand.cs index 84e70006e2a7..240962756810 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/GetBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/GetBatchJobScheduleCommand.cs @@ -20,12 +20,14 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchJobSchedule, DefaultParameterSetName = Constants.ODataFilterParameterSet), OutputType(typeof(PSCloudJobSchedule))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchJobSchedule, DefaultParameterSetName = Constants.ODataFilterParameterSet), + OutputType(typeof(PSCloudJobSchedule))] public class GetBatchJobScheduleCommand : BatchObjectModelCmdletBase { private int maxCount = Constants.DefaultMaxCount; - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, ValueFromPipeline = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/NewBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/NewBatchJobScheduleCommand.cs index a2153ee01804..8bde7887eaa7 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/NewBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/NewBatchJobScheduleCommand.cs @@ -23,7 +23,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.New, Constants.AzureBatchJobSchedule)] public class NewBatchJobScheduleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job schedule to create.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the job schedule to create.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/RemoveBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/RemoveBatchJobScheduleCommand.cs index 73e3b34d9778..91fdc4352470 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/RemoveBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/RemoveBatchJobScheduleCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Remove, Constants.AzureBatchJobSchedule)] public class RemoveBatchJobScheduleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job schedule to delete.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the job schedule to delete.")] [ValidateNotNullOrEmpty] public string Id { get; set; } @@ -32,8 +33,8 @@ protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, - string.Format(Resources.RBJS_RemoveConfirm, this.Id), - Resources.RBJS_RemoveJobSchedule, + string.Format(Resources.RemoveJobScheduleConfirm, this.Id), + Resources.RemoveJobSchedule, this.Id, () => BatchClient.DeleteJobSchedule(this.BatchContext, this.Id, this.AdditionalBehaviors)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/StopBatchJobScheduleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/StopBatchJobScheduleCommand.cs index a364fc4a844f..10a48db9c1b3 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/StopBatchJobScheduleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/JobSchedules/StopBatchJobScheduleCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Stop, Constants.AzureBatchJobSchedule)] public class StopBatchJobScheduleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job schedule to terminate.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job schedule to terminate.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/DisableBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/DisableBatchJobCommand.cs index b942b6e33e92..065199c9f369 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/DisableBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/DisableBatchJobCommand.cs @@ -23,11 +23,13 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Disable, Constants.AzureBatchJob)] public class DisableBatchJobCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job to disable.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job to disable.")] [ValidateNotNullOrEmpty] public string Id { get; set; } - [Parameter(Position = 1, Mandatory = true, HelpMessage = "Specifies what to do with active tasks associated with the job.")] + [Parameter(Position = 1, Mandatory = true, + HelpMessage = "Specifies what to do with active tasks associated with the job.")] public DisableJobOption DisableJobOption { get; set; } protected override void ProcessRecord() diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/EnableBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/EnableBatchJobCommand.cs index b4fd5af070c2..8832723fbb2f 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/EnableBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/EnableBatchJobCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Enable, Constants.AzureBatchJob)] public class EnableBatchJobCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job to enable.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job to enable.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/GetBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/GetBatchJobCommand.cs index 692f9b73bb2f..7a264c17bef6 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/GetBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/GetBatchJobCommand.cs @@ -20,7 +20,8 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchJob, DefaultParameterSetName = Constants.ODataFilterParameterSet), OutputType(typeof(PSCloudJob))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchJob, DefaultParameterSetName = Constants.ODataFilterParameterSet), + OutputType(typeof(PSCloudJob))] public class GetBatchJobCommand : BatchObjectModelCmdletBase { private int maxCount = Constants.DefaultMaxCount; diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/NewBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/NewBatchJobCommand.cs index ef025e7dc0d7..ebdc0a927442 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/NewBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/NewBatchJobCommand.cs @@ -23,7 +23,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.New, Constants.AzureBatchJob)] public class NewBatchJobCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job to create.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the job to create.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/RemoveBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/RemoveBatchJobCommand.cs index 6b244d4a3b50..68747f6159cc 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/RemoveBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/RemoveBatchJobCommand.cs @@ -21,7 +21,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Remove, Constants.AzureBatchJob)] public class RemoveBatchJobCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job to delete.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the job to delete.")] [ValidateNotNullOrEmpty] public string Id { get; set; } @@ -32,8 +33,8 @@ protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, - string.Format(Resources.RBJ_RemoveConfirm, this.Id), - Resources.RBJ_RemoveJob, + string.Format(Resources.RemoveJobConfirm, this.Id), + Resources.RemoveJob, this.Id, () => BatchClient.DeleteJob(this.BatchContext, this.Id, this.AdditionalBehaviors)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/StopBatchJobCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/StopBatchJobCommand.cs index de8fb8636947..a55c02513cb9 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/StopBatchJobCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Jobs/StopBatchJobCommand.cs @@ -22,7 +22,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Stop, Constants.AzureBatchJob)] public class StopBatchJobCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the job to terminate.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the job to terminate.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Accounts.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Accounts.cs index f5728d86cba6..0a420295d579 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Accounts.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Accounts.cs @@ -39,7 +39,7 @@ public virtual BatchAccountContext CreateAccount(string resourceGroupName, strin // group name nor the exception if (GetGroupForAccountNoThrow(accountName) != null) { - throw new CloudException(Resources.NBA_AccountAlreadyExists); + throw new CloudException(Resources.AccountAlreadyExists); } Dictionary tagDictionary = Helpers.CreateTagDictionary(tags, validate: true); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodeUsers.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodeUsers.cs index c740dca1ffdd..587ed9e7c4ba 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodeUsers.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodeUsers.cs @@ -53,7 +53,7 @@ public void CreateComputeNodeUser(NewComputeNodeUserParameters options) user.ExpiryTime = options.ExpiryTime; user.IsAdmin = options.IsAdmin; - WriteVerbose(string.Format(Resources.NBU_CreatingUser, user.Name, computeNodeId)); + WriteVerbose(string.Format(Resources.CreatingComputeNodeUser, user.Name, computeNodeId)); user.Commit(ComputeNodeUserCommitSemantics.AddUser, options.AdditionalBehaviors); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodes.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodes.cs index 652d7d4f9e79..99a067a2f1fc 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodes.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.ComputeNodes.cs @@ -40,7 +40,7 @@ public IEnumerable ListComputeNodes(ListComputeNodeOptions option // Get the single compute node matching the specified id if (!string.IsNullOrEmpty(options.ComputeNodeId)) { - WriteVerbose(string.Format(Resources.GBCN_GetById, options.ComputeNodeId, poolId)); + WriteVerbose(string.Format(Resources.GetComputeNodeById, options.ComputeNodeId, poolId)); PoolOperations poolOperations = options.Context.BatchOMClient.PoolOperations; ComputeNode computeNode = poolOperations.GetComputeNode(poolId, options.ComputeNodeId, additionalBehaviors: options.AdditionalBehaviors); PSComputeNode psComputeNode = new PSComputeNode(computeNode); @@ -53,12 +53,12 @@ public IEnumerable ListComputeNodes(ListComputeNodeOptions option string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = string.Format(Resources.GBCN_GetByOData, poolId); + verboseLogString = string.Format(Resources.GetComputeNodeByOData, poolId); odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = string.Format(Resources.GBCN_NoFilter, poolId); + verboseLogString = string.Format(Resources.GetComputeNodeNoFilter, poolId); } WriteVerbose(verboseLogString); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Files.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Files.cs index 982b01f5914a..d347ffae1f21 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Files.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Files.cs @@ -61,7 +61,7 @@ private IEnumerable ListNodeFilesByTask(ListNodeFileOptions options) // Get the single node file matching the specified name if (!string.IsNullOrEmpty(options.NodeFileName)) { - WriteVerbose(string.Format(Resources.GBTF_GetByName, options.NodeFileName, options.TaskId)); + WriteVerbose(string.Format(Resources.GetNodeFileByTaskByName, options.NodeFileName, options.TaskId)); JobOperations jobOperations = options.Context.BatchOMClient.JobOperations; NodeFile nodeFile = jobOperations.GetNodeFile(options.JobId, options.TaskId, options.NodeFileName, options.AdditionalBehaviors); PSNodeFile psNodeFile = new PSNodeFile(nodeFile); @@ -75,12 +75,12 @@ private IEnumerable ListNodeFilesByTask(ListNodeFileOptions options) string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = string.Format(Resources.GBTF_GetByOData, taskId); + verboseLogString = string.Format(Resources.GetNodeFileByTaskByOData, taskId); odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = string.Format(Resources.GBTF_NoFilter, taskId); + verboseLogString = string.Format(Resources.GetNodeFileByTaskNoFilter, taskId); } WriteVerbose(verboseLogString); @@ -106,7 +106,7 @@ private IEnumerable ListNodeFilesByComputeNode(ListNodeFileOptions o // Get the single node file matching the specified name if (!string.IsNullOrEmpty(options.NodeFileName)) { - WriteVerbose(string.Format(Resources.GBCNF_GetByName, options.NodeFileName, options.ComputeNodeId)); + WriteVerbose(string.Format(Resources.GetNodeFileByComputeNodeByName, options.NodeFileName, options.ComputeNodeId)); PoolOperations poolOperations = options.Context.BatchOMClient.PoolOperations; NodeFile nodeFile = poolOperations.GetNodeFile(options.PoolId, options.ComputeNodeId, options.NodeFileName, options.AdditionalBehaviors); PSNodeFile psNodeFile = new PSNodeFile(nodeFile); @@ -120,12 +120,12 @@ private IEnumerable ListNodeFilesByComputeNode(ListNodeFileOptions o string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = string.Format(Resources.GBCNF_GetByOData, computeNodeId); + verboseLogString = string.Format(Resources.GetNodeFileByComputeNodeByOData, computeNodeId); odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = string.Format(Resources.GBCNF_NoFilter, computeNodeId); + verboseLogString = string.Format(Resources.GetNodeFileByComputeNodeNoFilter, computeNodeId); } WriteVerbose(verboseLogString); @@ -195,7 +195,7 @@ private void DownloadNodeFileByInstance(NodeFile file, string destinationPath, S } else { - WriteVerbose(string.Format(Resources.GBNFC_Downloading, file.Name, destinationPath)); + WriteVerbose(string.Format(Resources.DownloadingNodeFile, file.Name, destinationPath)); using (FileStream fs = new FileStream(destinationPath, FileMode.Create)) { file.CopyToStream(fs, additionalBehaviors); @@ -222,7 +222,7 @@ public void DownloadRemoteDesktopProtocolFile(DownloadRemoteDesktopProtocolFileO else { string computeNodeId = options.ComputeNode == null ? options.ComputeNodeId : options.ComputeNode.Id; - WriteVerbose(string.Format(Resources.GBRDP_Downloading, computeNodeId, options.DestinationPath)); + WriteVerbose(string.Format(Resources.DownloadingRDPFile, computeNodeId, options.DestinationPath)); using (FileStream fs = new FileStream(options.DestinationPath, FileMode.Create)) { diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.JobSchedules.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.JobSchedules.cs index 10afecb74dae..94a1ce5de840 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.JobSchedules.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.JobSchedules.cs @@ -40,7 +40,7 @@ public IEnumerable ListJobSchedules(ListJobScheduleOptions o // Get the single job schedule matching the specified id if (!string.IsNullOrWhiteSpace(options.JobScheduleId)) { - WriteVerbose(string.Format(Resources.GBJS_GetById, options.JobScheduleId)); + WriteVerbose(string.Format(Resources.GetJobScheduleById, options.JobScheduleId)); JobScheduleOperations jobScheduleOperations = options.Context.BatchOMClient.JobScheduleOperations; CloudJobSchedule jobSchedule = jobScheduleOperations.GetJobSchedule(options.JobScheduleId, additionalBehaviors: options.AdditionalBehaviors); PSCloudJobSchedule psJobSchedule = new PSCloudJobSchedule(jobSchedule); @@ -53,12 +53,12 @@ public IEnumerable ListJobSchedules(ListJobScheduleOptions o string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = Resources.GBJS_GetByOData; + verboseLogString = Resources.GetJobScheduleByOData; odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = Resources.GBJS_NoFilter; + verboseLogString = Resources.GetJobScheduleNoFilter; } WriteVerbose(verboseLogString); @@ -107,7 +107,7 @@ public void CreateJobSchedule(NewJobScheduleParameters parameters) jobSchedule.Metadata.Add(metadata); } } - WriteVerbose(string.Format(Resources.NBJS_CreatingJobSchedule, parameters.JobScheduleId)); + WriteVerbose(string.Format(Resources.CreatingJobSchedule, parameters.JobScheduleId)); jobSchedule.Commit(parameters.AdditionalBehaviors); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Jobs.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Jobs.cs index a0c6f1b595d1..ff89a7120bbd 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Jobs.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Jobs.cs @@ -39,7 +39,7 @@ public IEnumerable ListJobs(ListJobOptions options) // Get the single job matching the specified id if (!string.IsNullOrEmpty(options.JobId)) { - WriteVerbose(string.Format(Resources.GBJ_GetById, options.JobId)); + WriteVerbose(string.Format(Resources.GetJobById, options.JobId)); JobOperations jobOperations = options.Context.BatchOMClient.JobOperations; CloudJob job = jobOperations.GetJob(options.JobId, additionalBehaviors: options.AdditionalBehaviors); PSCloudJob psJob = new PSCloudJob(job); @@ -55,12 +55,12 @@ public IEnumerable ListJobs(ListJobOptions options) string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = filterByJobSchedule ? Resources.GBJ_GetByOData : string.Format(Resources.GBJ_GetByODataAndJobSChedule, jobScheduleId); + verboseLogString = filterByJobSchedule ? Resources.GetJobByOData : string.Format(Resources.GetJobByODataAndJobSChedule, jobScheduleId); odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = filterByJobSchedule ? Resources.GBJ_GetNoFilter : string.Format(Resources.GBJ_GetByJobScheduleNoFilter, jobScheduleId); + verboseLogString = filterByJobSchedule ? Resources.GetJobNoFilter : string.Format(Resources.GetJobByJobScheduleNoFilter, jobScheduleId); } WriteVerbose(verboseLogString); @@ -149,7 +149,7 @@ public void CreateJob(NewJobParameters parameters) job.PoolInformation = parameters.PoolInformation.omObject; } - WriteVerbose(string.Format(Resources.NBJ_CreatingJob, parameters.JobId)); + WriteVerbose(string.Format(Resources.CreatingJob, parameters.JobId)); job.Commit(parameters.AdditionalBehaviors); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Pools.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Pools.cs index fbf85c8464ef..1a4e76c60c17 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Pools.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Pools.cs @@ -39,7 +39,7 @@ public IEnumerable ListPools(ListPoolOptions options) // Get the single pool matching the specified id if (!string.IsNullOrWhiteSpace(options.PoolId)) { - WriteVerbose(string.Format(Resources.GBP_GetById, options.PoolId)); + WriteVerbose(string.Format(Resources.GetPoolById, options.PoolId)); PoolOperations poolOperations = options.Context.BatchOMClient.PoolOperations; CloudPool pool = poolOperations.GetPool(options.PoolId, additionalBehaviors: options.AdditionalBehaviors); PSCloudPool psPool = new PSCloudPool(pool); @@ -52,12 +52,12 @@ public IEnumerable ListPools(ListPoolOptions options) string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = Resources.GBP_GetByOData; + verboseLogString = Resources.GetPoolByOData; odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = Resources.GBP_NoFilter; + verboseLogString = Resources.GetPoolNoFilter; } WriteVerbose(verboseLogString); @@ -126,7 +126,7 @@ public void CreatePool(NewPoolParameters parameters) } } - WriteVerbose(string.Format(Resources.NBP_CreatingPool, parameters.PoolId)); + WriteVerbose(string.Format(Resources.CreatingPool, parameters.PoolId)); pool.Commit(parameters.AdditionalBehaviors); } @@ -160,7 +160,7 @@ public void ResizePool(PoolResizeParameters parameters) string poolId = parameters.Pool == null ? parameters.PoolId : parameters.Pool.Id; - WriteVerbose(string.Format(Resources.SBPR_ResizingPool, poolId, parameters.TargetDedicated)); + WriteVerbose(string.Format(Resources.ResizingPool, poolId, parameters.TargetDedicated)); PoolOperations poolOperations = parameters.Context.BatchOMClient.PoolOperations; poolOperations.ResizePool(poolId, parameters.TargetDedicated, parameters.ResizeTimeout, parameters.ComputeNodeDeallocationOption, parameters.AdditionalBehaviors); } @@ -178,7 +178,7 @@ public void StopResizePool(BatchAccountContext context, string poolId, IEnumerab throw new ArgumentNullException("poolId"); } - WriteVerbose(string.Format(Resources.SBPR_StopResizingPool, poolId)); + WriteVerbose(string.Format(Resources.StopResizingPool, poolId)); PoolOperations poolOperations = context.BatchOMClient.PoolOperations; poolOperations.StopResizePool(poolId, additionalBehaviors); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Tasks.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Tasks.cs index fae8c65a92d6..3ac03bb3eb7b 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Tasks.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Models/BatchClient.Tasks.cs @@ -39,7 +39,7 @@ public IEnumerable ListTasks(ListTaskOptions options) // Get the single task matching the specified id if (!string.IsNullOrEmpty(options.TaskId)) { - WriteVerbose(string.Format(Resources.GBT_GetById, options.TaskId, options.JobId)); + WriteVerbose(string.Format(Resources.GetTaskById, options.TaskId, options.JobId)); JobOperations jobOperations = options.Context.BatchOMClient.JobOperations; CloudTask task = jobOperations.GetTask(options.JobId, options.TaskId, additionalBehaviors: options.AdditionalBehaviors); PSCloudTask psTask = new PSCloudTask(task); @@ -53,12 +53,12 @@ public IEnumerable ListTasks(ListTaskOptions options) string verboseLogString = null; if (!string.IsNullOrEmpty(options.Filter)) { - verboseLogString = string.Format(Resources.GBT_GetByOData, jobId); + verboseLogString = string.Format(Resources.GetTaskByOData, jobId); odata = new ODATADetailLevel(filterClause: options.Filter); } else { - verboseLogString = string.Format(Resources.GBT_GetNoFilter, jobId); + verboseLogString = string.Format(Resources.GetTaskNoFilter, jobId); } WriteVerbose(verboseLogString); @@ -123,7 +123,7 @@ public void CreateTask(NewTaskParameters parameters) task.Constraints = parameters.Constraints.omObject; } - WriteVerbose(string.Format(Resources.NBT_CreatingTask, parameters.TaskId)); + WriteVerbose(string.Format(Resources.CreatingTask, parameters.TaskId)); if (parameters.Job != null) { parameters.Job.omObject.AddTask(task, parameters.AdditionalBehaviors); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs index e6afbbc240c9..a67fd5ce8bd7 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs @@ -24,7 +24,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Disable, Constants.AzureBatchAutoScale)] public class DisableBatchAutoScaleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the pool to disable automatic scaling on.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the pool to disable automatic scaling on.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs index 41b53709b5b5..b11a96c9cb54 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs @@ -24,11 +24,13 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Enable, Constants.AzureBatchAutoScale)] public class EnableBatchAutoScaleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the pool to enable automatic scaling on.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the pool to enable automatic scaling on.")] [ValidateNotNullOrEmpty] public string Id { get; set; } - [Parameter(Position = 1, Mandatory = true, HelpMessage = "The formula for the desired number of compute nodes in the pool.")] + [Parameter(Position = 1, Mandatory = true, + HelpMessage = "The formula for the desired number of compute nodes in the pool.")] [ValidateNotNullOrEmpty] public string AutoScaleFormula { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs index c93e0953c160..520efc044a03 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs @@ -22,12 +22,14 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchPool, DefaultParameterSetName = Constants.ODataFilterParameterSet), OutputType(typeof(PSCloudPool))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchPool, DefaultParameterSetName = Constants.ODataFilterParameterSet), + OutputType(typeof(PSCloudPool))] public class GetBatchPoolCommand : BatchObjectModelCmdletBase { private int maxCount = Constants.DefaultMaxCount; - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, ValueFromPipeline = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs index dfc7b3847948..93e97c4dda20 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs @@ -35,7 +35,8 @@ public class NewBatchPoolCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public string VirtualMachineSize { get; set; } - [Parameter(Mandatory = true, HelpMessage = "The Azure Guest OS family to be installed on the virtual machines in the pool.")] + [Parameter(Mandatory = true, + HelpMessage = "The Azure Guest OS family to be installed on the virtual machines in the pool.")] [ValidateNotNullOrEmpty] public string OSFamily { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs index 737b02005f9f..f40bf8860aef 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs @@ -24,7 +24,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Remove, Constants.AzureBatchPool)] public class RemoveBatchPoolCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool to delete.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The id of the pool to delete.")] [ValidateNotNullOrEmpty] public string Id { get; set; } @@ -35,8 +36,8 @@ protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, - string.Format(Resources.RBP_RemoveConfirm, this.Id), - Resources.RBP_RemovePool, + string.Format(Resources.RemovePoolConfirm, this.Id), + Resources.RemovePool, this.Id, () => BatchClient.DeletePool(this.BatchContext, this.Id, this.AdditionalBehaviors)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs index f9a5af8c3a3b..b67f7948358f 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs @@ -24,11 +24,13 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Set, Constants.AzureBatchPoolOSVersion)] public class SetBatchPoolOSVersionCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the pool.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the pool.")] [ValidateNotNullOrEmpty] public string Id { get; set; } - [Parameter(Position = 1, Mandatory = true, HelpMessage = "The Azure Guest OS version to be installed on the virtual machines in the pool.")] + [Parameter(Position = 1, Mandatory = true, + HelpMessage = "The Azure Guest OS version to be installed on the virtual machines in the pool.")] [ValidateNotNullOrEmpty] public string TargetOSVersion { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs index 6abc5bef3b8c..c184feb52a47 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs @@ -24,7 +24,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Start, Constants.AzureBatchPoolResize)] public class StartBatchPoolResizeCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the pool to resize.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the pool to resize.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs index 11e00655b7d4..ed5c22a49ed0 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs @@ -20,7 +20,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Stop, Constants.AzureBatchPoolResize)] public class StopBatchPoolResizeCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, Mandatory = true, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool.")] + [Parameter(Position = 0, Mandatory = true, ValueFromPipeline = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the pool.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs index b1681af710f0..bdc9e57589cb 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs @@ -24,7 +24,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsDiagnostic.Test, Constants.AzureBatchAutoScale)] public class TestBatchAutoScaleCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "The id of the pool to evaluate the autoscale formula on.")] + [Parameter(Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, + Mandatory = true, HelpMessage = "The id of the pool to evaluate the autoscale formula on.")] [ValidateNotNullOrEmpty] public string Id { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs index 2cdd535fcb21..474e706a0b57 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs @@ -60,6 +60,15 @@ internal Resources() { } } + /// + /// Looks up a localized string similar to AccountAlreadyExists: Account already exists.. + /// + internal static string AccountAlreadyExists { + get { + return ResourceManager.GetString("AccountAlreadyExists", resourceCulture); + } + } + /// /// Looks up a localized string similar to Executing cmdlet with Batch account {0} with its {1} key. To change which key to use, set the KeyInUse property on the BatchAccountContext.. /// @@ -88,470 +97,452 @@ internal static string ChangeOSVersion { } /// - /// Looks up a localized string similar to Disabling automatic scaling on pool {0}.. - /// - internal static string DisableAutoScale { - get { - return ResourceManager.GetString("DisableAutoScale", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Disabling job {0}.. - /// - internal static string DisableJob { - get { - return ResourceManager.GetString("DisableJob", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Disabling job schedule {0}.. + /// Looks up a localized string similar to Performing name availability check for account {0}. /// - internal static string DisableJobSchedule { + internal static string CheckingAccountNameAvailability { get { - return ResourceManager.GetString("DisableJobSchedule", resourceCulture); + return ResourceManager.GetString("CheckingAccountNameAvailability", resourceCulture); } } /// - /// Looks up a localized string similar to Enabling automatic scaling on pool {0} using the formula: {1}. + /// Looks up a localized string similar to Creating user {0} on compute node {1}. /// - internal static string EnableAutoScale { + internal static string CreatingComputeNodeUser { get { - return ResourceManager.GetString("EnableAutoScale", resourceCulture); + return ResourceManager.GetString("CreatingComputeNodeUser", resourceCulture); } } /// - /// Looks up a localized string similar to Enabling job {0}.. + /// Looks up a localized string similar to Creating job {0}. /// - internal static string EnableJob { + internal static string CreatingJob { get { - return ResourceManager.GetString("EnableJob", resourceCulture); + return ResourceManager.GetString("CreatingJob", resourceCulture); } } /// - /// Looks up a localized string similar to Enabling job schedule {0}.. + /// Looks up a localized string similar to Creating job schedule {0}. /// - internal static string EnableJobSchedule { + internal static string CreatingJobSchedule { get { - return ResourceManager.GetString("EnableJobSchedule", resourceCulture); + return ResourceManager.GetString("CreatingJobSchedule", resourceCulture); } } /// - /// Looks up a localized string similar to End {0} call to RP. + /// Looks up a localized string similar to Creating pool {0}. /// - internal static string EndMAMLCall { + internal static string CreatingPool { get { - return ResourceManager.GetString("EndMAMLCall", resourceCulture); + return ResourceManager.GetString("CreatingPool", resourceCulture); } } /// - /// Looks up a localized string similar to Evaluating the following autoscale formula on pool {0}: {1}. + /// Looks up a localized string similar to Creating task {0}. /// - internal static string EvaluateAutoScale { + internal static string CreatingTask { get { - return ResourceManager.GetString("EvaluateAutoScale", resourceCulture); + return ResourceManager.GetString("CreatingTask", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all accounts in subscription. + /// Looks up a localized string similar to Disabling automatic scaling on pool {0}.. /// - internal static string GBA_AllAccounts { + internal static string DisableAutoScale { get { - return ResourceManager.GetString("GBA_AllAccounts", resourceCulture); + return ResourceManager.GetString("DisableAutoScale", resourceCulture); } } /// - /// Looks up a localized string similar to Getting accounts in resource group {0}. + /// Looks up a localized string similar to Disabling job {0}.. /// - internal static string GBA_ResGroupAccounts { + internal static string DisableJob { get { - return ResourceManager.GetString("GBA_ResGroupAccounts", resourceCulture); + return ResourceManager.GetString("DisableJob", resourceCulture); } } /// - /// Looks up a localized string similar to Getting account keys for {0}. + /// Looks up a localized string similar to Disabling job schedule {0}.. /// - internal static string GBAK_GettingKeys { + internal static string DisableJobSchedule { get { - return ResourceManager.GetString("GBAK_GettingKeys", resourceCulture); + return ResourceManager.GetString("DisableJobSchedule", resourceCulture); } } /// - /// Looks up a localized string similar to Getting compute node "{0}" from pool "{1}".. + /// Looks up a localized string similar to Downloading node file {0} to: {1}. /// - internal static string GBCN_GetById { + internal static string DownloadingNodeFile { get { - return ResourceManager.GetString("GBCN_GetById", resourceCulture); + return ResourceManager.GetString("DownloadingNodeFile", resourceCulture); } } /// - /// Looks up a localized string similar to Getting compute nodes matching the specified OData filter from pool "{0}".. + /// Looks up a localized string similar to Downloading Remote Desktop Protocol file for compute node {0} to: {1}. /// - internal static string GBCN_GetByOData { + internal static string DownloadingRDPFile { get { - return ResourceManager.GetString("GBCN_GetByOData", resourceCulture); + return ResourceManager.GetString("DownloadingRDPFile", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all compute nodes under pool "{0}".. + /// Looks up a localized string similar to Enabling automatic scaling on pool {0} using the formula: {1}. /// - internal static string GBCN_NoFilter { + internal static string EnableAutoScale { get { - return ResourceManager.GetString("GBCN_NoFilter", resourceCulture); + return ResourceManager.GetString("EnableAutoScale", resourceCulture); } } /// - /// Looks up a localized string similar to Getting node file "{0}" from compute node "{1}". + /// Looks up a localized string similar to Enabling job {0}.. /// - internal static string GBCNF_GetByName { + internal static string EnableJob { get { - return ResourceManager.GetString("GBCNF_GetByName", resourceCulture); + return ResourceManager.GetString("EnableJob", resourceCulture); } } /// - /// Looks up a localized string similar to Getting node files matching the specified OData filter from compute node "{0}".. + /// Looks up a localized string similar to Enabling job schedule {0}.. /// - internal static string GBCNF_GetByOData { + internal static string EnableJobSchedule { get { - return ResourceManager.GetString("GBCNF_GetByOData", resourceCulture); + return ResourceManager.GetString("EnableJobSchedule", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all node files from compute node "{0}".. + /// Looks up a localized string similar to End {0} call to RP. /// - internal static string GBCNF_NoFilter { + internal static string EndMAMLCall { get { - return ResourceManager.GetString("GBCNF_NoFilter", resourceCulture); + return ResourceManager.GetString("EndMAMLCall", resourceCulture); } } /// - /// Looks up a localized string similar to Getting job "{0}". + /// Looks up a localized string similar to Evaluating the following autoscale formula on pool {0}: {1}. /// - internal static string GBJ_GetById { + internal static string EvaluateAutoScale { get { - return ResourceManager.GetString("GBJ_GetById", resourceCulture); + return ResourceManager.GetString("EvaluateAutoScale", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all jobs from job schedule "{0}".. + /// Looks up a localized string similar to Getting all accounts in subscription. /// - internal static string GBJ_GetByJobScheduleNoFilter { + internal static string GetAllAccounts { get { - return ResourceManager.GetString("GBJ_GetByJobScheduleNoFilter", resourceCulture); + return ResourceManager.GetString("GetAllAccounts", resourceCulture); } } /// - /// Looks up a localized string similar to Getting jobs matching the specified OData filter.. + /// Looks up a localized string similar to Getting compute node "{0}" from pool "{1}".. /// - internal static string GBJ_GetByOData { + internal static string GetComputeNodeById { get { - return ResourceManager.GetString("GBJ_GetByOData", resourceCulture); + return ResourceManager.GetString("GetComputeNodeById", resourceCulture); } } /// - /// Looks up a localized string similar to Getting jobs matching the specified OData filter from job schedule "{0}".. + /// Looks up a localized string similar to Getting compute nodes matching the specified OData filter from pool "{0}".. /// - internal static string GBJ_GetByODataAndJobSChedule { + internal static string GetComputeNodeByOData { get { - return ResourceManager.GetString("GBJ_GetByODataAndJobSChedule", resourceCulture); + return ResourceManager.GetString("GetComputeNodeByOData", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all jobs associated with the Batch account.. + /// Looks up a localized string similar to Getting all compute nodes under pool "{0}".. /// - internal static string GBJ_GetNoFilter { + internal static string GetComputeNodeNoFilter { get { - return ResourceManager.GetString("GBJ_GetNoFilter", resourceCulture); + return ResourceManager.GetString("GetComputeNodeNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Getting job schedule "{0}". + /// Looks up a localized string similar to Getting job "{0}". /// - internal static string GBJS_GetById { + internal static string GetJobById { get { - return ResourceManager.GetString("GBJS_GetById", resourceCulture); + return ResourceManager.GetString("GetJobById", resourceCulture); } } /// - /// Looks up a localized string similar to Getting job schedules matching the specified OData filter. . + /// Looks up a localized string similar to Getting all jobs from job schedule "{0}".. /// - internal static string GBJS_GetByOData { + internal static string GetJobByJobScheduleNoFilter { get { - return ResourceManager.GetString("GBJS_GetByOData", resourceCulture); + return ResourceManager.GetString("GetJobByJobScheduleNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all job schedules associated with the Batch account. . + /// Looks up a localized string similar to Getting jobs matching the specified OData filter.. /// - internal static string GBJS_NoFilter { + internal static string GetJobByOData { get { - return ResourceManager.GetString("GBJS_NoFilter", resourceCulture); + return ResourceManager.GetString("GetJobByOData", resourceCulture); } } /// - /// Looks up a localized string similar to Downloading node file {0} to: {1}. + /// Looks up a localized string similar to Getting jobs matching the specified OData filter from job schedule "{0}".. /// - internal static string GBNFC_Downloading { + internal static string GetJobByODataAndJobSChedule { get { - return ResourceManager.GetString("GBNFC_Downloading", resourceCulture); + return ResourceManager.GetString("GetJobByODataAndJobSChedule", resourceCulture); } } /// - /// Looks up a localized string similar to Getting pool "{0}". + /// Looks up a localized string similar to Getting all jobs associated with the Batch account.. /// - internal static string GBP_GetById { + internal static string GetJobNoFilter { get { - return ResourceManager.GetString("GBP_GetById", resourceCulture); + return ResourceManager.GetString("GetJobNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Getting pools matching the specified OData filter. . + /// Looks up a localized string similar to Getting job schedule "{0}". /// - internal static string GBP_GetByOData { + internal static string GetJobScheduleById { get { - return ResourceManager.GetString("GBP_GetByOData", resourceCulture); + return ResourceManager.GetString("GetJobScheduleById", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all pools associated with the Batch account. . + /// Looks up a localized string similar to Getting job schedules matching the specified OData filter. . /// - internal static string GBP_NoFilter { + internal static string GetJobScheduleByOData { get { - return ResourceManager.GetString("GBP_NoFilter", resourceCulture); + return ResourceManager.GetString("GetJobScheduleByOData", resourceCulture); } } /// - /// Looks up a localized string similar to Downloading Remote Desktop Protocol file for compute node {0} to: {1}. + /// Looks up a localized string similar to Getting all job schedules associated with the Batch account. . /// - internal static string GBRDP_Downloading { + internal static string GetJobScheduleNoFilter { get { - return ResourceManager.GetString("GBRDP_Downloading", resourceCulture); + return ResourceManager.GetString("GetJobScheduleNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Getting task "{0}" from job "{1}". + /// Looks up a localized string similar to Getting node file "{0}" from compute node "{1}". /// - internal static string GBT_GetById { + internal static string GetNodeFileByComputeNodeByName { get { - return ResourceManager.GetString("GBT_GetById", resourceCulture); + return ResourceManager.GetString("GetNodeFileByComputeNodeByName", resourceCulture); } } /// - /// Looks up a localized string similar to Getting tasks matching the specified OData filter from job "{0}".. + /// Looks up a localized string similar to Getting node files matching the specified OData filter from compute node "{0}".. /// - internal static string GBT_GetByOData { + internal static string GetNodeFileByComputeNodeByOData { get { - return ResourceManager.GetString("GBT_GetByOData", resourceCulture); + return ResourceManager.GetString("GetNodeFileByComputeNodeByOData", resourceCulture); } } /// - /// Looks up a localized string similar to Getting all tasks from job "{0}".. + /// Looks up a localized string similar to Getting all node files from compute node "{0}".. /// - internal static string GBT_GetNoFilter { + internal static string GetNodeFileByComputeNodeNoFilter { get { - return ResourceManager.GetString("GBT_GetNoFilter", resourceCulture); + return ResourceManager.GetString("GetNodeFileByComputeNodeNoFilter", resourceCulture); } } /// /// Looks up a localized string similar to Getting node file "{0}" from task "{1}". /// - internal static string GBTF_GetByName { + internal static string GetNodeFileByTaskByName { get { - return ResourceManager.GetString("GBTF_GetByName", resourceCulture); + return ResourceManager.GetString("GetNodeFileByTaskByName", resourceCulture); } } /// /// Looks up a localized string similar to Getting node files matching the specified OData filter from task "{0}".. /// - internal static string GBTF_GetByOData { + internal static string GetNodeFileByTaskByOData { get { - return ResourceManager.GetString("GBTF_GetByOData", resourceCulture); + return ResourceManager.GetString("GetNodeFileByTaskByOData", resourceCulture); } } /// /// Looks up a localized string similar to Getting all node files under task "{0}".. /// - internal static string GBTF_NoFilter { + internal static string GetNodeFileByTaskNoFilter { get { - return ResourceManager.GetString("GBTF_NoFilter", resourceCulture); + return ResourceManager.GetString("GetNodeFileByTaskNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to No compute node was specified. Supply a PSComputeNode object or a pool id and compute node id for the Remote Desktop Protocol file to point to.. + /// Looks up a localized string similar to Getting pool "{0}". /// - internal static string GRDP_NoComputeNode { + internal static string GetPoolById { get { - return ResourceManager.GetString("GRDP_NoComputeNode", resourceCulture); + return ResourceManager.GetString("GetPoolById", resourceCulture); } } /// - /// Looks up a localized string similar to The endpoint is not recognized as valid: {0}. + /// Looks up a localized string similar to Getting pools matching the specified OData filter. . /// - internal static string InvalidEndpointType { + internal static string GetPoolByOData { get { - return ResourceManager.GetString("InvalidEndpointType", resourceCulture); + return ResourceManager.GetString("GetPoolByOData", resourceCulture); } } /// - /// Looks up a localized string similar to The resource ID is not recognized as valid: {0}. + /// Looks up a localized string similar to Getting all pools associated with the Batch account. . /// - internal static string InvalidResourceId { + internal static string GetPoolNoFilter { get { - return ResourceManager.GetString("InvalidResourceId", resourceCulture); + return ResourceManager.GetString("GetPoolNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Invalid tag format. Expect @{Name = "tagName"} or @{Name = "tagName"; Value = "tagValue"}. + /// Looks up a localized string similar to Getting accounts in resource group {0}. /// - internal static string InvalidTagFormat { + internal static string GetResourceGroupAccounts { get { - return ResourceManager.GetString("InvalidTagFormat", resourceCulture); + return ResourceManager.GetString("GetResourceGroupAccounts", resourceCulture); } } /// - /// Looks up a localized string similar to Invalid tag format. Ensure that each tag has a unique name. Example: @{Name = "tagName1"; Value = "tagValue1"}, @{Name = "tagName2"; Value = "tagValue2"}. + /// Looks up a localized string similar to Getting task "{0}" from job "{1}". /// - internal static string InvalidTagFormatNotUniqueName { + internal static string GetTaskById { get { - return ResourceManager.GetString("InvalidTagFormatNotUniqueName", resourceCulture); + return ResourceManager.GetString("GetTaskById", resourceCulture); } } /// - /// Looks up a localized string similar to The current KeyInUse on this BatchAccountContext is the {0} key, but this key is not populated on the BatchAccountContext object. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its keys populated.. + /// Looks up a localized string similar to Getting tasks matching the specified OData filter from job "{0}".. /// - internal static string KeyNotPresent { + internal static string GetTaskByOData { get { - return ResourceManager.GetString("KeyNotPresent", resourceCulture); + return ResourceManager.GetString("GetTaskByOData", resourceCulture); } } /// - /// Looks up a localized string similar to A max count of {0} will be returned.. + /// Looks up a localized string similar to Getting all tasks from job "{0}".. /// - internal static string MaxCount { + internal static string GetTaskNoFilter { get { - return ResourceManager.GetString("MaxCount", resourceCulture); + return ResourceManager.GetString("GetTaskNoFilter", resourceCulture); } } /// - /// Looks up a localized string similar to Cannot find resource group name in ID property: {0}. + /// Looks up a localized string similar to Getting account keys for {0}. /// - internal static string MissingResGroupName { + internal static string GettingAccountKeys { get { - return ResourceManager.GetString("MissingResGroupName", resourceCulture); + return ResourceManager.GetString("GettingAccountKeys", resourceCulture); } } /// - /// Looks up a localized string similar to AccountAlreadyExists: Account already exists.. + /// Looks up a localized string similar to The endpoint is not recognized as valid: {0}. /// - internal static string NBA_AccountAlreadyExists { + internal static string InvalidEndpointType { get { - return ResourceManager.GetString("NBA_AccountAlreadyExists", resourceCulture); + return ResourceManager.GetString("InvalidEndpointType", resourceCulture); } } /// - /// Looks up a localized string similar to Checking if account already exists. + /// Looks up a localized string similar to The resource ID is not recognized as valid: {0}. /// - internal static string NBA_LookupAccount { + internal static string InvalidResourceId { get { - return ResourceManager.GetString("NBA_LookupAccount", resourceCulture); + return ResourceManager.GetString("InvalidResourceId", resourceCulture); } } /// - /// Looks up a localized string similar to Performing name availability check for account {0}. + /// Looks up a localized string similar to Invalid tag format. Expect @{Name = "tagName"} or @{Name = "tagName"; Value = "tagValue"}. /// - internal static string NBA_NameAvailability { + internal static string InvalidTagFormat { get { - return ResourceManager.GetString("NBA_NameAvailability", resourceCulture); + return ResourceManager.GetString("InvalidTagFormat", resourceCulture); } } /// - /// Looks up a localized string similar to Creating job {0}. + /// Looks up a localized string similar to Invalid tag format. Ensure that each tag has a unique name. Example: @{Name = "tagName1"; Value = "tagValue1"}, @{Name = "tagName2"; Value = "tagValue2"}. /// - internal static string NBJ_CreatingJob { + internal static string InvalidTagFormatNotUniqueName { get { - return ResourceManager.GetString("NBJ_CreatingJob", resourceCulture); + return ResourceManager.GetString("InvalidTagFormatNotUniqueName", resourceCulture); } } /// - /// Looks up a localized string similar to Creating job schedule {0}. + /// Looks up a localized string similar to The current KeyInUse on this BatchAccountContext is the {0} key, but this key is not populated on the BatchAccountContext object. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its keys populated.. /// - internal static string NBJS_CreatingJobSchedule { + internal static string KeyNotPresent { get { - return ResourceManager.GetString("NBJS_CreatingJobSchedule", resourceCulture); + return ResourceManager.GetString("KeyNotPresent", resourceCulture); } } /// - /// Looks up a localized string similar to Creating pool {0}. + /// Looks up a localized string similar to Checking if account already exists. /// - internal static string NBP_CreatingPool { + internal static string LookupAccount { get { - return ResourceManager.GetString("NBP_CreatingPool", resourceCulture); + return ResourceManager.GetString("LookupAccount", resourceCulture); } } /// - /// Looks up a localized string similar to Creating task {0}. + /// Looks up a localized string similar to A max count of {0} will be returned.. /// - internal static string NBT_CreatingTask { + internal static string MaxCount { get { - return ResourceManager.GetString("NBT_CreatingTask", resourceCulture); + return ResourceManager.GetString("MaxCount", resourceCulture); } } /// - /// Looks up a localized string similar to Creating user {0} on compute node {1}. + /// Looks up a localized string similar to Cannot find resource group name in ID property: {0}. /// - internal static string NBU_CreatingUser { + internal static string MissingResGroupName { get { - return ResourceManager.GetString("NBU_CreatingUser", resourceCulture); + return ResourceManager.GetString("MissingResGroupName", resourceCulture); } } @@ -637,128 +628,128 @@ internal static string NoTask { } /// - /// Looks up a localized string similar to Are you sure you want to remove batch account {0}?. + /// Looks up a localized string similar to Rebooting compute node {0}.. /// - internal static string RBA_RemoveConfirm { + internal static string RebootComputeNode { get { - return ResourceManager.GetString("RBA_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RebootComputeNode", resourceCulture); } } /// - /// Looks up a localized string similar to Removing batch account .... + /// Looks up a localized string similar to Reimaging compute node {0}.. /// - internal static string RBA_RemoveResource { + internal static string ReimageComputeNode { get { - return ResourceManager.GetString("RBA_RemoveResource", resourceCulture); + return ResourceManager.GetString("ReimageComputeNode", resourceCulture); } } /// - /// Looks up a localized string similar to Are you sure you want to remove job {0}?. + /// Looks up a localized string similar to Are you sure you want to remove batch account {0}?. /// - internal static string RBJ_RemoveConfirm { + internal static string RemoveAccountConfirm { get { - return ResourceManager.GetString("RBJ_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RemoveAccountConfirm", resourceCulture); } } /// - /// Looks up a localized string similar to Removing job .... + /// Looks up a localized string similar to Removing batch account .... /// - internal static string RBJ_RemoveJob { + internal static string RemoveBatchAccount { get { - return ResourceManager.GetString("RBJ_RemoveJob", resourceCulture); + return ResourceManager.GetString("RemoveBatchAccount", resourceCulture); } } /// - /// Looks up a localized string similar to Are you sure you want to remove job schedule {0}?. + /// Looks up a localized string similar to Removing user .... /// - internal static string RBJS_RemoveConfirm { + internal static string RemoveComputeNodeUser { get { - return ResourceManager.GetString("RBJS_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RemoveComputeNodeUser", resourceCulture); } } /// - /// Looks up a localized string similar to Removing job schedule .... + /// Looks up a localized string similar to Are you sure you want to remove user {0}?. /// - internal static string RBJS_RemoveJobSchedule { + internal static string RemoveComputeNodeUserConfirm { get { - return ResourceManager.GetString("RBJS_RemoveJobSchedule", resourceCulture); + return ResourceManager.GetString("RemoveComputeNodeUserConfirm", resourceCulture); } } /// - /// Looks up a localized string similar to Are you sure you want to remove pool {0}?. + /// Looks up a localized string similar to Removing job .... /// - internal static string RBP_RemoveConfirm { + internal static string RemoveJob { get { - return ResourceManager.GetString("RBP_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RemoveJob", resourceCulture); } } /// - /// Looks up a localized string similar to Removing pool .... + /// Looks up a localized string similar to Are you sure you want to remove job {0}?. /// - internal static string RBP_RemovePool { + internal static string RemoveJobConfirm { get { - return ResourceManager.GetString("RBP_RemovePool", resourceCulture); + return ResourceManager.GetString("RemoveJobConfirm", resourceCulture); } } /// - /// Looks up a localized string similar to Are you sure you want to remove task {0}?. + /// Looks up a localized string similar to Removing job schedule .... /// - internal static string RBT_RemoveConfirm { + internal static string RemoveJobSchedule { get { - return ResourceManager.GetString("RBT_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RemoveJobSchedule", resourceCulture); } } /// - /// Looks up a localized string similar to Removing task .... + /// Looks up a localized string similar to Are you sure you want to remove job schedule {0}?. /// - internal static string RBT_RemoveTask { + internal static string RemoveJobScheduleConfirm { get { - return ResourceManager.GetString("RBT_RemoveTask", resourceCulture); + return ResourceManager.GetString("RemoveJobScheduleConfirm", resourceCulture); } } /// - /// Looks up a localized string similar to Are you sure you want to remove user {0}?. + /// Looks up a localized string similar to Removing pool .... /// - internal static string RBU_RemoveConfirm { + internal static string RemovePool { get { - return ResourceManager.GetString("RBU_RemoveConfirm", resourceCulture); + return ResourceManager.GetString("RemovePool", resourceCulture); } } /// - /// Looks up a localized string similar to Removing user .... + /// Looks up a localized string similar to Are you sure you want to remove pool {0}?. /// - internal static string RBU_RemoveUser { + internal static string RemovePoolConfirm { get { - return ResourceManager.GetString("RBU_RemoveUser", resourceCulture); + return ResourceManager.GetString("RemovePoolConfirm", resourceCulture); } } /// - /// Looks up a localized string similar to Rebooting compute node {0}.. + /// Looks up a localized string similar to Removing task .... /// - internal static string RebootComputeNode { + internal static string RemoveTask { get { - return ResourceManager.GetString("RebootComputeNode", resourceCulture); + return ResourceManager.GetString("RemoveTask", resourceCulture); } } /// - /// Looks up a localized string similar to Reimaging compute node {0}.. + /// Looks up a localized string similar to Are you sure you want to remove task {0}?. /// - internal static string ReimageComputeNode { + internal static string RemoveTaskConfirm { get { - return ResourceManager.GetString("ReimageComputeNode", resourceCulture); + return ResourceManager.GetString("RemoveTaskConfirm", resourceCulture); } } @@ -772,38 +763,29 @@ internal static string ResGroupLookup { } /// - /// Looks up a localized string similar to ResourceNotFound: Resource not found.. - /// - internal static string ResourceNotFound { - get { - return ResourceManager.GetString("ResourceNotFound", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Updating account {0}. + /// Looks up a localized string similar to Resizing pool {0}, new target dedicated: {1}.. /// - internal static string SBA_Updating { + internal static string ResizingPool { get { - return ResourceManager.GetString("SBA_Updating", resourceCulture); + return ResourceManager.GetString("ResizingPool", resourceCulture); } } /// - /// Looks up a localized string similar to Resizing pool {0}, new target dedicated: {1}.. + /// Looks up a localized string similar to ResourceNotFound: Resource not found.. /// - internal static string SBPR_ResizingPool { + internal static string ResourceNotFound { get { - return ResourceManager.GetString("SBPR_ResizingPool", resourceCulture); + return ResourceManager.GetString("ResourceNotFound", resourceCulture); } } /// /// Looks up a localized string similar to Stopping resize operation on pool {0}.. /// - internal static string SBPR_StopResizingPool { + internal static string StopResizingPool { get { - return ResourceManager.GetString("SBPR_StopResizingPool", resourceCulture); + return ResourceManager.GetString("StopResizingPool", resourceCulture); } } @@ -833,5 +815,14 @@ internal static string TerminateTask { return ResourceManager.GetString("TerminateTask", resourceCulture); } } + + /// + /// Looks up a localized string similar to Updating account {0}. + /// + internal static string UpdatingAccount { + get { + return ResourceManager.GetString("UpdatingAccount", resourceCulture); + } + } } } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.resx b/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.resx index 48f631cd23a2..5e7a2083d568 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.resx +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + AccountAlreadyExists: Account already exists. + Executing cmdlet with Batch account {0} with its {1} key. To change which key to use, set the KeyInUse property on the BatchAccountContext. @@ -126,6 +129,24 @@ Changing OS version of pool {0} to {1}. + + Performing name availability check for account {0} + + + Creating user {0} on compute node {1} + + + Creating job {0} + + + Creating job schedule {0} + + + Creating pool {0} + + + Creating task {0} + Disabling automatic scaling on pool {0}. @@ -135,6 +156,12 @@ Disabling job schedule {0}. + + Downloading node file {0} to: {1} + + + Downloading Remote Desktop Protocol file for compute node {0} to: {1} + Enabling automatic scaling on pool {0} using the formula: {1} @@ -150,92 +177,83 @@ Evaluating the following autoscale formula on pool {0}: {1} - - Getting account keys for {0} - - + Getting all accounts in subscription - - Getting accounts in resource group {0} - - - Getting node file "{0}" from compute node "{1}" - - - Getting node files matching the specified OData filter from compute node "{0}". - - - Getting all node files from compute node "{0}". - - + Getting compute node "{0}" from pool "{1}". - + Getting compute nodes matching the specified OData filter from pool "{0}". - + Getting all compute nodes under pool "{0}". - - Getting job schedule "{0}" - - - Getting job schedules matching the specified OData filter. - - - Getting all job schedules associated with the Batch account. - - + Getting job "{0}" - + Getting all jobs from job schedule "{0}". - + Getting jobs matching the specified OData filter. - + Getting jobs matching the specified OData filter from job schedule "{0}". - + Getting all jobs associated with the Batch account. - - Downloading node file {0} to: {1} + + Getting job schedule "{0}" - - Getting pool "{0}" + + Getting job schedules matching the specified OData filter. - - Getting pools matching the specified OData filter. + + Getting all job schedules associated with the Batch account. - - Getting all pools associated with the Batch account. + + Getting node file "{0}" from compute node "{1}" - - Downloading Remote Desktop Protocol file for compute node {0} to: {1} + + Getting node files matching the specified OData filter from compute node "{0}". + + + Getting all node files from compute node "{0}". - + Getting node file "{0}" from task "{1}" - + Getting node files matching the specified OData filter from task "{0}". - + Getting all node files under task "{0}". - + + Getting pool "{0}" + + + Getting pools matching the specified OData filter. + + + Getting all pools associated with the Batch account. + + + Getting accounts in resource group {0} + + Getting task "{0}" from job "{1}" - + Getting tasks matching the specified OData filter from job "{0}". - + Getting all tasks from job "{0}". - - No compute node was specified. Supply a PSComputeNode object or a pool id and compute node id for the Remote Desktop Protocol file to point to. + + Getting account keys for {0} The endpoint is not recognized as valid: {0} @@ -252,36 +270,15 @@ The current KeyInUse on this BatchAccountContext is the {0} key, but this key is not populated on the BatchAccountContext object. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its keys populated. + + Checking if account already exists + A max count of {0} will be returned. Cannot find resource group name in ID property: {0} - - AccountAlreadyExists: Account already exists. - - - Checking if account already exists - - - Performing name availability check for account {0} - - - Creating job schedule {0} - - - Creating job {0} - - - Creating pool {0} - - - Creating task {0} - - - Creating user {0} on compute node {1} - No compute node was specified. Supply a PSComputeNode object or a pool id and compute node id. @@ -309,62 +306,59 @@ No task was specified. Supply a PSCloudTask object or a job id and task id. - + + Rebooting compute node {0}. + + + Reimaging compute node {0}. + + Are you sure you want to remove batch account {0}? - + Removing batch account ... - - Are you sure you want to remove job schedule {0}? + + Removing user ... - - Removing job schedule ... + + Are you sure you want to remove user {0}? + + + Removing job ... - + Are you sure you want to remove job {0}? - - Removing job ... + + Removing job schedule ... - - Are you sure you want to remove pool {0}? + + Are you sure you want to remove job schedule {0}? - + Removing pool ... - - Are you sure you want to remove task {0}? + + Are you sure you want to remove pool {0}? - + Removing task ... - - Are you sure you want to remove user {0}? - - - Removing user ... - - - Rebooting compute node {0}. - - - Reimaging compute node {0}. + + Are you sure you want to remove task {0}? Looking up resource group for account {0} + + Resizing pool {0}, new target dedicated: {1}. + ResourceNotFound: Resource not found. emulate exception generated by RP - - Updating account {0} - - - Resizing pool {0}, new target dedicated: {1}. - - + Stopping resize operation on pool {0}. @@ -376,4 +370,7 @@ Terminating task {0}. + + Updating account {0} + \ No newline at end of file diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/GetBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/GetBatchTaskCommand.cs index c28fb7ffad8d..937c35a62a3e 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/GetBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/GetBatchTaskCommand.cs @@ -20,13 +20,16 @@ namespace Microsoft.Azure.Commands.Batch { - [Cmdlet(VerbsCommon.Get, Constants.AzureBatchTask, DefaultParameterSetName = Constants.ODataFilterParameterSet), OutputType(typeof(PSCloudTask))] + [Cmdlet(VerbsCommon.Get, Constants.AzureBatchTask, DefaultParameterSetName = Constants.ODataFilterParameterSet), + OutputType(typeof(PSCloudTask))] public class GetBatchTaskCommand : BatchObjectModelCmdletBase { private int maxCount = Constants.DefaultMaxCount; - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job which contains the tasks.")] - [Parameter(Position = 0, ParameterSetName = Constants.ODataFilterParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true)] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job which contains the tasks.")] + [Parameter(Position = 0, ParameterSetName = Constants.ODataFilterParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true)] [ValidateNotNullOrEmpty] public string JobId { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs index 027edfca98cf..f39d1ab518b3 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs @@ -24,7 +24,8 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.New, Constants.AzureBatchTask)] public class NewBatchTaskCommand : BatchObjectModelCmdletBase { - [Parameter(ParameterSetName = Constants.IdParameterSet, Mandatory = true, HelpMessage = "The id of the job to create the task under.")] + [Parameter(ParameterSetName = Constants.IdParameterSet, Mandatory = true, + HelpMessage = "The id of the job to create the task under.")] [ValidateNotNullOrEmpty] public string JobId { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs index 532ba83a51c8..b0660fbafa59 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs @@ -24,15 +24,18 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsCommon.Remove, Constants.AzureBatchTask)] public class RemoveBatchTaskCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the task to delete.")] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the task to delete.")] [ValidateNotNullOrEmpty] public string JobId { get; set; } - [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task to delete.")] + [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task to delete.")] [ValidateNotNullOrEmpty] public string Id { get; set; } - [Parameter(Position = 0, ParameterSetName = Constants.InputObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The PSCloudTask object representing the task to delete.")] + [Parameter(Position = 0, ParameterSetName = Constants.InputObjectParameterSet, Mandatory = true, + ValueFromPipeline = true, HelpMessage = "The PSCloudTask object representing the task to delete.")] [ValidateNotNullOrEmpty] public PSCloudTask InputObject { get; set; } @@ -47,8 +50,8 @@ protected override void ProcessRecord() ConfirmAction( Force.IsPresent, - string.Format(Resources.RBT_RemoveConfirm, taskId), - Resources.RBT_RemoveTask, + string.Format(Resources.RemoveTaskConfirm, taskId), + Resources.RemoveTask, taskId, () => BatchClient.DeleteTask(parameters)); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs index 744468a263b6..26cbb105f016 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs @@ -22,15 +22,18 @@ namespace Microsoft.Azure.Commands.Batch [Cmdlet(VerbsLifecycle.Stop, Constants.AzureBatchTask)] public class StopBatchTaskCommand : BatchObjectModelCmdletBase { - [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the task to terminate.")] + [Parameter(Position = 0, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the job containing the task to terminate.")] [ValidateNotNullOrEmpty] public string JobId { get; set; } - [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task to terminate.")] + [Parameter(Position = 1, ParameterSetName = Constants.IdParameterSet, Mandatory = true, + ValueFromPipelineByPropertyName = true, HelpMessage = "The id of the task to terminate.")] [ValidateNotNullOrEmpty] public string Id { get; set; } - [Parameter(Position = 0, ParameterSetName = Constants.InputObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The PSCloudTask object representing the task to terminate.")] + [Parameter(Position = 0, ParameterSetName = Constants.InputObjectParameterSet, Mandatory = true, + ValueFromPipeline = true, HelpMessage = "The PSCloudTask object representing the task to terminate.")] [ValidateNotNullOrEmpty] public PSCloudTask Task { get; set; } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs index 4931bb8e6644..07c0805009a8 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs @@ -19,6 +19,13 @@ public class Constants public const int DefaultMaxCount = 1000; // Cmdlet nouns + + public const string AzureBatchAccount = "AzureRMBatchAccount"; + public const string AzureBatchAccountKey = "AzureRMBatchAccountKey"; + public const string AzureBatchAccountKeys = "AzureRMBatchAccountKeys"; + + + public const string AzureBatchPool = "AzureRMBatchPool"; public const string AzureBatchPoolResize = "AzureRMBatchPoolResize"; public const string AzureBatchComputeNode = "AzureRMBatchComputeNode"; diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj b/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj index 6a0723c7039a..8cb4ab318a42 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj +++ b/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj @@ -113,9 +113,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {C1BDA476-A5CC-4394-914D-48B0EC31A710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {1a131d3a-eac4-420c-a1c0-5490ed68ef67} diff --git a/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj b/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj index b51a00394497..f23b0fb46cee 100644 --- a/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj +++ b/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj @@ -176,9 +176,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj b/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj index dce4b1fee69d..c70686f31bbc 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj +++ b/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj @@ -224,6 +224,17 @@ + + + + + + + + + + + diff --git a/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs index f67e1ef7762c..a35ed4252204 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs @@ -23,6 +23,11 @@ public abstract class ComputeClientBaseCmdlet : Microsoft.Azure.Commands.Resourc { protected const string VirtualMachineExtensionType = "Microsoft.Compute/virtualMachines/extensions"; + protected override bool IsUsageMetricEnabled + { + get { return true; } + } + private ComputeClient computeClient; public ComputeClient ComputeClient @@ -54,18 +59,11 @@ protected void ExecuteClientAction(Action action) { try { - try - { - action(); - } - catch (CloudException ex) - { - throw new ComputeCloudException(ex); - } + action(); } - catch (Exception ex) + catch (CloudException ex) { - WriteExceptionError(ex); + throw new ComputeCloudException(ex); } } } diff --git a/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs b/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs index c4cbd1cfe5d9..2f5eabcae1dc 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs @@ -99,5 +99,8 @@ public static class ProfileNouns public const string VirtualMachineDscConfiguration = "AzureRMVMDscConfiguration"; public const string Vhd = "AzureRMVhd"; + + // Sql Server + public const string VirtualMachineSqlServerExtension = "AzureRMVMSqlServerExtension"; } } diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoBackupSettings.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoBackupSettings.cs new file mode 100644 index 000000000000..8ee4fc21c38d --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoBackupSettings.cs @@ -0,0 +1,56 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +using Newtonsoft.Json; + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// Autobackup settings to configure managed backup on SQL VM + /// + public class AutoBackupSettings + { + /// + /// Defines if the Auto-backup feature is enabled or disabled + /// + public bool Enable { get; set; } + + /// + /// Defines if backups will be encrypted or not + /// + public bool EnableEncryption { get; set; } + + /// + /// Defines the number of days to keep the backups + /// + public int RetentionPeriod { get; set; } + + /// + /// storage url where databases will be backed up + /// + [JsonIgnoreAttribute()] + public string StorageUrl { get; set; } + + /// + /// Key of storage account used by managed backup + /// + [JsonIgnoreAttribute()] + public string StorageAccessKey { get; set; } + + /// + /// Password required for certification when encryption is enabled + /// + [JsonIgnoreAttribute()] + public string Password { get; set; } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoPatchingSettings.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoPatchingSettings.cs new file mode 100644 index 000000000000..f9dfd45d132d --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoPatchingSettings.cs @@ -0,0 +1,47 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// AutoPatching settings to configure auto-patching on SQL VM + /// + public class AutoPatchingSettings + { + /// + /// Enable / Disable auto patching + /// + public bool Enable { get; set; } + + /// + /// Day of the week + /// + public string DayOfWeek { get; set; } + + /// + /// Maintainance Windows Start hour ( 0 to 23 ) + /// + public int MaintenanceWindowStartingHour { get; set; } + + /// + /// Maintainance window duration in minutes + /// + public int MaintenanceWindowDuration { get; set; } + + /// + /// Patch category returned as string + /// + public string PatchCategory { get; set; } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoTelemetrySettings.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoTelemetrySettings.cs new file mode 100644 index 000000000000..30d272831004 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerAutoTelemetrySettings.cs @@ -0,0 +1,27 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// AutoTelemetry settings to configure telemetry collection on SQL VM + /// + public class AutoTelemetrySettings + { + /// + /// The name of the region the VM is running in. + /// + public string Region { get; set; } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPrivateSettings.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPrivateSettings.cs new file mode 100644 index 000000000000..30a6ffb2c61a --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPrivateSettings.cs @@ -0,0 +1,37 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// SQL Server extension's private settings + /// + public class SqlServerPrivateSettings + { + /// + /// Azure blob store URL + /// + public string StorageUrl; + + /// + /// Storage account access key + /// + public string StorageAccessKey; + + /// + /// Password required for certification when encryption is enabled + /// + public string Password; + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPublicSettings.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPublicSettings.cs new file mode 100644 index 000000000000..d10c6a466a34 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/AzureVMSqlServerPublicSettings.cs @@ -0,0 +1,37 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// SQL Server Extension's public settings + /// + public class SqlServerPublicSettings + { + /// + /// Auto patching settings + /// + public AutoPatchingSettings AutoPatchingSettings { get; set; } + + /// + /// Auto-backup settings + /// + public AutoBackupSettings AutoBackupSettings { get; set; } + + /// + /// Auto-telemetry settings + /// + public AutoTelemetrySettings AutoTelemetrySettings { get; set; } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/GetAzureVMSqlServerExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/GetAzureVMSqlServerExtensionCommand.cs new file mode 100644 index 000000000000..8fc3ad197451 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/GetAzureVMSqlServerExtensionCommand.cs @@ -0,0 +1,134 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure.Commands.Compute.Common; +using Microsoft.Azure.Commands.Compute.Models; +using Microsoft.Azure.Management.Compute; +using System; +using System.Management.Automation; +using Newtonsoft.Json; +using System.Globalization; + +namespace Microsoft.Azure.Commands.Compute +{ + [Cmdlet( + VerbsCommon.Get, + ProfileNouns.VirtualMachineSqlServerExtension, + DefaultParameterSetName = GetSqlServerExtensionParamSetName), + OutputType( + typeof(VirtualMachineSqlServerExtensionContext))] + public class GetAzureVMSqlServerExtensionCommand : VirtualMachineExtensionBaseCmdlet + { + protected const string GetSqlServerExtensionParamSetName = "GetSqlServerExtension"; + + [Parameter( + Mandatory = true, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The resource group name.")] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Mandatory = true, + Position = 1, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The virtual machine name.")] + [ValidateNotNullOrEmpty] + public string VMName { get; set; } + + [Parameter( + Position = 2, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Name of the ARM resource that represents the extension. The Set-AzureVMSqlServerExtension cmdlet sets this name to " + + "'Microsoft.SqlServer.Management.SqlIaaSAgent', which is the same value used by Get-AzureVMSqlServerExtension. Specify this parameter only if you changed " + + "the default name in the Set cmdlet or used a different resource name in an ARM template.")] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + protected override void ProcessRecord() + { + base.ProcessRecord(); + + if (String.IsNullOrEmpty(Name)) + { + Name = VirtualMachineSqlServerExtensionContext.ExtensionPublishedNamespace + "." + VirtualMachineSqlServerExtensionContext.ExtensionPublishedName; + } + + var result = VirtualMachineExtensionClient.GetWithInstanceView(ResourceGroupName, VMName, Name); + var extension = result.ToPSVirtualMachineExtension(ResourceGroupName); + + if ( + extension.Publisher.Equals(VirtualMachineSqlServerExtensionContext.ExtensionPublishedNamespace, + StringComparison.InvariantCultureIgnoreCase) && + extension.ExtensionType.Equals(VirtualMachineSqlServerExtensionContext.ExtensionPublishedName, + StringComparison.InvariantCultureIgnoreCase)) + { + WriteObject(GetSqlServerExtensionContext(extension)); + } + else + { + WriteObject(null); + } + } + + private VirtualMachineSqlServerExtensionContext GetSqlServerExtensionContext(PSVirtualMachineExtension extension) + { + SqlServerPublicSettings extensionPublicSettings = null; + VirtualMachineSqlServerExtensionContext context = null; + + try + { + extensionPublicSettings = string.IsNullOrEmpty(extension.PublicSettings) ? null + : JsonConvert.DeserializeObject(extension.PublicSettings); + + // #$ISSUE- extension.Statuses is always null, follow up with Azure team + context = new VirtualMachineSqlServerExtensionContext + { + ResourceGroupName = extension.ResourceGroupName, + Name = extension.Name, + Location = extension.Location, + Etag = extension.Etag, + Publisher = extension.Publisher, + ExtensionType = extension.ExtensionType, + TypeHandlerVersion = extension.TypeHandlerVersion, + Id = extension.Id, + PublicSettings = JsonConvert.SerializeObject(extensionPublicSettings), + ProtectedSettings = extension.ProtectedSettings, + ProvisioningState = extension.ProvisioningState, + AutoBackupSettings = extensionPublicSettings.AutoBackupSettings, + AutoPatchingSettings = extensionPublicSettings.AutoPatchingSettings, + Statuses = extension.Statuses + }; + + } + catch (JsonException e) + { + ThrowTerminatingError( + new ErrorRecord( + new JsonException( + String.Format( + CultureInfo.CurrentUICulture, + Properties.Resources.AzureVMSqlServerWrongSettingsFormat, + extension.PublicSettings), + e), + string.Empty, + ErrorCategory.ParserError, + null)); + } + + return context; + } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoBackupConfig.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoBackupConfig.cs new file mode 100644 index 000000000000..33cea12ad0a5 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoBackupConfig.cs @@ -0,0 +1,208 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Management.Automation; +using System.Security; +using Microsoft.WindowsAzure.Commands.Common.Storage; +using Microsoft.WindowsAzure.Storage; +using Microsoft.Azure.Management.Storage; +using System.Runtime.InteropServices; +using System.Security.Permissions; + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// Helper cmdlet to construct instance of AutoBackup settings class + /// + [Cmdlet( + VerbsCommon.New, + AzureVMSqlServerAutoBackupConfigNoun, + DefaultParameterSetName = StorageUriParamSetName), + OutputType( + typeof(AutoBackupSettings))] + public class NewAzureVMSqlServerAutoBackupConfigCommand : PSCmdlet + { + protected const string AzureVMSqlServerAutoBackupConfigNoun = "AzureVMSqlServerAutoBackupConfig"; + + protected const string StorageContextParamSetName = "StorageContextSqlServerAutoBackup"; + protected const string StorageUriParamSetName = "StorageUriSqlServerAutoBackup"; + + [Parameter( + Mandatory = true, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The resource group name.")] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Mandatory = false, + Position = 1, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Enable Automatic Backup.")] + [ValidateNotNullOrEmpty] + public SwitchParameter Enable { get; set; } + + [Parameter( + Mandatory = false, + Position = 2, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Backup Retention period in days.")] + [ValidateNotNullOrEmpty] + public int RetentionPeriodInDays { get; set; } + + [Parameter( + Mandatory = false, + Position = 3, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Enable Backup Encryption.")] + [ValidateNotNullOrEmpty] + public SwitchParameter EnableEncryption { get; set; } + + [Parameter( + Mandatory = false, + Position = 4, + ValueFromPipelineByPropertyName = false, + HelpMessage = "Certificate password.")] + public SecureString CertificatePassword { get; set; } + + [Parameter( + ParameterSetName = StorageContextParamSetName, + Mandatory = false, + Position = 5, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The storage connection context")] + [ValidateNotNullOrEmpty] + public AzureStorageContext StorageContext + { + get; + set; + } + + [Parameter( + Mandatory = false, + Position = 4, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The storage uri")] + [ValidateNotNullOrEmpty] + public Uri StorageUri + { + get; + set; + } + + [Parameter( + Mandatory = false, + Position = 5, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The storage access key")] + [ValidateNotNullOrEmpty] + public SecureString StorageKey + { + get; + set; + } + + /// + /// Initialzies a new instance of the class. + /// + public NewAzureVMSqlServerAutoBackupConfigCommand() + { + } + + /// + /// Creates and returns object. + /// + protected override void ProcessRecord() + { + AutoBackupSettings autoBackupSettings = new AutoBackupSettings(); + + autoBackupSettings.Enable = (Enable.IsPresent) ? Enable.ToBool() : false; + autoBackupSettings.EnableEncryption = (EnableEncryption.IsPresent) ? EnableEncryption.ToBool() : false; + autoBackupSettings.RetentionPeriod = RetentionPeriodInDays; + + switch(ParameterSetName) + { + case StorageContextParamSetName: + autoBackupSettings.StorageUrl = StorageContext.BlobEndPoint; + autoBackupSettings.StorageAccessKey = this.GetStorageKey(); + break; + + case StorageUriParamSetName: + autoBackupSettings.StorageUrl = (StorageUri == null)? null: StorageUri.ToString(); + autoBackupSettings.StorageAccessKey = (StorageKey == null)? null: ConvertToUnsecureString(StorageKey); + break; + } + + // Check if certificate password was set + autoBackupSettings.Password = (CertificatePassword == null) ? null : ConvertToUnsecureString(CertificatePassword); + + WriteObject(autoBackupSettings); + } + + protected string GetStorageKey() + { + string storageKey = string.Empty; + string storageName = (this.StorageContext == null) ? null : this.StorageContext.StorageAccountName; + + if (!string.IsNullOrEmpty(storageName)) + { + var storageClient = new StorageManagementClient(); + + var storageAccount = storageClient.StorageAccounts.GetProperties(this.ResourceGroupName, storageName); + + if (storageAccount != null) + { + var keys = storageClient.StorageAccounts.ListKeys(this.ResourceGroupName, storageName); + + if (keys != null && keys.StorageAccountKeys != null) + { + storageKey = !string.IsNullOrEmpty(keys.StorageAccountKeys.Key1) ? + keys.StorageAccountKeys.Key1 : + keys.StorageAccountKeys.Key2; + } + } + } + + return storageKey; + } + + /// + /// convert secure string to regular string + /// $Issue - for ARM cmdlets, check if there is a similair helper class library like Microsoft.WindowsAzure.Commands.ServiceManagement.Helpers + /// + /// + /// + [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] + private static string ConvertToUnsecureString(SecureString securePassword) + { + if (securePassword == null) + { + throw new ArgumentNullException("securePassword"); + } + + IntPtr unmanagedString = IntPtr.Zero; + try + { + unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(securePassword); + return Marshal.PtrToStringUni(unmanagedString); + } + finally + { + Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); + } + } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoPatchingConfig.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoPatchingConfig.cs new file mode 100644 index 000000000000..c589a75436d5 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/NewAzureVMSqlServerAutoPatchingConfig.cs @@ -0,0 +1,71 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// Helper cmdlet to construct instance of AutoPatching settings class + /// + [Cmdlet( + VerbsCommon.New, + AzureVMSqlServerAutoPatchingConfigNoun), + OutputType( + typeof(AutoPatchingSettings))] + public class NewAzureVMSqlServerAutoPatchingConfigCommand : PSCmdlet + { + protected const string AzureVMSqlServerAutoPatchingConfigNoun = "AzureVMSqlServerAutoPatchingConfig"; + + [Parameter] + public SwitchParameter Enable { get; set; } + + [Parameter] + [ValidateSetAttribute(new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Everyday" })] + public string DayOfWeek { get; set; } + + [Parameter] + public int MaintenanceWindowStartingHour { get; set; } + + [Parameter] + public int MaintenanceWindowDuration { get; set; } + + [Parameter] + [ValidateSetAttribute(new string[] { "Important" })] + public string PatchCategory { get; set; } + + /// + /// Initialzies a new instance of the class. + /// + public NewAzureVMSqlServerAutoPatchingConfigCommand() + { + } + + /// + /// Creates and returns object. + /// + protected override void ProcessRecord() + { + AutoPatchingSettings autoPatchingSettings = new AutoPatchingSettings(); + + autoPatchingSettings.Enable = (Enable.IsPresent) ? Enable.ToBool() : false; + autoPatchingSettings.DayOfWeek = DayOfWeek; + autoPatchingSettings.MaintenanceWindowStartingHour = MaintenanceWindowStartingHour; + autoPatchingSettings.MaintenanceWindowDuration = MaintenanceWindowDuration; + autoPatchingSettings.PatchCategory = PatchCategory; + + WriteObject(autoPatchingSettings); + } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/RemoveAzureVMSqlServerExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/RemoveAzureVMSqlServerExtensionCommand.cs new file mode 100644 index 000000000000..476dc6aff866 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/RemoveAzureVMSqlServerExtensionCommand.cs @@ -0,0 +1,72 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure.Commands.Compute.Common; +using Microsoft.Azure.Management.Compute; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Compute +{ + [Cmdlet( + VerbsCommon.Remove, + ProfileNouns.VirtualMachineSqlServerExtension)] + public class RemoveAzureVMSqlServerExtensionCommand : VirtualMachineExtensionBaseCmdlet + { + [Parameter( + Mandatory = true, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The resource group name.")] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Alias("ResourceName")] + [Parameter( + Mandatory = true, + Position = 1, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The virtual machine name.")] + [ValidateNotNullOrEmpty] + public string VMName { get; set; } + + [Alias("ExtensionName")] + [Parameter( + Mandatory = true, + Position = 2, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Name of the ARM resource that represents the extension. This is defaulted to 'Microsoft.SqlServer.Management.SqlIaaSAgent'.")] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + protected override void ProcessRecord() + { + base.ProcessRecord(); + + ExecuteClientAction(() => + { + if (string.IsNullOrEmpty(Name)) + { + Name = VirtualMachineSqlServerExtensionContext.ExtensionPublishedNamespace + "." + VirtualMachineSqlServerExtensionContext.ExtensionPublishedName; + } + + if (this.ShouldContinue(Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Properties.Resources.VirtualMachineExtensionRemovalCaption)) + { + var op = this.VirtualMachineExtensionClient.Delete(this.ResourceGroupName, this.VMName, this.Name); + WriteObject(op); + } + }); + } + + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/SetAzureVMSqlServerExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/SetAzureVMSqlServerExtensionCommand.cs new file mode 100644 index 000000000000..e5c2daee8ada --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/SetAzureVMSqlServerExtensionCommand.cs @@ -0,0 +1,158 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +using AutoMapper; +using Microsoft.Azure.Commands.Compute.Common; +using Microsoft.Azure.Commands.Compute.Models; +using Microsoft.Azure.Management.Compute; +using Microsoft.Azure.Management.Compute.Models; +using Newtonsoft.Json; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Compute +{ + [Cmdlet( + VerbsCommon.Set, + ProfileNouns.VirtualMachineSqlServerExtension)] + public class SetAzureSqlServerExtensionCommand : VirtualMachineExtensionBaseCmdlet + { + /// + /// The specific version of the SqlServer extension that Set-AzureVMSqlServerExtension will + /// apply the settings to. + /// + [Alias("HandlerVersion")] + [Parameter( + Position = 1, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The version of the SqlServer extension that Set-AzureVMSqlServerExtension will apply the settings to. " + + "Allowed format N.N")] + [ValidateNotNullOrEmpty] + public string Version { get; set; } + + [Parameter( + Mandatory = true, + Position = 2, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The resource group name.")] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Mandatory = true, + Position = 3, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Name of the virtual machine where Sql Server extension handler would be installed.")] + [ValidateNotNullOrEmpty] + public string VMName { get; set; } + + [Parameter( + ValueFromPipelineByPropertyName = true, + Position = 4, + HelpMessage = "Name of the ARM resource that represents the extension. This is defaulted to 'Microsoft.SqlServer.Management.SqlIaaSAgent'.")] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + [Parameter( + Mandatory = false, + Position = 5, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The Automatic Patching configuration.")] + [ValidateNotNullOrEmpty] + public AutoPatchingSettings AutoPatchingSettings { get; set; } + + [Parameter( + Mandatory = false, + Position = 6, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The Automatic Backup configuration.")] + [ValidateNotNullOrEmpty] + public AutoBackupSettings AutoBackupSettings { get; set; } + + [Parameter( + Position = 7, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Location of the resource.")] + [ValidateNotNullOrEmpty] + public string Location { get; set; } + + protected override void ProcessRecord() + { + base.ProcessRecord(); + + var parameters = new VirtualMachineExtension + { + Location = this.Location, + Name = Name ?? VirtualMachineSqlServerExtensionContext.ExtensionPublishedNamespace + "." + VirtualMachineSqlServerExtensionContext.ExtensionPublishedName, + Type = VirtualMachineExtensionType, + Publisher = VirtualMachineSqlServerExtensionContext.ExtensionPublishedNamespace, + ExtensionType = VirtualMachineSqlServerExtensionContext.ExtensionPublishedName, + TypeHandlerVersion = string.IsNullOrEmpty(this.Version) ? VirtualMachineSqlServerExtensionContext.ExtensionDefaultVersion : this.Version, + Settings = this.GetPublicConfiguration(), + ProtectedSettings = this.GetPrivateConfiguration(), + }; + + // Add retry logic due to CRP service restart known issue CRP bug: 3564713 + // Similair approach taken in DSC cmdlet as well + var count = 1; + ComputeLongRunningOperationResponse op = null; + while (count <= 2) + { + op = VirtualMachineExtensionClient.CreateOrUpdate( + ResourceGroupName, + VMName, + parameters); + + if (ComputeOperationStatus.Failed.Equals(op.Status) && op.Error != null && "InternalExecutionError".Equals(op.Error.Code)) + { + count++; + } + else + { + break; + } + } + var result = Mapper.Map(op); + WriteObject(result); + } + + /// + /// Returns the public configuration as string + /// + /// + private string GetPublicConfiguration() + { + return JsonConvert.SerializeObject( + new SqlServerPublicSettings + { + AutoPatchingSettings = this.AutoPatchingSettings, + AutoBackupSettings = this.AutoBackupSettings, + AutoTelemetrySettings = new AutoTelemetrySettings() { Region = this.Location} + }); + } + + /// + /// Returns private configuration as string + /// + /// + private string GetPrivateConfiguration() + { + return JsonConvert.SerializeObject( + new SqlServerPrivateSettings + { + StorageUrl = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.StorageUrl, + StorageAccessKey = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.StorageAccessKey, + Password = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.Password + }); + } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/VirtualMachineSqlServerExtensionContext.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/VirtualMachineSqlServerExtensionContext.cs new file mode 100644 index 000000000000..c172036af9e1 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SqlServer/VirtualMachineSqlServerExtensionContext.cs @@ -0,0 +1,52 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.Azure.Commands.Compute.Models; +using Newtonsoft.Json; +using System; +using System.Collections; + +namespace Microsoft.Azure.Commands.Compute +{ + /// + /// SQL VM Extension's context object used by Get-AzureVMSqlServerExtension + /// + public class VirtualMachineSqlServerExtensionContext : PSVirtualMachineExtension + { + /// + /// SQLVM Extension's publisher name + /// + public const string ExtensionPublishedNamespace = "Microsoft.SqlServer.Management"; + + /// + /// SQLVM Extension's name + /// + public const string ExtensionPublishedName = "SqlIaaSAgent"; + + /// + /// SQLVM Extension's default version + /// + public const string ExtensionDefaultVersion = "1.*"; + + /// + /// Auto-patching settings + /// + public AutoPatchingSettings AutoPatchingSettings; + + /// + /// Auto-backup settings + /// + public AutoBackupSettings AutoBackupSettings; + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs index dd33b7bf4cfe..bc261e67223f 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs @@ -223,6 +223,16 @@ public static string AzureVMDscWrongSettingsFormat { } } + /// + /// Looks up a localized string similar to Cannot deserialize settings string from Sql Server extension. Updating your Azure PowerShell SDK to the latest version may solve this problem. Settings string: + ///{0}. + /// + public static string AzureVMSqlServerWrongSettingsFormat { + get { + return ResourceManager.GetString("AzureVMSqlServerWrongSettingsFormat", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cannot specify both Windows and Linux configurations.. /// diff --git a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx index e146c69050c7..706607059977 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx +++ b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx @@ -362,6 +362,11 @@ The file needs to be a PowerShell script (.ps1 or .psm1). A data disk, {0}, is not currently assigned for this VM. Use Add-AzureVMDataDisk to add it. + + Cannot deserialize settings string from Sql Server extension. Updating your Azure PowerShell SDK to the latest version may solve this problem. Settings string: +{0} + {0} settings json string + Path '{0}' not found. 0 = path to the additional content file/directory diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs index bfb702ce1dd6..dd2e6cc62526 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs @@ -51,6 +51,11 @@ public class NewAzureVMConfigCommand : Microsoft.Azure.Commands.ResourceManager. [ValidateNotNullOrEmpty] public string AvailabilitySetId { get; set; } + protected override bool IsUsageMetricEnabled + { + get { return true; } + } + protected override void ProcessRecord() { var vm = new PSVirtualMachine diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj index ee801ec9d44a..045329d2b004 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj @@ -288,14 +288,14 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common + {9577252e-0a6b-4d61-86e8-95f7f309a987} Commands.DataFactories @@ -325,4 +325,4 @@ --> - + \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj b/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj index 88176b3867ff..1df9e0534063 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj +++ b/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj @@ -159,9 +159,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj index 9c71259f8c46..ee3fea410f61 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj @@ -144,9 +144,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {E1F5201D-6067-430E-B303-4E367652991B} diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj b/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj index 113fccb4f744..6a6e0608019d 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj @@ -101,11 +101,13 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - - ..\..\..\packages\Microsoft.Azure.Management.HDInsight.1.0.1-preview\lib\net40\Microsoft.Azure.Management.HDInsight.dll + + False + ..\..\..\packages\Microsoft.Azure.Management.HDInsight.1.0.5-preview\lib\net40\Microsoft.Azure.Management.HDInsight.dll - - ..\..\..\packages\Microsoft.Azure.Management.HDInsight.Job.1.0.1-preview\lib\net40\Microsoft.Azure.Management.HDInsight.Job.dll + + False + ..\..\..\packages\Microsoft.Azure.Management.HDInsight.Job.1.0.5-preview\lib\net40\Microsoft.Azure.Management.HDInsight.Job.dll False diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config b/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config index 09e750681d5a..7faac16bad6c 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config @@ -4,8 +4,8 @@ - - + + diff --git a/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj b/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj index ceb692e1cdf7..364356c9c9b4 100644 --- a/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj +++ b/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj @@ -173,9 +173,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {DEA446A1-84E2-46CC-B780-EB4AFDE2460E} diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj index 64ab274be849..7b2b4f54903d 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj @@ -291,9 +291,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj b/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj index 4f732dfa07db..c2aab6c35c23 100644 --- a/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj +++ b/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj @@ -328,9 +328,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.dll-Help.xml b/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.dll-Help.xml index 62c74e576a7e..a34a8faf479f 100644 --- a/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.dll-Help.xml +++ b/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.dll-Help.xml @@ -1,23045 +1,27873 @@ - - - - - Add-AzureApplicationGatewayBackendAddressPool - - - - - - - Add - AzureApplicationGatewayBackendAddressPool - - - - - - - - Add-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendIPConfigurationIds - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendIPAddresses - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendFqdns - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - BackendIPConfigurationIds - - - - List`1[String] - - List`1[String] - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendIPAddresses - - - - List`1[String] - - List`1[String] - - - - - - BackendFqdns - - - - List`1[String] - - List`1[String] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayBackendHttpSettings - - - - - - - Add - AzureApplicationGatewayBackendHttpSettings - - - - - - - - Add-AzureApplicationGatewayBackendHttpSettings - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Port - - - - Int32 - - - Protocol - - - - String - - - CookieBasedAffinity - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Protocol - - - - String - - String - - - - - - CookieBasedAffinity - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayFrontendIPConfig - - - - - - - Add - AzureApplicationGatewayFrontendIPConfig - - - - - - - - Add-AzureApplicationGatewayFrontendIPConfig - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - PrivateIPAddress - - - - String - - - Subnet - - - - PSSubnet - - - PublicIPAddress - - - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayFrontendIPConfig - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - PrivateIPAddress - - - - String - - - SubnetId - - - - String - - - PublicIPAddressId - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - PrivateIPAddress - - - - String - - String - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - PublicIPAddress - - - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - SubnetId - - - - String - - String - - - - - - PublicIPAddressId - - - - String - - String - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayFrontendPort - - - - - - - Add - AzureApplicationGatewayFrontendPort - - - - - - - - Add-AzureApplicationGatewayFrontendPort - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Port - - - - Int32 - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayHttpListener - - - - - - - Add - AzureApplicationGatewayHttpListener - - - - - - - - Add-AzureApplicationGatewayHttpListener - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - FrontendIPConfigurationId - - - - String - - - FrontendPortId - - - - String - - - SslCertificateId - - - - String - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayHttpListener - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - FrontendIPConfigurationId - - - - String - - String - - - - - - FrontendPortId - - - - String - - String - - - - - - SslCertificateId - - - - String - - String - - - - - - Protocol - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - PSApplicationGatewayFrontendIPConfiguration - - - - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - PSApplicationGatewayFrontendPort - - - - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - PSApplicationGatewaySslCertificate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayIPConfiguration - - - - - - - Add - AzureApplicationGatewayIPConfiguration - - - - - - - - Add-AzureApplicationGatewayIPConfiguration - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - SubnetId - - - - String - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayIPConfiguration - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Subnet - - - - PSSubnet - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - SubnetId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewayRequestRoutingRule - - - - - - - Add - AzureApplicationGatewayRequestRoutingRule - - - - - - - - Add-AzureApplicationGatewayRequestRoutingRule - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettingsId - - - - String - - - HttpListenerId - - - - String - - - BackendAddressPoolId - - - - String - - - Profile - - - - AzureProfile - - - - Add-AzureApplicationGatewayRequestRoutingRule - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - - HttpListener - - - - PSApplicationGatewayHttpListener - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - RuleType - - - - String - - String - - - - - - BackendHttpSettingsId - - - - String - - String - - - - - - HttpListenerId - - - - String - - String - - - - - - BackendAddressPoolId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - PSApplicationGatewayBackendHttpSettings - - - - - - HttpListener - - - - PSApplicationGatewayHttpListener - - PSApplicationGatewayHttpListener - - - - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - PSApplicationGatewayBackendAddressPool - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureApplicationGatewaySslCertificate - - - - - - - Add - AzureApplicationGatewaySslCertificate - - - - - - - - Add-AzureApplicationGatewaySslCertificate - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - CertificateFile - - - - String - - - Password - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - CertificateFile - - - - String - - String - - - - - - Password - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureLoadBalancerBackendAddressPoolConfig - - Add a new Backend Address Pool for an Azure Load Balancer - - - - - Add - AzureLoadBalancerBackendAddressPoolConfig - - - - Add a new Backend Address Pool for an Azure Load Balancer - - - - Add-AzureLoadBalancerBackendAddressPoolConfig - - Name - - The name of the Backend Address Pool. - - String - - - LoadBalancer - - The Load Balancer in which this Backend Address Pool will be created. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Backend Address Pool. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this Backend Address Pool will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendIpConfigurationId - - A list of Backend Ip Config Id's to associate with this Backend Address Pool. - - list`1[string] - - list`1[string] - - - - - - BackendIpConfiguration - - A list of Backend Ips to associate with this Backend Address Pool. - - list`1[psnetworkinterfaceipconfiguration] - - list`1[psnetworkinterfaceipconfiguration] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\> $nic = Get-AzureNetworkInterface -name "myNic" -ResourceGroupName "myrg" + + + + + + Add-AzureApplicationGatewayBackendAddressPool + + Adds a back-end address pool to an application gateway. + + + + + Add + AzureApplicationGatewayBackendAddressPool + + + + The Add-AzureApplicationGatewayBackendAddressPool cmdlet adds a back-end address pool to an application gateway. A back-end address can be specified using an IP address, a fully-qualified domain name (FQDN) or IP configuration IDs. + + + + Add-AzureApplicationGatewayBackendAddressPool + + BackendIPConfigurationIds + + Specifies a list of back-end server IP configuration IDs that this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end server pool that this cmdlet adds. + + String + + + + Add-AzureApplicationGatewayBackendAddressPool + + BackendIPAddresses + + Specifies a list of back-end IP addresses which this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end server pool that this cmdlet adds. + + String + + + + Add-AzureApplicationGatewayBackendAddressPool + + BackendFqdns + + Specifies a list of backend FQDNs which this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end server pool that this cmdlet adds. + + String + + + + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a back-end address pool. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + BackendFqdns + + Specifies a list of backend FQDNs which this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPAddresses + + Specifies a list of back-end IP addresses which this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPConfigurationIds + + Specifies a list of back-end server IP configuration IDs that this cmdlet adds as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Name + + Specifies the name of the back-end server pool that this cmdlet adds. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + System.String + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Adding a back-end address pool by using a back-end server FQDN + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $AppGw +-Name "Pool02" -BackendFqdns "contoso1.com", " contoso1.com" - Get-AzureLoadBalander -Name "myLB" -ResourceGroupName "myrg" | Add-AzureLoadBalancerBackendAddressPoolConfig -Name $backendAddressPoolName2 -BackendIpConfiguration $nic.IpConfigurations[0] | Set-AzureLoadBalancer - - - - - - - - - - - - - - - - - - - - - - Add-AzureLoadBalancerFrontendIpConfig - - Add a new Frontend Ip for an Azure Load Balancer - - - - - Add - AzureLoadBalancerFrontendIpConfig - - - - Add a new Frontend Ip for an Azure Load Balancer - - - - Add-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - LoadBalancer - - The Load Balancer in which this Frontend Ip will be created. - - PSLoadBalancer - - - PrivateIpAddress - - The Public Ip Address object to associate with this Frontend. - - String - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - - Profile - - - - AzureProfile - - - - Add-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - LoadBalancer - - The Load Balancer in which this Frontend Ip will be created. - - PSLoadBalancer - - - PrivateIpAddress - - The Public Ip Address object to associate with this Frontend. - - String - - - Subnet - - The Subnet object which this Frontend Ip will be created. - - PSSubnet - - - PublicIpAddress - - The Public Ip Address to associate with this Frontend Ip. - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Frontend Ip. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this Frontend Ip will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - PrivateIpAddress - - The Public Ip Address object to associate with this Frontend. - - String - - String - - - - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - String - - - - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - The Subnet object which this Frontend Ip will be created. - - PSSubnet - - PSSubnet - - - - - - PublicIpAddress - - The Public Ip Address to associate with this Frontend Ip. - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\> $subnet = Get-AzureVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureVirtualNetworkSubnetConfig -name "mysubnet" + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command adds the back-end address pool of the application gateway stored in $AppGw by using FQDNs. + + + + + + + + + + + Example 2: Adding a back-end address pool by using backend server IP addresses + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add -AzureApplicationGatewayBackendAddressPool -ApplicationGateway $ AppGw +-Name "Pool02" -BackendIPAddresses "10.10.10.10", "10.10.10.11" + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command adds the back-end address pool of the application gateway stored in $AppGw by using IP addresses. + + + + + + + + + + + Example 3: Setting a back-end address pool by using the ID of the backend server’s IP address + + + + + PS C:\>$Nic01 = Get-AzureNetworkInterface -Name "Nic01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Nic02 = Get-AzureNetworkInterface -Name "Nic02" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $ AppGw +-Name "Pool02" -BackendIPConfigurationIds $nic01.Properties.IpConfigurations[0].Id, $nic02.Properties.IpConfiguration[0].Id + + + The first command gets a network interface object named Nic01 that belongs to the resource group named ResourceGroup01, and stores it in the $Nic01 variable. + The second command gets a network interface object named Nic02 that belongs to the resource group named ResourceGroup02, and stores it in the $Nic02 variable. + The third command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The forth command uses the back-end IP configuration IDs from $Nic01 and $Nic02 to add the back-end address pool of the application gateway stored in $AppGw. + + + + + + + + + + + + + Get-AzureApplicationGatewayBackendAddressPool + + + + New-AzureApplicationGatewayBackendAddressPool + + + + Remove-AzureApplicationGatewayBackendAddressPool + + + + Set-AzureApplicationGatewayBackendAddressPool + + + + + + + Add-AzureApplicationGatewayBackendHttpSettings + + + + + + + + Add + AzureApplicationGatewayBackendHttpSettings + + + + Adds back-end HTTP settings to an application gateway. + + + + Add-AzureApplicationGatewayBackendHttpSettings + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + The Add-AzureApplicationGatewayBackendHttpSettings cmdlet adds back-end HTTP settings to an application gateway. + Back-end HTTP settings are applied to all back-end servers in the pool. + + PSApplicationGateway + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the backend server pool. The acceptable values for this parameter are: Disabled, Enabled. + + + Enabled + Disabled + + + + Name + + Specifies the name of the back-end HTTP settings which this cmdlet adds. + + String + + + Port + + Specifies the port of the back-end server pool. + + Int32 + + + Protocol + + Specifies the protocol for communication between application gateway and back-end servers. + + String + + + + + + ApplicationGateway + + The Add-AzureApplicationGatewayBackendHttpSettings cmdlet adds back-end HTTP settings to an application gateway. + Back-end HTTP settings are applied to all back-end servers in the pool. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the backend server pool. The acceptable values for this parameter are: Disabled, Enabled. + + String + + String + + + none + + + Name + + Specifies the name of the back-end HTTP settings which this cmdlet adds. + + String + + String + + + none + + + Port + + Specifies the port of the back-end server pool. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol for communication between application gateway and back-end servers. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Adding back-end HTTP settings to an application gateway + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $appgw = Add-AzureApplicationGatewayBackendHttpSettings -ApplicationGateway $appgw +-Name "Setting02" -Port 88 -Protocol "HTTP" -CookieBasedAffinity "Disabled" + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command adds back-end HTTP settings to the application gateway, setting the port to 88 and the protocol to HTTP and names the settings Setting02. + + + + + + + + + + + + + Get-AzureApplicationGatewayBackendHttpSettings + + + + New-AzureApplicationGatewayBackendHttpSettings + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + + + Set-AzureApplicationGatewayBackendHttpSettings + + + + + + + Add-AzureApplicationGatewayFrontendIPConfig + + Adds a front-end IP configuration to an application gateway. + + + + + Add + AzureApplicationGatewayFrontendIPConfig + + + + The Add-AzureApplicationGatewayFrontendIPConfig cmdlet adds a front-end IP configuration to an application gateway. An application gateway supports two types of front-end IP configurations. +-- Public IP addresses +-- Private IP addresses using internal load-balancing (ILB) + An application gateway can have at most one public IP and one private IP. Add the public IP address and private IP address as separate front-end IPs. + + + + Add-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address to add as a front-end IP for the application gateway. If specified, this IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddress + + Specifies the public IP address which this cmdlet adds as a front-end IP address for the application gateway. + + PSPublicIpAddress + + + Subnet + + Specifies the subnet which this cmdlet adds as front-end IP configuration. If you specify this parameter, it implies that the application gateway supports a private IP based-configuration. If the PrivateIPAddress parameter is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + PSSubnet + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a front-end IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + + + Add-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address to add as a front-end IP for the application gateway. If specified, this IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddressId + + Specifies the ID of the public IP address which this cmdlet adds as a front-end IP address for the application gateway. + + String + + + SubnetId + + Specifies the subnet ID which this cmdlet adds as the front-end IP configuration. Passing subnet implies private IP. If the PrivateIPAddresss parameter is specified, it should belong to this subnet. Otherwise, one of the IP from this subnet is dynamically picked up as the front-end IP of the application gateway. + + String + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a front-end IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + + + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a front-end IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + String + + + none + + + PrivateIPAddress + + Specifies the private IP address to add as a front-end IP for the application gateway. If specified, this IP is statically allocated from the subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIPAddress + + Specifies the public IP address which this cmdlet adds as a front-end IP address for the application gateway. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIPAddressId + + Specifies the ID of the public IP address which this cmdlet adds as a front-end IP address for the application gateway. + + String + + String + + + none + + + Subnet + + Specifies the subnet which this cmdlet adds as front-end IP configuration. If you specify this parameter, it implies that the application gateway supports a private IP based-configuration. If the PrivateIPAddress parameter is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the subnet ID which this cmdlet adds as the front-end IP configuration. Passing subnet implies private IP. If the PrivateIPAddresss parameter is specified, it should belong to this subnet. Otherwise, one of the IP from this subnet is dynamically picked up as the front-end IP of the application gateway. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSPublicIpAddress + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add a public IP as the front-end IP address + + + + + PS C:\> $PublicIp = New-AzurePublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIp01" -location "West US" -AllocationMethod Dynamic +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontEndIp01" –PublicIPAddress $PublicIp - Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $subnet | Set-AzureLoadBalancer - - Adds a FrontendIpConfig to the loadbalancer with a dynamic privateIPAddress from the specified subnet - - - - - - - - - - - - - - -------------------------- Example 2 -------------------------- - - PS C:\> - - PS C:\> $subnet = Get-AzureVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureVirtualNetworkSubnetConfig -name "mysubnet" + + + The first command creates a public IP address object and stores it in the $PublicIp variable. + The second command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The third command adds the front-end IP configuration named FrontEndIp01, for the gateway in $AppGw, using the address stored in $PublicIp. + + + + + + + + + + + Example 2: Add a static private IP as the front-end IP address + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontendIP02" -Subnet $Subnet -PrivateIPAddress 10.0.1.1 + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The fourth command adds a front-end IP configuration named FrontendIP02 using $Subnet from the second command and the private IP address 10.0.1.1. + + + + + + + + + + + Example 3: Add a dynamic private IP as the front-end IP address + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontendIP02" -Subnet $Subnet + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The fourth command adds a front-end IP configuration named FrontendIP02 using $Subnet from the second command. + + + + + + + + + + + + + Get-AzureApplicationGatewayFrontendIPConfig + + + + New-AzureApplicationGatewayFrontendIPConfig + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + + + Set-AzureApplicationGatewayFrontendIPConfig + + + + + + + Add-AzureApplicationGatewayFrontendPort + + Adds a front-end port to an application gateway. + + + + + Add + AzureApplicationGatewayFrontendPort + + + + The Add-AzureApplicationGatewayFrontendPort cmdlet adds a front-end port to an application gateway. + + + + Add-AzureApplicationGatewayFrontendPort + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a front-end port. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end port. + + String + + + Port + + Specifies the port number. + + Int32 + + + + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds a front-end port. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end port. + + String + + String + + + none + + + Port + + Specifies the port number. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add a front-end port to an application gateway + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $appgw = Add-AzureApplicationGatewayFrontendPort -ApplicationGateway $AppGw -Name "FrontEndPort01" –Port 80 + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command adds port 80 as a front-end port for the application gateway stored in $AppGw and names the port FrontEndPort01. + + + + + + + + + + + + + Get-AzureApplicationGatewayFrontendPort + + + + New-AzureApplicationGatewayFrontendPort + + + + Remove-AzureApplicationGatewayFrontendPort + + + + Set-AzureApplicationGatewayFrontendPort + + + + + + + Add-AzureApplicationGatewayHttpListener + + Adds an HTTP listener to an application gateway. + + + + + Add + AzureApplicationGatewayHttpListener + + + + The Add-AzureApplicationGatewayHttpListener cmdlet adds a HTTP listener to an application gateway. + + + + Add-AzureApplicationGatewayHttpListener + + FrontendIPConfigurationId + + Specifies the application gateway front-end IP ID. + + String + + + FrontendPortId + + Specifies the application gateway front-end port ID. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificateId + + Specifies the SSL certificate ID of the HTTP listener. Must be specified if HTTPS is chosen as listener protocol. + + String + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an HTTP listener. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end port that this command adds. + + String + + + Protocol + + Specifies the protocol of the HTTP listener. Both HTTP and HTTPS are supported. + + + Http + Https + + + + + Add-AzureApplicationGatewayHttpListener + + FrontendIPConfiguration + + Specifies the application gateway front-end IP resource object. + + PSApplicationGatewayFrontendIPConfiguration + + + FrontendPort + + Specifies the application gateway front-end port object. + + PSApplicationGatewayFrontendPort + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificate + + Specifies the SSL certificate of the HTTP listener. Must be specified if HTTPS is chosen as listener protocol. + + PSApplicationGatewaySslCertificate + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an HTTP listener. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end port that this command adds. + + String + + + Protocol + + Specifies the protocol of the HTTP listener. Both HTTP and HTTPS are supported. + + + Http + Https + + + + + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an HTTP listener. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + FrontendIPConfiguration + + Specifies the application gateway front-end IP resource object. + + PSApplicationGatewayFrontendIPConfiguration + + PSApplicationGatewayFrontendIPConfiguration + + + none + + + FrontendIPConfigurationId + + Specifies the application gateway front-end IP ID. + + String + + String + + + none + + + FrontendPort + + Specifies the application gateway front-end port object. + + PSApplicationGatewayFrontendPort + + PSApplicationGatewayFrontendPort + + + none + + + FrontendPortId + + Specifies the application gateway front-end port ID. + + String + + String + + + none + + + Name + + Specifies the name of the front-end port that this command adds. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol of the HTTP listener. Both HTTP and HTTPS are supported. + + String + + String + + + none + + + SslCertificate + + Specifies the SSL certificate of the HTTP listener. Must be specified if HTTPS is chosen as listener protocol. + + PSApplicationGatewaySslCertificate + + PSApplicationGatewaySslCertificate + + + none + + + SslCertificateId + + Specifies the SSL certificate ID of the HTTP listener. Must be specified if HTTPS is chosen as listener protocol. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add a HTTP listener + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Appgw = Add-AzureApplicationGatewayHttpListener -ApplicationGateway $AppGw -Name "listener01" -Protocol "Http" -FrontendIpConfiguration $FIP01 -FrontendPort $FP01 - Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $subnet -PrivateIpAddress "10.0.1.6" | Set-AzureLoadBalancer - - Adds a FrontendIpConfig to the loadbalancer with a static privateIPAddress from the specified subnet - - - - - - - - - - - - - - -------------------------- Example 3 -------------------------- - - PS C:\> - - PS C:\> $publicip = Get-AzurePublicIpAddress -ResourceGroupName "myRG" -name "myPub" - Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -PublicIpAddress $publicip | Set-AzureLoadBalancer - - Adds a FrontendIpConfig to the loadbalancer with a publicIP address - - - - - - - - - - - - - - - - - - - - Add-AzureLoadBalancerInboundNatRuleConfig - - Add a new Inbound NAT Rule to an Azure Load Balancer - - - - - Add - AzureLoadBalancerInboundNatRuleConfig - - - - Add a new Inbound NAT Rule to an Azure Load Balancer - - - - Add-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Inbound NAT Rule. - - String - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - Add-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Inbound NAT Rule. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Inbound NAT Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - String - - - - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendIpConfigurationId - - The Id of a Backend Ip Configuration to associate with this Inbound NAT Rule. - - string - - string - - - - - - BackendIpConfiguration - - The Backend Ip Configuration to associate with this Inbound NAT Rule. - - psnetworkinterfaceipconfiguration - - psnetworkinterfaceipconfiguration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\> $lb = Get-AzureLoadBalancer -Name "myLb" -ResourceGroupName "myRg" + + + The first command gets the application gateway and stores it in the $AppGw variable. + The second command adds the HTTP listener to the application gateway. + + + + + + + + + + + Example 2: Add a HTTPS listener with SSL + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayHttpListener -ApplicationGateway $AppGw +-Name "Listener01" -Protocol "Https" -FrontendIpConfiguration $FIP01 -FrontendPort $FP01 – SslCertificate $SSLCert01 + + + The first command gets the application gateway and stores it in the $AppGw variable. + The second command adds the listener, which uses the HTTPS protocol, to the application gateway. + + + + + + + + + + + + + Get-AzureApplicationGatewayHttpListener + + + + New-AzureApplicationGatewayHttpListener + + + + Remove-AzureApplicationGatewayHttpListener + + + + Set-AzureApplicationGatewayHttpListener + + + + + + + Add-AzureApplicationGatewayIPConfiguration + + Adds an IP configuration to an application gateway. + + + + + Add + AzureApplicationGatewayIPConfiguration + + + + The Add-AzureApplicationGatewayIPConfiguration cmdlet adds an IP configuration to an application gateway. IP configurations contain the subnet in which the application gateway is deployed. + + + + Add-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SubnetId + + Specifies a subnet ID. This is the subnet in which the application gateway is deployed. + + String + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the IP configuration to add. + + String + + + + Add-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Subnet + + Specifies a subnet. This is the subnet in which the application gateway is deployed. + + PSSubnet + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the IP configuration to add. + + String + + + + + + ApplicationGateway + + Specifies the application gateway to which this cmdlet adds an IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the IP configuration to add. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Subnet + + Specifies a subnet. This is the subnet in which the application gateway is deployed. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies a subnet ID. This is the subnet in which the application gateway is deployed. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add an virtual network configuration to an application gateway + + + + + PS C:\>$Vnet = Get-AzureVirtualNetwork -Name "Vnet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $Vnet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureApplicationGatewayIPConfiguration -ApplicationGateway $AppGw -Name "Appgwsubnet01" -Subnet $Subnet + + + The first command creates a virtual network. + The second command creates a subnet using the previously created virtual network. + The third command gets the application gateway and stores it in the $AppGw variable. + The fouth command adds the IP configuration to the application gateway stored in $AppGw. + + + + + + + + + + + + + Get-AzureApplicationGatewayIPConfiguration + + + + New-AzureApplicationGatewayIPConfiguration + + + + Remove-AzureApplicationGatewayIPConfiguration + + + + Set-AzureApplicationGatewayIPConfiguration + + + + + + + Add-AzureApplicationGatewayRequestRoutingRule + + Adds a request routing rule to an application gateway. + + + + + Add + AzureApplicationGatewayRequestRoutingRule + + + + The Add-AzureApplicationGatewayRequestRoutingRule cmdlet adds a request routing rule to an application gateway. + + + + Add-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPoolId + + Specifies an application gateway back-end address pool ID. + + String + + + BackendHttpSettingsId + + Specifies a backend HTTP settings ID for an application gateway. + + String + + + HttpListenerId + + Specifies application gateway HTTP listener ID. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway to which this cmdlet adds a request routing rule. + + PSApplicationGateway + + + Name + + Specifies the name of request routing rule this cmdlet adds. + + String + + + RuleType + + Specifies the type of request routing rule. + + String + + + + Add-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPool + + Specifies an application gateway back-end address pool object. + + PSApplicationGatewayBackendAddressPool + + + BackendHttpSettings + + Specifies a back-end HTTP settings object for an application gateway. + + PSApplicationGatewayBackendHttpSettings + + + HttpListener + + Specifies application gateway HTTP listener object. + + PSApplicationGatewayHttpListener + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway to which this cmdlet adds a request routing rule. + + PSApplicationGateway + + + Name + + Specifies the name of request routing rule this cmdlet adds. + + String + + + RuleType + + Specifies the type of request routing rule. + + String + + + + + + ApplicationGateway + + Specifies an application gateway to which this cmdlet adds a request routing rule. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + BackendAddressPool + + Specifies an application gateway back-end address pool object. + + PSApplicationGatewayBackendAddressPool + + PSApplicationGatewayBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies an application gateway back-end address pool ID. + + String + + String + + + none + + + BackendHttpSettings + + Specifies a back-end HTTP settings object for an application gateway. + + PSApplicationGatewayBackendHttpSettings + + PSApplicationGatewayBackendHttpSettings + + + none + + + BackendHttpSettingsId + + Specifies a backend HTTP settings ID for an application gateway. + + String + + String + + + none + + + HttpListener + + Specifies application gateway HTTP listener object. + + PSApplicationGatewayHttpListener + + PSApplicationGatewayHttpListener + + + none + + + HttpListenerId + + Specifies application gateway HTTP listener ID. + + String + + String + + + none + + + Name + + Specifies the name of request routing rule this cmdlet adds. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RuleType + + Specifies the type of request routing rule. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add a request routing rule to an application gateway + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Appgw = Add- AzureApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGw -Name "Rule01" -RuleType Basic -BackendHttpSettings $Setting -HttpListener $Listener -BackendAddressPool $Pool + + + The first command gets the application gateway and stores it in the $AppGw variable. + The second command adds the request routing rule to the application gateway. + + + + + + + + + + + + + Get-AzureApplicationGatewayRequestRoutingRule + + + + New-AzureApplicationGatewayRequestRoutingRule + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + + + Set-AzureApplicationGatewayRequestRoutingRule + + + + + + + Add-AzureApplicationGatewaySslCertificate + + Adds an SSL certificate to an application gateway. + + + + + Add + AzureApplicationGatewaySslCertificate + + + + The Add-AzureApplicationGatewaySslCertificate cmdlet adds an SSL certificate to an application gateway. + + + + Add-AzureApplicationGatewaySslCertificate + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the name of application gateway to which this cmdlet adds an SSL certificate. + + PSApplicationGateway + + + CertificateFile + + Specifies the .pfx file of an SSL certificate that this cmdlet adds. + + System.String + + + Name + + Specifies the name of the SSL certificate that this cmdlet adds. + + String + + + Password + + Specifies the password of the SSL certificate that this cmdlet adds. + + String + + + + + + ApplicationGateway + + Specifies the name of application gateway to which this cmdlet adds an SSL certificate. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + CertificateFile + + Specifies the .pfx file of an SSL certificate that this cmdlet adds. + + System.String + + System.String + + + none + + + Name + + Specifies the name of the SSL certificate that this cmdlet adds. + + String + + String + + + none + + + Password + + Specifies the password of the SSL certificate that this cmdlet adds. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Add an SSL certificate to an application gateway. + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGW = Add-AzureApplicationGatewaySslCertificate -ApplicationGateway $AppGW -Name "Cert01" –CertificateFile "D:\cert01.pfx" –Password "Password01" + + + This command gets an application gateway named ApplicationGateway01 and then adds an SSL certificate named Cert01 to it. + + + + + + + + + + + + + Get-AzureApplicationGatewaySslCertificate + + + + New-AzureApplicationGatewaySslCertificate + + + + Remove-AzureApplicationGatewaySslCertificate + + + + Set-AzureApplicationGatewaySslCertificate + + + + + + + Add-AzureLoadBalancerBackendAddressPoolConfig + + Adds a backend address pool configuration to a load balancer. + + + + + Add + AzureLoadBalancerBackendAddressPoolConfig + + + + The Add-AzureLoadBalancerBackend cmdlet adds a backend address pool to an Azure load balancer. + + + + Add-AzureLoadBalancerBackendAddressPoolConfig + + Profile + + Specifies an Azure profile. + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + + LoadBalancer + + Specifies a LoadBalancer object. + + Microsoft.Azure.Commands.Network.Models.PSLoadBalancer + + + Name + + Specifies the name of the backend address pool configuration to add. + + System.String + + + + + + LoadBalancer + + Specifies a LoadBalancer object. + + Microsoft.Azure.Commands.Network.Models.PSLoadBalancer + + Microsoft.Azure.Commands.Network.Models.PSLoadBalancer + + + none + + + Name + + Specifies the name of the backend address pool configuration to add. + + System.String + + System.String + + + none + + + Profile + + Specifies an Azure profile. + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1 Add a backend address pool configuration to a load balancer + + + + + PS C:\>Get-AzureLoadBalancer -Name "MyLoadBalancer" -ResourceGroupName "myrg" | Add-AzureLoadBalancerBackendAddressPoolConfig -Name "BackendAddressPool02" | Set-AzureLoadBalancer + + + This command gets the load balancer named MyLoadBalancer, adds the backend address pool named BackendAddressPool02 to MyLoadBalancer, and then uses the Set-AzureLoadBalancer cmdlet to update MyLoadBalancer. + + + + + + + + + + + + + Get-AzureLoadBalancer + + + + Get-AzureNetworkInterface + + + + Get-AzureLoadBalancerBackendAddressPoolConfig + + + + New-AzureLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureLoadBalancerBackendAddressPoolConfig + + + + + + + Add-AzureLoadBalancerFrontendIpConfig + + Adds a front-end IP configuration to a load balancer. + + + + + Add + AzureLoadBalancerFrontendIpConfig + + + + The Add-AzureLoadBalancerFrontendIpConifg cmdlet adds a front-end IP configuration to an Azure load balancer. + + + + Add-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object to associate with a front-end IP configuration. + + String + + + SubnetId + + Specifies the ID of the subnet in which to add a front-end IP configuration. + + String + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a front-end IP configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + + + Add-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + PSPublicIpAddress + + + Subnet + + Specifies the Subnet object in which to add a front-end IP configuration. + + PSSubnet + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a front-end IP configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + + + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a front-end IP configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the front-end IP configuration to add. + + String + + String + + + none + + + PrivateIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object to associate with a front-end IP configuration. + + String + + String + + + none + + + Subnet + + Specifies the Subnet object in which to add a front-end IP configuration. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the ID of the subnet in which to add a front-end IP configuration. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1 Add a front-end IP configuration with a dynamic IP address + + + + + PS C:\>$Subnet = Get-AzureVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureVirtualNetworkSubnetConfig -Name "mysubnet" +PS C:\> Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $Subnet | Set-AzureLoadBalancer + + + This command adds a front-end IP configuration to the load balancer with a dynamic private IP address from the specified subnet. + + + + + + + + + + + Example 2 Add a front-end IP configuration with a static IP address + + + + + PS C:\>$Subnet = Get-AzureVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureVirtualNetworkSubnetConfig -Name "mysubnet" +PS C:\> Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $Subnet -PrivateIpAddress "10.0.1.6" | Set-AzureLoadBalancer + + + This command adds a front-end IP configuration to the load balancer with a static private IP address from the specified subnet. + + + + + + + + + + + Example 3 Add a front-end IP configuration with a public IP address + + + + + PS C:\>$PublicIp = Get-AzurePublicIpAddress -ResourceGroupName "myRG" -Name "myPub" +PS C:\> Get-AzureLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureLoadBalancerFrontendIpConfig -Name "frontendName" -PublicIpAddress $PublicIp | Set-AzureLoadBalancer + + + This command adds a front-end IP configuration to the load balancer with a public IP address. + + + + + + + + + + + + + Get-AzureLoadBalancerFrontendIpConfig + + + + Get-AzureVirtualNetwork + + + + Get-AzureVirtualNetworkSubnetConfig + + + + New-AzureLoadBalancerFrontendIpConfig + + + + Remove-AzureLoadBalancerFrontendIpConfig + + + + Set-AzureLoadBalancerFrontendIpConfig + + + + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + Adds an inbound NAT rule configuration to a load balancer. + + + + + Add + AzureLoadBalancerInboundNatRuleConfig + + + + The Add-AzureLoadBalancerInboundNatRuleConfig cmdlet adds an inbound network address translation (NAT) rule configuration to an Azure load balancer. + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic matched by a rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies an ID for a front-end IP address configuration. + + System.String + + + FrontendPort + + Specifies the front-end port that is matched by a rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds an inbound NAT rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the inbound NAT rule configuration to add. + + String + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic matched by a rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with an inbound NAT rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds an inbound NAT rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the inbound NAT rule configuration to add. + + String + + + + + + BackendPort + + Specifies the backend port for traffic matched by a rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with an inbound NAT rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies an ID for a front-end IP address configuration. + + System.String + + System.String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds an inbound NAT rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the inbound NAT rule configuration to add. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule. The acceptable values for this parameter are:Tcp or Udp. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Add an inbound NAT rule configuration to a load balancer + + + + + PS C:\>$Lb = Get-AzureLoadBalancer -Name "myLb" -ResourceGroupName "myRg" +PS C:\> $Lb | Add-AzureLoadBalancerInboundNatRuleConfig -Name "natRule" -FrontendIPConfiguration$lb.Properties.FrontendIPConfigurations[0] -BackendIpConfiguration $Nic.Properties.IpConfigurations[0] -Protocol "Tcp" -FrontendPort 3350 -BackendPort 3350 -IdleTimeoutInSeconds 17 -EnableFloatingIP | Set-AzureLoadBalancer + + + The first command gets the load balancer named myLb, and then stores it in the $Lb variable. + The second command adds an inbound NAT rule configuration to the load balancer stored in $Lb, and then uses the Set-AzureLoadBalancer cmdlet to update the load balancer. + + + + + + + + + + + + + Get-AzureLoadBalancer + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + + + New-AzureLoadBalancerInboundNatRuleConfig + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + + + Set-AzureLoadBalancer + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + + + + + + Add-AzureLoadBalancerProbeConfig + + Adds a probe configuration to a load balancer. + + + + + Add + AzureLoadBalancerProbeConfig + + + + The Add-AzureLoadBalancerProbeConfig cmdlet adds a probe configuration to an Azure load balancer. + + + + Add-AzureLoadBalancerProbeConfig + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol to use for the probe. The acceptable values for this parameter are:Tcp or Http. + + + Tcp + Http + + + + RequestPath + + Specifies the path in the load-balanced service to probe to determine health. + + String + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of the load-balanced service. + + Int32 + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a probe configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the probe configuration to add. + + String + + + Port + + Specifies the port on which probes should connect to a load-balanced service. + + Int32 + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + + + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of the load-balanced service. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a probe configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the probe configuration to add. + + String + + String + + + none + + + Port + + Specifies the port on which probes should connect to a load-balanced service. + + Int32 + + Int32 + + + none + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol to use for the probe. The acceptable values for this parameter are:Tcp or Http. + + String + + String + + + none + + + RequestPath + + Specifies the path in the load-balanced service to probe to determine health. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1 Add a probe configuration to a load balancer + + + + + PS C:\>Get-AzureLoadBalancer -Name "myLb" -ResourceGroupName "myRg" | Add-AzureLoadBalancerProbeConfig -Name "probeName" -RequestPath healthcheck2.aspx -Protocol http -Port 81 -IntervalInSeconds 16 -ProbeCount 3 | Set-AzureLoadBalancer + + + This command gets the load balancer named myLb, adds the specified probe configuration to it, and then uses the Set-AzureLoadBalancer cmdlet to update the load balancer. + + + + + + + + + + + + + Get-AzureLoadBalancerProbeConfig + + + + New-AzureLoadBalancerProbeConfig + + + + Remove-AzureLoadBalancerProbeConfig + + + + Set-AzureLoadBalancer + + + + Set-AzureLoadBalancerProbeConfig + + + + + + + Add-AzureLoadBalancerRuleConfig + + Adds a rule configuration to a load balancer. + + + + + Add + AzureLoadBalancerRuleConfig + + + + The Add-AzureLoadBalancerRuleConfig cmdlet adds a rule configuration to an Azure load balancer. + + + + Add-AzureLoadBalancerRuleConfig + + BackendAddressPool + + Specifies the backend address pool to associate with a load balancer rule configuration. + + PSBackendAddressPool + + + BackendPort + + Specifies the backend port for traffic that is matched by a load balancer rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in the load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specfies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the load balancer rule configuration. + + String + + + + Add-AzureLoadBalancerRuleConfig + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + + BackendPort + + Specifies the backend port for traffic that is matched by a load balancer rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in the load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specfies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the load balancer rule configuration. + + String + + + + + + BackendAddressPool + + Specifies the backend address pool to associate with a load balancer rule configuration. + + PSBackendAddressPool + + PSBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + String + + + none + + + BackendPort + + Specifies the backend port for traffic that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + System.String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in the load balancer. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a LoadBalancer object. This cmdlet adds a rule configuration to the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + LoadDistribution + + Specifies a load distribution. + + String + + String + + + none + + + Name + + Specifies the name of the load balancer rule configuration. + + String + + String + + + none + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + PSProbe + + + none + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specfies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1 Add a rule configuration to a load balancer + + + + + PS C:\>$LoadBalancer = Get-AzureLoadBalancer -Name "MyLoadBalancer" -ResourceGroupName "MyResourceGroup" +PS C:\> $LoadBalancer | Add-AzureLoadBalancerRuleConfig -Name "LbRuleConfig" -FrontendIPConfiguration $LoadBalancer.Properties.FrontendIPConfigurations[0] -BackendAddressPool $LoadBalancer.Properties.BackendAddressPools[0] -Probe $LoadBalancer.Properties.Probes[0] -Protocol "Tcp" -FrontendPort 80 -BackendPort 80 -IdleTimeoutInSeconds 15 -EnableFloatingIP | Set-AzureLoadBalancer + + + The first command gets the load balancer named MyLoadBalancer, and then stores it in the $LoadBalancer variable. + The second command adds the rule configuration named LbRuleConfig to the load balancer stored in $LoadBalancer, and then uses the Set-AzureLoadBalancerRuleConfig cmdlet to update the rule configuration for $LoadBalancer. + + + + + + + + + + + + + Get-AzureLoadBalancerRuleConfig + + + + New-AzureLoadBalancerRuleConfig + + + + Remove-AzureLoadBalancerRuleConfig + + + + Set-AzureLoadBalancerRuleConfig + + + + + + + Add-AzureNetworkSecurityRuleConfig + + Adds a network security rule configuration to a network security group. + + + + + Add + AzureNetworkSecurityRuleConfig + + + + The Add-AzureNetworkSecurityRuleConfig cmdlet adds a network security rule configuration to an Azure network security group. + + + + Add-AzureNetworkSecurityRuleConfig + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + + Allow + Deny + + + + Description + + Specifies a description of a network security rule configuration. + + String + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: - $lb | Add-AzureLoadBalancerInboundNatRuleConfig -Name "natRule" -FrontendIPConfiguration$lb.FrontendIPConfigurations[0] -BackendIpConfiguration $nic.IpConfigurations[0] -Protocol Tcp -FrontendPort 3350 -BackendPort 3350 -IdleTimeoutInSeconds 17 -EnableFloatingIP | Set-AzureLoadBalancer - - - - - - - - - - - - - - - - - - - - - - Add-AzureLoadBalancerProbeConfig - - Add a new Probe configuration to an Azure Load Balancer - - - - - Add - AzureLoadBalancerProbeConfig - - - - Add a new Probe configuration to an Azure Load Balancer - - - - Add-AzureLoadBalancerProbeConfig - - Name - - The name of the probe configuration. - - String - - - LoadBalancer - - The Load Balancer in which this probe configuration will be created. - - PSLoadBalancer - - - RequestPath - - The path within the load balanced service to probe to determine health. - - String - - - Protocol - - The protocol to use for the probing. - Options: Tcp or Http - - String - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the probe configuration. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this probe configuration will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - RequestPath - - The path within the load balanced service to probe to determine health. - - String - - String - - - - - - Protocol - - The protocol to use for the probing. - Options: Tcp or Http - - String - - String - - - - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - Int32 - - - - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - Int32 - - - - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\> Get-AzureLoadBalancer -Name "myLb" -ResourceGroupName "myRg" | Add-AzureLoadBalancerProbeConfig -Name "probeName" -RequestPath healthcheck2.aspx -Protocol http -Port 81 -IntervalInSeconds 16 -ProbeCount 3 | Set-AzureLoadBalancer - - - - - - - - - - - - - - - - - - - - - - Add-AzureLoadBalancerRuleConfig - - Add a new Load Balancer Rule to an Azure Load Balancer - - - - - Add - AzureLoadBalancerRuleConfig - - - - Add a new Load Balancer Rule to an Azure Load Balancer - - - - Add-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Load Balancer Rule will be created. - - PSLoadBalancer - - - FrontendIpConfigurationId - - A list of Frontend Ip Id to associate with this Load Balancer Rule. - - String - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - - ProbeId - - The Id of the probe to associate with this Load Balancer Rule. - - String - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - Add-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Load Balancer Rule will be created. - - PSLoadBalancer - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - - Probe - - The probe object to be used for this Load Balancer Rule. - - PSProbe - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer Rule. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this Load Balancer Rule will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Id to associate with this Load Balancer Rule. - - String - - String - - - - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - String - - - - - - ProbeId - - The Id of the probe to associate with this Load Balancer Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - String - - - - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - String - - - - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - PSBackendAddressPool - - - - - - Probe - - The probe object to be used for this Load Balancer Rule. - - PSProbe - - PSProbe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\> $lb = Get-AzureLoadBalancer -Name "myLb" -ResourceGroupName "myRg" +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: - $lb | Add-AzureLoadBalancerRuleConfig -Name "lbruleName" -FrontendIPConfiguration $lb.FrontendIPConfigurations[0] -BackendAddressPool $lb.BackendAddressPools[0] -Probe $lb.Probes[0] -Protocol Tcp -FrontendPort 80 -BackendPort 80 -IdleTimeoutInSeconds 15 -EnableFloatingIP | Set-AzureLoadBalancer - - - - - - - - - - - - - - - - - - - - - - Add-AzureNetworkSecurityRuleConfig - - Add a new Network Security Rule to a Network Security Group - - - - - Add - AzureNetworkSecurityRuleConfig - - - - Add a new Network Security Rule to a Network Security Group - - - - Add-AzureNetworkSecurityRuleConfig - - Name - - The name of the Network Security Rule. - - String - - - NetworkSecurityGroup - - The Network Security Group object to which this Network Security Rule will be added. - - PSNetworkSecurityGroup - - - Description - - The description of the Network Security Rule. - - String - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny” - - String - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Rule. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object to which this Network Security Rule will be added. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - Description - - The description of the Network Security Rule. - - String - - String - - - - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - String - - - - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny” - - String - - String - - - - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - Int32 - - - - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureRouteConfig - - Adds a Route to a Route Table - - - - - Add - AzureRouteConfig - - - - Adds a Route to a Route Table - - - - Add-AzureRouteConfig - - Name - - Name of the Route - - String - - - RouteTable - - The Route Table object to which this Route will be added. - - PSRouteTable - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - String - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - Name of the Route - - String - - String - - - - - - RouteTable - - The Route Table object to which this Route will be added. - - PSRouteTable - - PSRouteTable - - - - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - String - - - - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - String - - String - - - - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Add-AzureVirtualNetworkSubnetConfig - - Creates a new Subnet with an existing Virtual Network - - - - - Add - AzureVirtualNetworkSubnetConfig - - - - Creates a new Subnet with an existing Virtual Network - - - - Add-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - VirtualNetwork - - The Virtual Network object in which this subnet should be created. - - PSVirtualNetwork - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - - Profile - - - - AzureProfile - - - - Add-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - VirtualNetwork - - The Virtual Network object in which this subnet should be created. - - PSVirtualNetwork - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - - NetworkSecurityGroupId - - A reference to the Network Security Group containing ACLs that will apply to this Subnet. - - String - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Subnet. - - String - - String - - - - - - VirtualNetwork - - The Virtual Network object in which this subnet should be created. - - PSVirtualNetwork - - PSVirtualNetwork - - - - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - NetworkSecurityGroupId - - A reference to the Network Security Group containing ACLs that will apply to this Subnet. - - String - - String - - - - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - String - - - - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this Subnet. - - list`1[string] - - list`1[string] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGateway - - - - - - - Get - AzureApplicationGateway - - - - - - - - Get-AzureApplicationGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayBackendAddressPool - - - - - - - Get - AzureApplicationGatewayBackendAddressPool - - - - - - - - Get-AzureApplicationGatewayBackendAddressPool - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayBackendHttpSettings - - - - - - - Get - AzureApplicationGatewayBackendHttpSettings - - - - - - - - Get-AzureApplicationGatewayBackendHttpSettings - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayFrontendIPConfig - - - - - - - Get - AzureApplicationGatewayFrontendIPConfig - - - - - - - - Get-AzureApplicationGatewayFrontendIPConfig - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayFrontendPort - - - - - - - Get - AzureApplicationGatewayFrontendPort - - - - - - - - Get-AzureApplicationGatewayFrontendPort - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayHttpListener - - - - - - - Get - AzureApplicationGatewayHttpListener - - - - - - - - Get-AzureApplicationGatewayHttpListener - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayIPConfiguration - - - - - - - Get - AzureApplicationGatewayIPConfiguration - - - - - - - - Get-AzureApplicationGatewayIPConfiguration - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewayRequestRoutingRule - - - - - - - Get - AzureApplicationGatewayRequestRoutingRule - - - - - - - - Get-AzureApplicationGatewayRequestRoutingRule - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewaySku - - - - - - - Get - AzureApplicationGatewaySku - - - - - - - - Get-AzureApplicationGatewaySku - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureApplicationGatewaySslCertificate - - - - - - - Get - AzureApplicationGatewaySslCertificate - - - - - - - - Get-AzureApplicationGatewaySslCertificate - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancer - - Retrieve a single Load Balancer or a list of Load Balancers within a Resource Group - - - - - Get - AzureLoadBalancer - - - - Retrieve a single Load Balancer or a list of Load Balancers within a Resource Group - - - - Get-AzureLoadBalancer - - Name - - The name of the Load Balancer to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Load Balancer. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Load Balancer. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancerBackendAddressPoolConfig - - Retrieve a single Backend Address Pool or a list of Backend Address Pools within a Load Balancer - - - - - Get - AzureLoadBalancerBackendAddressPoolConfig - - - - Retrieve a single Backend Address Pool or a list of Backend Address Pools within a Load Balancer - - - - Get-AzureLoadBalancerBackendAddressPoolConfig - - Name - - The name of the Load Balancer containing the Backend Address Pool. - - String - - - LoadBalancer - - The name of the Backend Address Pool to retrieve. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer containing the Backend Address Pool. - - String - - String - - - - - - LoadBalancer - - The name of the Backend Address Pool to retrieve. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancerFrontendIpConfig - - Retrieve a single Frontend Ip or a list of Frontend Ips within a Load Balancer - - - - - Get - AzureLoadBalancerFrontendIpConfig - - - - Retrieve a single Frontend Ip or a list of Frontend Ips within a Load Balancer - - - - Get-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Load Balancer containing the Frontend Ip. - - String - - - LoadBalancer - - The Load Balancer with which this Frontend Ip config will be associated. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer containing the Frontend Ip. - - String - - String - - - - - - LoadBalancer - - The Load Balancer with which this Frontend Ip config will be associated. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancerInboundNatRuleConfig - - Retrieve a single Inbound NAT Rule or a list of Inbound NAT Rules within a Load Balancer - - - - - Get - AzureLoadBalancerInboundNatRuleConfig - - - - Retrieve a single Inbound NAT Rule or a list of Inbound NAT Rules within a Load Balancer - - - - Get-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule to retrieve. - - String - - - LoadBalancer - - The name of the Load Balancer containing the Inbound NAT Rule. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Inbound NAT Rule to retrieve. - - String - - String - - - - - - LoadBalancer - - The name of the Load Balancer containing the Inbound NAT Rule. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancerProbeConfig - - Retrieve a single Probe configuration or a list of Probe configurations within a Load Balancer - - - - - Get - AzureLoadBalancerProbeConfig - - - - Retrieve a single Probe configuration or a list of Probe configurations within a Load Balancer - - - - Get-AzureLoadBalancerProbeConfig - - Name - - The name of the probe configuration to retrieve. - - String - - - LoadBalancer - - The name of the Load Balancer containing the probe configuration. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the probe configuration to retrieve. - - String - - String - - - - - - LoadBalancer - - The name of the Load Balancer containing the probe configuration. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLoadBalancerRuleConfig - - Retrieve a single Load Balancer Rule or a list of Load Balancer Rules within a Load Balancer - - - - - Get - AzureLoadBalancerRuleConfig - - - - Retrieve a single Load Balancer Rule or a list of Load Balancer Rules within a Load Balancer - - - - Get-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule to retrieve. - - String - - - LoadBalancer - - The name of the Load Balancer containing the Load Balancer Rule. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer Rule to retrieve. - - String - - String - - - - - - LoadBalancer - - The name of the Load Balancer containing the Load Balancer Rule. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureLocalNetworkGateway - - - - - - - Get - AzureLocalNetworkGateway - - - - - - - - Get-AzureLocalNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureNetworkInterface - - Retrieve a single Network Interface or a list of Network Interfaces within a Resource Group - - - - - Get - AzureNetworkInterface - - - - Retrieve a single Network Interface or a list of Network Interfaces within a Resource Group - - - - Get-AzureNetworkInterface - - Name - - The name of the Network Interface to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Network Interface - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Interface to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Network Interface - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureNetworkSecurityGroup - - Get an existing Network Security Group. - - - - - Get - AzureNetworkSecurityGroup - - - - Get an existing Network Security Group. - - - - Get-AzureNetworkSecurityGroup - - Name - - The name of the Network Security Group to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Network Security Group. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Group to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Network Security Group. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureNetworkSecurityRuleConfig - - Get an existing Network Security Rule within a Network Security Group. - - - - - Get - AzureNetworkSecurityRuleConfig - - - - Get an existing Network Security Rule within a Network Security Group. - - - - Get-AzureNetworkSecurityRuleConfig - - Name - - The name of the Network Security Rule to retrieve. - - String - - - NetworkSecurityGroup - - The Network Security Group object containing the Network Security Rule to retrieve. - - PSNetworkSecurityGroup - - - DefaultRules - - Switch on whether to get user-created rules, or default rules. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Rule to retrieve. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object containing the Network Security Rule to retrieve. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - DefaultRules - - Switch on whether to get user-created rules, or default rules. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzurePublicIpAddress - - Retrieve a single Public Ip Address or a list of Public Ip Addresses within a Resource Group - - - - - Get - AzurePublicIpAddress - - - - Retrieve a single Public Ip Address or a list of Public Ip Addresses within a Resource Group - - - - Get-AzurePublicIpAddress - - Name - - The name of the Public Ip Address to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Public Ip Address. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Public Ip Address to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Public Ip Address. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureRouteConfig - - Retrieve a single Route or a list of Route within a Route Table - - - - - Get - AzureRouteConfig - - - - Retrieve a single Route or a list of Route within a Route Table - - - - Get-AzureRouteConfig - - Name - - Name of the Route - - String - - - RouteTable - - The Route Table with which this Route will be associated. - - PSRouteTable - - - Profile - - - - AzureProfile - - - - - - Name - - Name of the Route - - String - - String - - - - - - RouteTable - - The Route Table with which this Route will be associated. - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureRouteTable - - Retrieve a single Route Table or a list of Route Tables within a Resource Group or a list of Route Tables in the subscription - - - - - Get - AzureRouteTable - - - - Retrieve a single Route Table or a list of Route Tables within a Resource Group or a list of Route Tables in the subscription - - - - Get-AzureRouteTable - - Name - - The name of the Route Table to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Route Table. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Route Table to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Route Table. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureVirtualNetwork - - Retrieve a single Virtual Network or a list of Virtual Networks within a Resource Group - - - - - Get - AzureVirtualNetwork - - - - Retrieve a single Virtual Network or a list of Virtual Networks within a Resource Group - - - - Get-AzureVirtualNetwork - - Name - - The name of the Virtual Network to retrieve. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Virtual Network to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureVirtualNetworkGateway - - - - - - - Get - AzureVirtualNetworkGateway - - - - - - - - Get-AzureVirtualNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureVirtualNetworkGatewayConnection - - - - - - - Get - AzureVirtualNetworkGatewayConnection - - - - - - - - Get-AzureVirtualNetworkGatewayConnection - - Name - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - Get - AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - - Get-AzureVirtualNetworkGatewayConnectionSharedKey - - Name - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureVirtualNetworkSubnetConfig - - Retrieve a single Subnet or a list of Subnets within a Virtual Network - - - - - Get - AzureVirtualNetworkSubnetConfig - - - - Retrieve a single Subnet or a list of Subnets within a Virtual Network - - - - Get-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet to retrieve. - - String - - - VirtualNetwork - - The Virtual Network containing the Subnet. - - PSVirtualNetwork - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Subnet to retrieve. - - String - - String - - - - - - VirtualNetwork - - The Virtual Network containing the Subnet. - - PSVirtualNetwork - - PSVirtualNetwork - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGateway - - - - - - - New - AzureApplicationGateway - - - - - - - - New-AzureApplicationGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Location - - - - String - - - Sku - - - - PSApplicationGatewaySku - - - GatewayIPConfigurations - - - - List`1[PSApplicationGatewayIPConfiguration] - - - SslCertificates - - - - List`1[PSApplicationGatewaySslCertificate] - - - FrontendIPConfigurations - - - - List`1[PSApplicationGatewayFrontendIPConfiguration] - - - FrontendPorts - - - - List`1[PSApplicationGatewayFrontendPort] - - - BackendAddressPools - - - - List`1[PSApplicationGatewayBackendAddressPool] - - - BackendHttpSettingsCollection - - - - List`1[PSApplicationGatewayBackendHttpSettings] - - - HttpListeners - - - - List`1[PSApplicationGatewayHttpListener] - - - RequestRoutingRules - - - - List`1[PSApplicationGatewayRequestRoutingRule] - - - Tag - - - - Hashtable[] - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Location - - - - String - - String - - - - - - Sku - - - - PSApplicationGatewaySku - - PSApplicationGatewaySku - - - - - - GatewayIPConfigurations - - - - List`1[PSApplicationGatewayIPConfiguration] - - List`1[PSApplicationGatewayIPConfiguration] - - - - - - SslCertificates - - - - List`1[PSApplicationGatewaySslCertificate] - - List`1[PSApplicationGatewaySslCertificate] - - - - - - FrontendIPConfigurations - - - - List`1[PSApplicationGatewayFrontendIPConfiguration] - - List`1[PSApplicationGatewayFrontendIPConfiguration] - - - - - - FrontendPorts - - - - List`1[PSApplicationGatewayFrontendPort] - - List`1[PSApplicationGatewayFrontendPort] - - - - - - BackendAddressPools - - - - List`1[PSApplicationGatewayBackendAddressPool] - - List`1[PSApplicationGatewayBackendAddressPool] - - - - - - BackendHttpSettingsCollection - - - - List`1[PSApplicationGatewayBackendHttpSettings] - - List`1[PSApplicationGatewayBackendHttpSettings] - - - - - - HttpListeners - - - - List`1[PSApplicationGatewayHttpListener] - - List`1[PSApplicationGatewayHttpListener] - - - - - - RequestRoutingRules - - - - List`1[PSApplicationGatewayRequestRoutingRule] - - List`1[PSApplicationGatewayRequestRoutingRule] - - - - - - Tag - - - - Hashtable[] - - Hashtable[] - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayBackendAddressPool - - - - - - - New - AzureApplicationGatewayBackendAddressPool - - - - - - - - New-AzureApplicationGatewayBackendAddressPool - - Name - - - - String - - - BackendIPConfigurationIds - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayBackendAddressPool - - Name - - - - String - - - BackendIPAddresses - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayBackendAddressPool - - Name - - - - String - - - BackendFqdns - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - BackendIPConfigurationIds - - - - List`1[String] - - List`1[String] - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendIPAddresses - - - - List`1[String] - - List`1[String] - - - - - - BackendFqdns - - - - List`1[String] - - List`1[String] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayBackendHttpSettings - - - - - - - New - AzureApplicationGatewayBackendHttpSettings - - - - - - - - New-AzureApplicationGatewayBackendHttpSettings - - Name - - - - String - - - Port - - - - Int32 - - - Protocol - - - - String - - - CookieBasedAffinity - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Protocol - - - - String - - String - - - - - - CookieBasedAffinity - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayFrontendIPConfig - - - - - - - New - AzureApplicationGatewayFrontendIPConfig - - - - - - - - New-AzureApplicationGatewayFrontendIPConfig - - Name - - - - String - - - PrivateIPAddress - - - - String - - - Subnet - - - - PSSubnet - - - PublicIPAddress - - - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayFrontendIPConfig - - Name - - - - String - - - PrivateIPAddress - - - - String - - - SubnetId - - - - String - - - PublicIPAddressId - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - PrivateIPAddress - - - - String - - String - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - PublicIPAddress - - - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - SubnetId - - - - String - - String - - - - - - PublicIPAddressId - - - - String - - String - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayFrontendPort - - - - - - - New - AzureApplicationGatewayFrontendPort - - - - - - - - New-AzureApplicationGatewayFrontendPort - - Name - - - - String - - - Port - - - - Int32 - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayHttpListener - - - - - - - New - AzureApplicationGatewayHttpListener - - - - - - - - New-AzureApplicationGatewayHttpListener - - Name - - - - String - - - FrontendIPConfigurationId - - - - String - - - FrontendPortId - - - - String - - - SslCertificateId - - - - String - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayHttpListener - - Name - - - - String - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - FrontendIPConfigurationId - - - - String - - String - - - - - - FrontendPortId - - - - String - - String - - - - - - SslCertificateId - - - - String - - String - - - - - - Protocol - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - PSApplicationGatewayFrontendIPConfiguration - - - - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - PSApplicationGatewayFrontendPort - - - - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - PSApplicationGatewaySslCertificate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayIPConfiguration - - - - - - - New - AzureApplicationGatewayIPConfiguration - - - - - - - - New-AzureApplicationGatewayIPConfiguration - - Name - - - - String - - - SubnetId - - - - String - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayIPConfiguration - - Name - - - - String - - - Subnet - - - - PSSubnet - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - SubnetId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewayRequestRoutingRule - - - - - - - New - AzureApplicationGatewayRequestRoutingRule - - - - - - - - New-AzureApplicationGatewayRequestRoutingRule - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettingsId - - - - String - - - HttpListenerId - - - - String - - - BackendAddressPoolId - - - - String - - - Profile - - - - AzureProfile - - - - New-AzureApplicationGatewayRequestRoutingRule - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - - HttpListener - - - - PSApplicationGatewayHttpListener - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - RuleType - - - - String - - String - - - - - - BackendHttpSettingsId - - - - String - - String - - - - - - HttpListenerId - - - - String - - String - - - - - - BackendAddressPoolId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - PSApplicationGatewayBackendHttpSettings - - - - - - HttpListener - - - - PSApplicationGatewayHttpListener - - PSApplicationGatewayHttpListener - - - - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - PSApplicationGatewayBackendAddressPool - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewaySku - - - - - - - New - AzureApplicationGatewaySku - - - - - - - - New-AzureApplicationGatewaySku - - Name - - - - String - - - Tier - - - - String - - - Capacity - - - - Int32 - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - Tier - - - - String - - String - - - - - - Capacity - - - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureApplicationGatewaySslCertificate - - - - - - - New - AzureApplicationGatewaySslCertificate - - - - - - - - New-AzureApplicationGatewaySslCertificate - - Name - - - - String - - - CertificateFile - - - - String - - - Password - - - - String - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - CertificateFile - - - - String - - String - - - - - - Password - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancer - - Create a new Azure Load Balancer - - - - - New - AzureLoadBalancer - - - - Create a new Azure Load Balancer - - - - New-AzureLoadBalancer - - Name - - The name of the Load Balancer. - - String - - - ResourceGroupName - - The name of the Resource Group in which this Load Balancer will be created. - - String - - - Location - - The Region in which this Load Balancer will be created. - - String - - - FrontendIpConfiguration - - A list of Frontend Ips objects to associate with this Load Balancer. - - List`1[PSFrontendIPConfiguration] - - - BackendAddressPool - - A list of Backend Address Pool objects to associate with this Load Balancer - - List`1[PSBackendAddressPool] - - - Probe - - A list of Probe objects to associate with this Load Balancer. - - List`1[PSProbe] - - - InboundNatRule - - A list of Inbound NAT Rules objects to associated with this Load Balancer. - - List`1[PSInboundNatRule] - - - LoadBalancingRule - - A list of Load Balancing Rule objects to associate with this Load Balancer. - - List`1[PSLoadBalancingRule] - - - Tag - - A dictionary of tags to be associated with this Load Balancer. - - Hashtable[] - - - Force - - Forces the creation of the Load Balancer even if a Load Balancer with the same name already exists. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group in which this Load Balancer will be created. - - String - - String - - - - - - Location - - The Region in which this Load Balancer will be created. - - String - - String - - - - - - FrontendIpConfiguration - - A list of Frontend Ips objects to associate with this Load Balancer. - - List`1[PSFrontendIPConfiguration] - - List`1[PSFrontendIPConfiguration] - - - - - - BackendAddressPool - - A list of Backend Address Pool objects to associate with this Load Balancer - - List`1[PSBackendAddressPool] - - List`1[PSBackendAddressPool] - - - - - - Probe - - A list of Probe objects to associate with this Load Balancer. - - List`1[PSProbe] - - List`1[PSProbe] - - - - - - InboundNatRule - - A list of Inbound NAT Rules objects to associated with this Load Balancer. - - List`1[PSInboundNatRule] - - List`1[PSInboundNatRule] - - - - - - LoadBalancingRule - - A list of Load Balancing Rule objects to associate with this Load Balancer. - - List`1[PSLoadBalancingRule] - - List`1[PSLoadBalancingRule] - - - - - - Tag - - A dictionary of tags to be associated with this Load Balancer. - - Hashtable[] - - Hashtable[] - - - - - - Force - - Forces the creation of the Load Balancer even if a Load Balancer with the same name already exists. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - New-AzureResourceGroup ` - -Name 'SampleRG' ` - -Location "West US" +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + + Direction + + Specifies whether a rule is evaluated on incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + + Inbound + Outbound + + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the network protocol that a rule configuration applies to. The acceptable values for this parameter are: -$backendSubnet = New-AzureVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24 +-- Tcp +-- Udp +-- Wildcard character (*) to match both + + + Tcp + Udp + * + + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: -$vnet = New-AzurevirtualNetwork ` - -Name SampleVNet ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -AddressPrefix 10.0.0.0/16 ` - -Subnet $frontendSubnet,$backendSubnet +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address. + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + + SourcePortRange + + Specifies a source port or range. This value is expressed as an integer, as a range between 0 and 65535, or as a wildcard character (*) to match any source port. + + String + + + Name + + Specifies the name of a network security rule configuration. + + String + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This cmdlet adds a network security rule configuration to the object that this parameter specifies. + + PSNetworkSecurityGroup + + + + + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + String + + String + + + none + + + Description + + Specifies a description of a network security rule configuration. + + String + + String + + + none + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: -$backendNic = New-AzureNetworkInterface ` - -Name LB-Nic-BE ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -PrivateIpAddress 10.0.2.4 ` - -Subnet $backendSubnet +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + String + + + none + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: -$backendNic2 = New-AzureNetworkInterface ` - -Name LB-Nic2-BE ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -PrivateIpAddress 10.0.2.5 ` - -Subnet $backendSubnet +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + String + + + none + + + Direction + + Specifies whether a rule is evaluated on incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + String + + String + + + none + + + Name + + Specifies the name of a network security rule configuration. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This cmdlet adds a network security rule configuration to the object that this parameter specifies. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the network protocol that a rule configuration applies to. The acceptable values for this parameter are: -$publicIP = New-AzurePublicIpAddress ` - -Name PublicIp ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - –AllocationMethod Dynamic ` - -DomainNameLabel samplelbip +-- Tcp +-- Udp +-- Wildcard character (*) to match both + + String + + String + + + none + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: -$frontendIP = New-AzureLoadBalancerFrontendIpConfig ` - -Name LB-Frontend ` - -PublicIpAddress $publicIP +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address. + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + String + + + none + + + SourcePortRange + + Specifies a source port or range. This value is expressed as an integer, as a range between 0 and 65535, or as a wildcard character (*) to match any source port. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkSecurityRuleConfig + + + + New-AzureNetworkSecurityRuleConfig + + + + Remove-AzureNetworkSecurityRuleConfig + + + + Set-AzureNetworkSecurityRuleConfig + + + + + + + Add-AzureRouteConfig + + Adds a route to a route table. + + + + + Add + AzureRouteConfig + + + + The Add-AzureRouteConfig cmdlet adds a route to an Azure route table. + + + + Add-AzureRouteConfig + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies a name of the route to add to the route table. + + String + + + NextHopType + + Specifies how this route forwards packets. Valid values are: -$backendAddressPool = New-AzureLoadBalancerBackendAddressPoolConfig ` - -Name LB-BEPool ` - -$inboundNatRule = New-AzureLoadBalancerInboundNatRuleConfig ` - -Name LB-InboundNATRule ` - -FrontendIPConfiguration $frontendIP ` - -Protocol Tcp ` - -FrontendPort 3389 ` - -BackendPort 3389 ` - -IdleTimeoutInMinutes 15 +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + + Internet + None + VirtualAppliance + VirtualNetworkGateway + VnetLocal + + + + RouteTable + + Specifies the route table to which this cmdlet adds a route. + + PSRouteTable + + + + + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + String + + + none + + + Name + + Specifies a name of the route to add to the route table. + + String + + String + + + none + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + String + + + none + + + NextHopType + + Specifies how this route forwards packets. Valid values are: -$probe = New-AzureLoadBalancerProbeConfig ` - -Name LB-Probe ` - -RequestPath healthcheck.aspx ` - -Protocol http ` - -Port 80 ` - -IntervalInSeconds 15 ` - -ProbeCount 2 +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + Specifies the route table to which this cmdlet adds a route. + + PSRouteTable + + PSRouteTable + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Add a route to a route table + + + + + PS C:\>$RouteTable = Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" +PS C:\> Add-AzureRouteConfig -Name "route13" -AddressPrefix 10.3.0.0/16 -NextHopType VnetLocal -RouteTable $RouteTable -$lbrule = New-AzureLoadBalancerRuleConfig ` - -Name LB-LBRule ` - -FrontendIPConfiguration $frontendIP ` - -BackendAddressPool $backendAddressPool ` - -Probe $probe ` - -Protocol Tcp ` - -FrontendPort 80 ` - -BackendPort 80 ` - -IdleTimeoutInMinutes 15 + + + The first command gets a route table named routetable01 by using the Get-AzureRouteTable cmdlet. The command stores the table in the $RouteTable variable. + The second command adds a route named route13 to the route table stored in $RouteTable. This route forwards packets to the local virtual network. + + + + + + + + + + + Example 2: Add a route to a route table by using the pipeline + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Add-AzureRouteConfig -Name "route02" -AddressPrefix 10.2.0.0/16 -NextHopType VnetLocal | Set-AzureRouteTable +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/routetable01 +Etag : W/"f13e1bc8-d41f-44d0-882d-b8b5a1134f59" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"f13e1bc8-d41f-44d0-882d-b8b5a1134f59\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + }, + { + "Name": "route02", + "Etag": "W/\"f13e1bc8-d41f-44d0-882d-b8b5a1134f59\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route02", + "AddressPrefix": "10.2.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + }, + { + "Name": "route13", + "Etag": null, + "Id": null, + "AddressPrefix": "10.3.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": null + } + ] +Subnets : [] + + + This command gets the route table named routetable01 by using Get-AzureRouteTable. The command passes that table to the current cmdlet by using the pipeline operator. + The current cmdlet adds the route named route02, and then passes the result to the Set-AzureRouteTable cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Get-AzureRouteConfig + + + + Get-AzureRouteTable + + + + New-AzureRouteConfig + + + + Remove-AzureRouteConfig + + + + Set-AzureRouteConfig + + + + Set-AzureRouteTable + + + + + + + Add-AzureVirtualNetworkSubnetConfig + + Adds a subnet configuration to a virtual network. + + + + + Add + AzureVirtualNetworkSubnetConfig + + + + The Add-AzureVirtualNetworkSubnetConfig cmdlet adds a subnet configuration to an existing Azure virtual network. + + + + Add-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This cmdlet adds a virtual network subnet configuration to the object that this parameter specifies. + + PSNetworkSecurityGroup + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of the subnet configuration to add. + + String + + + VirtualNetwork + + Specifies the VirtualNetwork object in which to add a subnet configuration. + + PSVirtualNetwork + + + + Add-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTableId + + + + + System.String + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of the subnet configuration to add. + + String + + + VirtualNetwork + + Specifies the VirtualNetwork object in which to add a subnet configuration. + + PSVirtualNetwork + + + + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + String + + + none + + + Name + + Specifies the name of the subnet configuration to add. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This cmdlet adds a virtual network subnet configuration to the object that this parameter specifies. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + none + + + RouteTableId + + + + + System.String + + System.String + + + none + + + VirtualNetwork + + Specifies the VirtualNetwork object in which to add a subnet configuration. + + PSVirtualNetwork + + PSVirtualNetwork + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetworkSubnetConfig + + + + New-AzureVirtualNetworkSubnetConfig + + + + Remove-AzureVirtualNetworkSubnetConfig + + + + Set-AzureVirtualNetworkSubnetConfig + + + + + + + Get-AzureApplicationGatewayBackendAddressPool + + Gets a back-end address pool for an application gateway. + + + + + Get + AzureApplicationGatewayBackendAddressPool + + + + + + + Get-AzureApplicationGatewayBackendAddressPool + + Name + + Specifies the name of the back-end address pool that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + The Get-AzureApplicationGatewayBackendAddressPool cmdlet gets a back-end address pool for an application gateway. + + PSApplicationGateway + + + + + + ApplicationGateway + + The Get-AzureApplicationGatewayBackendAddressPool cmdlet gets a back-end address pool for an application gateway. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the back-end address pool that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool> + + + + + + + + + + + + + + + Example 1: Get a specified back-end server pool + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $BackendPool = Get-AzureApplicationGatewayBackendAddressPool -Name "Pool01" -ApplicationGateway $AppGw + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command gets the back-end address pool associated with $AppGw named Pool01 and stores it in the $BackendPool variable. + + + + + + + + + + + Example 2: Get a list of back-end server pool + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $BackendPools = Get-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $AppGw -New-AzureLoadBalancer ` - -Name LB ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -FrontendIpConfiguration $frontendIP ` - -BackendAddressPool $backendAddressPool ` - -Probe $probe ` - -InboundNatRule $inboundNatRule ` - -LoadBalancingRule $lbrule - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancerBackendAddressPoolConfig - - Create a new Backend Address Pool for an Azure Load Balancer - - - - - New - AzureLoadBalancerBackendAddressPoolConfig - - - - Create a new Backend Address Pool for an Azure Load Balancer - - - - New-AzureLoadBalancerBackendAddressPoolConfig - - Name - - The name of the Backend Address Pool. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Backend Address Pool. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendIpConfigurationId - - A list of Backend Ip config Id's to associate with this. - - list`1[string] - - list`1[string] - - - - - - BackendIpConfiguration - - A list of Ips to associate with the Backend Address Pool. - - list`1[psnetworkinterfaceipconfiguration] - - list`1[psnetworkinterfaceipconfiguration] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancerFrontendIpConfig - - Create a new Frontend Ip Config for an Azure Load Balancer - - - - - New - AzureLoadBalancerFrontendIpConfig - - - - Create a new Frontend Ip Config for an Azure Load Balancer - - - - New-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - PrivateIpAddress - - The private Ip address of the load balancer. - This can be specified only if a subnet is specified - - String - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - - Profile - - - - AzureProfile - - - - New-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - PrivateIpAddress - - The private Ip address of the load balancer. - This can be specified only if a subnet is specified - - String - - - Subnet - - The Subnet object within which this Frontend Ip will be created. - - PSSubnet - - - PublicIpAddress - - The Public Ip Address object to associate with this Frontend Ip. - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Frontend Ip. - - String - - String - - - - - - PrivateIpAddress - - The private Ip address of the load balancer. - This can be specified only if a subnet is specified - - String - - String - - - - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - String - - - - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - The Subnet object within which this Frontend Ip will be created. - - PSSubnet - - PSSubnet - - - - - - PublicIpAddress - - The Public Ip Address object to associate with this Frontend Ip. - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancerInboundNatRuleConfig - - Create a new Inbound NAT rule for an Azure Load Balancer - - - - - New - AzureLoadBalancerInboundNatRuleConfig - - - - Create a new Inbound NAT rule for an Azure Load Balancer - - - - New-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Frontend Ip configuration to remove. - - String - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Inbound NAT Rule. - - String - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - New-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Frontend Ip configuration to remove. - - String - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Frontend Ip configuration to remove. - - String - - String - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Inbound NAT Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - String - - - - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer NAT Rule. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendIpConfigurationId - - The Id of a Backend Ip Configuration to associate with this Inbound NAT Rule. - - string - - string - - - - - - BackendIpConfiguration - - The Backend Ip Configuration to associate with this Inbound NAT Rule. - - psnetworkinterfaceipconfiguration - - psnetworkinterfaceipconfiguration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancerProbeConfig - - Create a new Probe Configuration for an Azure Load Balancer - - - - - New - AzureLoadBalancerProbeConfig - - - - Create a new Probe Configuration for an Azure Load Balancer - - - - New-AzureLoadBalancerProbeConfig - - Name - - The name of the Probe configuration. - - String - - - RequestPath - - The path within the load balanced service to probe to determine health. - - String - - - Protocol - - The protocol to use for the probing. - Options: Tcp or Http. - - String - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Probe configuration. - - String - - String - - - - - - RequestPath - - The path within the load balanced service to probe to determine health. - - String - - String - - - - - - Protocol - - The protocol to use for the probing. - Options: Tcp or Http. - - String - - String - - - - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - Int32 - - - - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - Int32 - - - - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLoadBalancerRuleConfig - - Create a new Load Balancing Rule for an Azure Load Balancer - - - - - New - AzureLoadBalancerRuleConfig - - - - Create a new Load Balancing Rule for an Azure Load Balancer - - - - New-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancing Rule. - - String - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Load Balancer Rule. - - String - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - - ProbeId - - The Id of the Probe to associate with this Load Balancer Rule. - - String - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - New-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancing Rule. - - String - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - - Probe - - The Probe to associate with this Load Balancer Rule. - - PSProbe - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancing Rule. - - String - - String - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Load Balancer Rule. - - String - - String - - - - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - String - - - - - - ProbeId - - The Id of the Probe to associate with this Load Balancer Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp - - String - - String - - - - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - String - - - - - - EnableFloatingIP - - Floating IP is pertinent to failover scenarios: a “floating” IP is reassigned to a secondary server in case the primary server fails. Floating IP is required for SQL AlwaysOn. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - PSBackendAddressPool - - - - - - Probe - - The Probe to associate with this Load Balancer Rule. - - PSProbe - - PSProbe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureLocalNetworkGateway - - - - - - - New - AzureLocalNetworkGateway - - - - - - - - New-AzureLocalNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Location - - - - String - - - GatewayIpAddress - - - - String - - - AddressPrefix - - - - List`1[String] - - - Tag - - - - Hashtable[] - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Location - - - - String - - String - - - - - - GatewayIpAddress - - - - String - - String - - - - - - AddressPrefix - - - - List`1[String] - - List`1[String] - - - - - - Tag - - - - Hashtable[] - - Hashtable[] - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureNetworkInterface - - Create a new Network Interface - - - - - New - AzureNetworkInterface - - - - Create a new Network Interface - - - - New-AzureNetworkInterface - - Name - - The name of the Network Interface. - - String - - - ResourceGroupName - - The name of the Resource Group in which this Network Interface will be created. - - String - - - Location - - The Region in which this Network Interface will be created. - - String - - - PrivateIpAddress - - The static Ipv4 Ip address to be assigned to this Network Interface. Optional - - String - - - SubnetId - - The Id of the Subnet resource in which this Network Interface will be created. - - String - - - PublicIpAddressId - - The Id of the Public Ip Address resource to assign to this Network Interface. - - String - - - NetworkSecurityGroupId - - The Network Security Group object containing ACLs that will apply to this NIC. - - String - - - LoadBalancerBackendAddressPoolId - - A reference to a Load Balancer Address Pool to which this NIC will be added. - - List`1[String] - - - LoadBalancerInboundNatRuleId - - A reference to a Load Balancer Inbound Nat Rule to which this NIC will be added. - - List`1[String] - - - IpConfigurationName - - The name of Ip Configuration. - - String - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this NIC. - - List`1[String] - - - InternalDnsNameLabel - - List of DNS servers IP addresses. - - String - - - EnableIPForwarding - - Enables/disable IP forwarding on this Nic. - - SwitchParameter - - - Tag - - A dictionary of tags to be associated with this Network Interface. - - - Hashtable[] - - - Force - - Forces the creation of the Network Interface even if a Network Interface with the same name already exists. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - New-AzureNetworkInterface - - Name - - The name of the Network Interface. - - String - - - ResourceGroupName - - The name of the Resource Group in which this Network Interface will be created. - - String - - - Location - - The Region in which this Network Interface will be created. - - String - - - PrivateIpAddress - - The static Ipv4 Ip address to be assigned to this Network Interface. Optional - - String - - - Subnet - - The Subnet object in which this Network Interface will be created. - - PSSubnet - - - PublicIpAddress - - The Public Ip Address object to assign to this Network Interface. - - PSPublicIpAddress - - - NetworkSecurityGroup - - A reference to a Network Security Group object containing ACLs that will apply to this NIC. - - PSNetworkSecurityGroup - - - LoadBalancerBackendAddressPool - - A Load Balancer Address Pool object to which this NIC will be added. - - List`1[PSBackendAddressPool] - - - LoadBalancerInboundNatRule - - A Load Balancer Inbound Nat Rule object to which this NIC will be added. - - List`1[PSInboundNatRule] - - - IpConfigurationName - - The name of Ip Configuration. - - String - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this NIC. - - List`1[String] - - - InternalDnsNameLabel - - List of DNS servers IP addresses. - - String - - - EnableIPForwarding - - Enables/disable IP forwarding on this Nic. - - SwitchParameter - - - Tag - - A dictionary of tags to be associated with this Network Interface. - - - Hashtable[] - - - Force - - Forces the creation of the Network Interface even if a Network Interface with the same name already exists. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Interface. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group in which this Network Interface will be created. - - String - - String - - - - - - Location - - The Region in which this Network Interface will be created. - - String - - String - - - - - - PrivateIpAddress - - The static Ipv4 Ip address to be assigned to this Network Interface. Optional - - String - - String - - - - - - SubnetId - - The Id of the Subnet resource in which this Network Interface will be created. - - String - - String - - - - - - PublicIpAddressId - - The Id of the Public Ip Address resource to assign to this Network Interface. - - String - - String - - - - - - NetworkSecurityGroupId - - The Network Security Group object containing ACLs that will apply to this NIC. - - String - - String - - - - - - LoadBalancerBackendAddressPoolId - - A reference to a Load Balancer Address Pool to which this NIC will be added. - - List`1[String] - - List`1[String] - - - - - - LoadBalancerInboundNatRuleId - - A reference to a Load Balancer Inbound Nat Rule to which this NIC will be added. - - List`1[String] - - List`1[String] - - - - - - IpConfigurationName - - The name of Ip Configuration. - - String - - String - - - - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this NIC. - - List`1[String] - - List`1[String] - - - - - - InternalDnsNameLabel - - List of DNS servers IP addresses. - - String - - String - - - - - - EnableIPForwarding - - Enables/disable IP forwarding on this Nic. - - SwitchParameter - - SwitchParameter - - - - - - Tag - - A dictionary of tags to be associated with this Network Interface. - - - Hashtable[] - - Hashtable[] - - - - - - Force - - Forces the creation of the Network Interface even if a Network Interface with the same name already exists. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - The Subnet object in which this Network Interface will be created. - - PSSubnet - - PSSubnet - - - - - - PublicIpAddress - - The Public Ip Address object to assign to this Network Interface. - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - NetworkSecurityGroup - - A reference to a Network Security Group object containing ACLs that will apply to this NIC. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - LoadBalancerBackendAddressPool - - A Load Balancer Address Pool object to which this NIC will be added. - - List`1[PSBackendAddressPool] - - List`1[PSBackendAddressPool] - - - - - - LoadBalancerInboundNatRule - - A Load Balancer Inbound Nat Rule object to which this NIC will be added. - - List`1[PSInboundNatRule] - - List`1[PSInboundNatRule] - - - - - - AllocationMethod - - How Ips are assigned to this Network Interface. Options: Static or Dynamic - - string - - string - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - New-AzureResourceGroup ` - -Name 'SampleRG' ` - -Location "West US" + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command gets a list of the the back-end address pools associated with $AppGw, and stores the list in the $BackendPools variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendAddressPool + + + + New-AzureApplicationGatewayBackendAddressPool + + + + Remove-AzureApplicationGatewayBackendAddressPool + + + + Set-AzureApplicationGatewayBackendAddressPool + + + + + + + Get-AzureApplicationGatewayBackendHttpSettings + + Gets the back-end HTTP settings of an application gateway. + + + + + Get + AzureApplicationGatewayBackendHttpSettings + + + + The Get-AzureApplicationGatewayBackendHttpSettings cmdlet gets the back-end HTTP settings of an application gateway. + + + + Get-AzureApplicationGatewayBackendHttpSettings + + Name + + Specifies the name of the backend HTTP settings that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway object that contains back-end HTTP settings. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies an application gateway object that contains back-end HTTP settings. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the backend HTTP settings that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.AzureApplicationGatewayBackendHttpSettings + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.AzureApplicationGatewayBackendHttpSettings> + + + + + + + + + + + + + + + Example 1: Get back-end HTTP settings by name + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Settings = Get-AzureApplicationGatewayBackendHttpSettings -Name "Settings01" -ApplicationGateway $AppGw + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets the HTTP settings named Settings01 for $AppGw and stores the settings in the $Settings variable. + + + + + + + + + + + Example 2: Get a collection of back-end HTTP settings + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $SettingsList = Get-AzureApplicationGatewayBackendHttpSettings -ApplicationGateway $AppGw + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets the collection of HTTP settings for $AppGw and stores the settings in the $SettingsList variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendHttpSettings + + + + New-AzureApplicationGatewayBackendHttpSettings + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + + + Set-AzureApplicationGatewayBackendHttpSettings + + + + + + + Get-AzureApplicationGatewayFrontendIPConfig + + Gets the front-end IP configuration of an application gateway. + + + + + Get + AzureApplicationGatewayFrontendIPConfig + + + + The Get-AzureApplicationGatewayFrontendIPConfig cmdlet gets the front-end IP configuration of an application gateway. + + + + Get-AzureApplicationGatewayFrontendIPConfig + + Name + + Specifies the name of the front-end IP configuration that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains the front-end IP configuration. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains the front-end IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end IP configuration that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration> + + + + + + + + + + + + + + + Example 1: Get a specified front-end IP configuration + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndIP= Get-AzureApplicationGatewayFrontendIPConfig -Name "FrontEndIP01" -ApplicationGateway $AppGw + + + The first command gets an application gateway named ApplicationGateway01 from the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets the front-end IP configuration named FrontEndIP01 from $AppGw and stores it in the $FrontEndIP variable. + + + + + + + + + + + Example 2: Get a list of front-end IP configurations + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndIPs= Get-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw + + + The first command gets an application gateway named ApplicationGateway01 from the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets a list of the front-end IP configurations from $AppGw and stores it in the $FrontEndIPs variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendIPConfig + + + + New-AzureApplicationGatewayFrontendIPConfig + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + + + Set-AzureApplicationGatewayFrontendIPConfig + + + + + + + Get-AzureApplicationGatewayFrontendPort + + Gets the front-end port of an application gateway. + + + + + Get + AzureApplicationGatewayFrontendPort + + + + The Get-AzureApplicationGatewayFrontendPort cmdlet gets the front-end port of an application gateway. + + + + Get-AzureApplicationGatewayFrontendPort + + Name + + Specifies the name of the front-end port to get. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains the front-end port. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains the front-end port. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end port to get. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort> + + + + + + + + + + + + + + + 1: Get a specified front-end port + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndPort = Get-AzureApplicationGatewayFrontendIPort -Name "FrontEndPort01" -ApplicationGateway $AppGw + + + The first command gets an application gateway named ApplicationGateway01 from the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets the front-end port named FrontEndPort01 from $AppGw and stores it in the $FrontEndPort variable. + + + + + + + + + + + 2: Get a list of front-end ports + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndPorts = Get-AzureApplicationGatewayFrontendIPort -ApplicationGateway $AppGw + + + The first command gets an application gateway named ApplicationGateway01 from the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command gets a list of the front-end ports from $AppGw and stores it in the $FrontEndPorts variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendPort + + + + New-AzureApplicationGatewayFrontendPort + + + + Remove-AzureApplicationGatewayFrontendPort + + + + Set-AzureApplicationGatewayFrontendPort + + + + + + + Get-AzureApplicationGatewayHttpListener + + Gets the HTTP listener of an application gateway. + + + + + Get + AzureApplicationGatewayHttpListener + + + + The Get-AzureApplicationGatewayHttpListener cmdlet gets the HTTP listener of an application gateway. + + + + Get-AzureApplicationGatewayHttpListener + + Name + + Specifies the name of the HTTP listener which this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains the HTTP listener. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains the HTTP listener. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the HTTP listener which this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener> + + + + + + + + + + + + + + + Example 1: Get a specific HTTP listener + + + + + PS C:\>$Appgw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Listener = Get-AzureApplicationGatewayHttpListener -Name "Listener01" -ApplicationGateway $Appgw -$backendSubnet = New-AzureVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24 + + + This command gets an HTTP listener named Listener01. + + + + + + + + + + + Example 2: Get a list of HTTP listeners + + + + + PS C:\>$Appgw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Listeners = Get-AzureApplicationGatewayHttpListener -ApplicationGateway $Appgw + + + This command gets a list of HTTP listeners. + + + + + + + + + + + + + Add-AzureApplicationGatewayHttpListener + + + + New-AzureApplicationGatewayHttpListener + + + + Remove-AzureApplicationGatewayHttpListener + + + + Set-AzureApplicationGatewayHttpListener + + + + + + + Get-AzureApplicationGatewayIPConfiguration + + Gets the IP configuration of an application gateway. + + + + + Get + AzureApplicationGatewayIPConfiguration + + + + The Get-AzureApplicationGatewayIPConfiguration cmdlet gets the IP configuration of an application gateway. The IP configuration contains the subnet in which the application gateway is deployed. + + + + Get-AzureApplicationGatewayIPConfiguration + + Name + + Specifies the name of the IP configuration which this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains IP configuration. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the IP configuration which this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayIPConfiguration + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayIPConfiguration> + + + + + + + + + + + + + + + Example 1: Get a specific IP configuration + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName “ResourceGroup01” +PS C:\> $GatewaySubnet = Get-AzureApplicationGatewayIPConfiguration -Name "GatewaySubnet01" -ApplicationGateway $AppGw + + + The first command gets an application gateway and stores it in the $AppGw variable. + The second command gets an IP configuration named GateSubnet01 from the gateway stored in $AppGw. + + + + + + + + + + + Example 2: Get a list of IP configurations + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $GatewaySubnets = Get-AzureApplicationGatewayIPConfiguration -ApplicationGateway $AppGw + + + The first command gets an application gateway and stores it in the $AppGw variable. + The second command gets a list of all IP configurations. + + + + + + + + + + + + + Add-AzureApplicationGatewayIPConfiguration + + + + New-AzureApplicationGatewayIPConfiguration + + + + Remove-AzureApplicationGatewayIPConfiguration + + + + Set-AzureApplicationGatewayIPConfiguration + + + + + + + Get-AzureApplicationGatewayRequestRoutingRule + + Gets the request routing rule of an application gateway. + + + + + Get + AzureApplicationGatewayRequestRoutingRule + + + + The Get-AzureApplicationGatewayRequestRoutingRule cmdlet gets the request routing rule of an application gateway. + + + + Get-AzureApplicationGatewayRequestRoutingRule + + Name + + Specifies the name of the request routing rule which this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains request routing rule. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains request routing rule. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the request routing rule which this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRequestRoutingRule + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRequestRoutingRule> + + + + + + + + + + + + + + + Example 1: Get a specific request routing rule + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Rule = Get-AzureApplicationGatewayRequestRoutingRule -"Rule01" -ApplicationGateway $AppGW + + + This command gets the request routing rule named Rule01. + + + + + + + + + + + Example 2: Get a list of request routing rules + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Rules = Get-AzureApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGW + + + This command gets a list of request routing rules. + + + + + + + + + + + + + Add-AzureApplicationGatewayRequestRoutingRule + + + + New-AzureApplicationGatewayRequestRoutingRule + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + + + Set-AzureApplicationGatewayRequestRoutingRule + + + + + + + Get-AzureApplicationGatewaySku + + Gets the SKU of an application gateway. + + + + + Get + AzureApplicationGatewaySku + + + + The Get-AzureApplicationGatewaySku cmdlet gets the stock keeping unit (SKU) of an application gateway. + + + + Get-AzureApplicationGatewaySku + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySku + + + + + + + + + + + + + + + Example 1: Get an application gateway SKU + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $SKU = Get-AzureApplicationGatewaySku -ApplicationGateway $AppGW -$vnet = New-AzurevirtualNetwork ` - -Name SampleVNet ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -AddressPrefix 10.0.0.0/16 ` - -Subnet $frontendSubnet,$backendSubnet + + + This command gets the SKU of an application gateway named ApplicationGateway01. + + + + + + + + + + + + + New-AzureApplicationGatewaySku + + + + Set-AzureApplicationGatewaySku + + + + + + + Get-AzureApplicationGatewaySslCertificate + + Gets an SSL certificate for an application gateway. + + + + + Get + AzureApplicationGatewaySslCertificate + + + + The Get-AzureApplicationGatewaySslCertificate cmdlet gets an SSL certificate for an application gateway. + + + + Get-AzureApplicationGatewaySslCertificate + + Name + + Specifies the name of SSL certificate pool that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object that contains the SSL certificate. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway object that contains the SSL certificate. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of SSL certificate pool that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate> + + + + + + + + + + + + + + + Example 1: Get a specific SSL certificate + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Cert = Get-AzureApplicationGatewaySslCertificate -Name "Cert01" -ApplicationGateway $AppGW + + + This command gets the SSL certificate named Cert01 from the application gateway named ApplicationGateway01. + + + + + + + + + + + Example 2: Get a list of SSL certificates + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Certs = Get-AzureApplicationGatewaySslCertificate -ApplicationGateway $AppGW + + + This command gets a list of SSL certificates from the application gateway named ApplicationGateway01. + + + + + + + + + + + + + Add-AzureApplicationGatewaySslCertificate + + + + New-AzureApplicationGatewaySslCertificate + + + + Remove-AzureApplicationGatewaySslCertificate + + + + Set-AzureApplicationGatewaySslCertificate + + + + + + + Get-AzureApplicationGateway + + Gets an application gateway. + + + + + Get + AzureApplicationGateway + + + + The Get-AzureApplicationGateway cmdlet gets an application gateway. + + + + Get-AzureApplicationGateway + + Name + + Specifies the name of the application gateway that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the application gateway. + + String + + + + + + Name + + Specifies the name of the application gateway that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the application gateway. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + IEnumerable<Microsoft.Azure.Commands.Network.Models.PSApplicationGateway> + + + + + + + + + + + + + + + Example 1: Get a specified application gateway + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" + + + This command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + + + + + + + + + + + Example 2: Get a list of application gateways in a resource group + + + + + PS C:\> $AppGwList = Get-AzureApplicationGateway -ResourceGroupName "ResourceGroup01" + + + This command gets a list of all the application gateways in the resource group named ResourceGroup01 and stores it in the $AppGwList variable. + + + + + + + + + + + Example 3: Get a list of application gateways in a subscription + + + + + PS C:\> $AppGwList = Get-AzureApplicationGateway + + + This command gets a list of all the application gateways in the subscription and stores it in the $AppGwList variable. + + + + + + + + + + + + + Stop-AzureApplicationGateway + + + + + + + Get-AzureLoadBalancerBackendAddressPoolConfig + + Gets a backend address pool configuration for a load balancer. + + + + + Get + AzureLoadBalancerBackendAddressPoolConfig + + + + The Get-AzureLoadBalancerBackendAddressPoolConfig cmdlet gets a single backend address pool or a list of backend address pools within a load balancer. + + + + Get-AzureLoadBalancerBackendAddressPoolConfig + + Name + + Specifies the name of the load balancer that contains the backend address pool to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that is associated with the backend address pool to get. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that is associated with the backend address pool to get. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the load balancer that contains the backend address pool to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerBackendAddressPoolConfig + + + + New-AzureLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureLoadBalancerBackendAddressPoolConfig + + + + + + + Get-AzureLoadBalancerFrontendIpConfig + + Gets a front-end IP configuration in a load balancer. + + + + + Get + AzureLoadBalancerFrontendIpConfig + + + + The Get-AzureLoadBalancerFrontendIpConfig cmdlet gets a front-end IP configuration or a list of front-end IP configurations in a load balancer. + + + + Get-AzureLoadBalancerFrontendIpConfig + + Name + + Specifies the name of the load balancer that contains the front-end IP configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that is associated with the front-end IP configuration to get. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that is associated with the front-end IP configuration to get. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the load balancer that contains the front-end IP configuration to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerFrontendIpConfig + + + + New-AzureLoadBalancerFrontendIpConfig + + + + Remove-AzureLoadBalancerFrontendIpConfig + + + + Set-AzureLoadBalancerFrontendIpConfig + + + + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + Gets an inbound NAT rule configuration for a load balancer. + + + + + Get + AzureLoadBalancerInboundNatRuleConfig + + + + The Get-AzureLoadBalancerInboundNatRuleConfig cmdlet gets one or more inbound network address translation (NAT) rules in an Azure load balancer. + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + Name + + Specifies the name of the inbound NAT rule configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that is associated with the inbound NAT rule configuration to get. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that is associated with the inbound NAT rule configuration to get. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the inbound NAT rule configuration to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + + + New-AzureLoadBalancerInboundNatRuleConfig + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + + + + + + Get-AzureLoadBalancerProbeConfig + + Gets a probe configuration for a load balancer. + + + + + Get + AzureLoadBalancerProbeConfig + + + + The Get-AzureLoadBalancerProbeConfig cmdlet gets one or more probe configurations for a load balancer. + + + + Get-AzureLoadBalancerProbeConfig + + Name + + Specifies the name of the probe configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that is associated with the probe configuration to get. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that is associated with the probe configuration to get. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the probe configuration to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerProbeConfig + + + + New-AzureLoadBalancerProbeConfig + + + + Remove-AzureLoadBalancerProbeConfig + + + + Set-AzureLoadBalancerProbeConfig + + + + + + + Get-AzureLoadBalancerRuleConfig + + Gets the rule configuration for a load balancer. + + + + + Get + AzureLoadBalancerRuleConfig + + + + The Get-AzureLoadBalancerRuleConfig cmdlet gets one or more rule configurations for a load balancer. + + + + Get-AzureLoadBalancerRuleConfig + + Name + + Specifies the name of the rule configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that is associated with the rule configuration to get. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that is associated with the rule configuration to get. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the rule configuration to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerRuleConfig + + + + New-AzureLoadBalancerRuleConfig + + + + Remove-AzureLoadBalancerRuleConfig + + + + Set-AzureLoadBalancerRuleConfig + + + + + + + Get-AzureLoadBalancer + + Gets a load balancer. + + + + + Get + AzureLoadBalancer + + + + The Get-AzureLoadBalancer cmdlet gets one or more Azure load balancers that are contained in a resource group. + + + + Get-AzureLoadBalancer + + Name + + Specifies the name of the load balancer to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ResourceGroupName + + Specifies the resource group that contains the load balancer to get. + + String + + + + + + Name + + Specifies the name of the load balancer to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the resource group that contains the load balancer to get. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + New-AzureLoadBalancer + + + + Remove-AzureLoadBalancer + + + + Set-AzureLoadBalancer + + + + + + + Get-AzureLocalNetworkGateway + + + + + + + + Get + AzureLocalNetworkGateway + + + + + + + Get-AzureLocalNetworkGateway + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkInterface + + Gets a network interface. + + + + + Get + AzureNetworkInterface + + + + The Get-AzureNetworkInterface cmdlet gets an Azure network interface or a list of Azure network interfaces in a resource group. + + + + Get-AzureNetworkInterface + + Name + + Specifies the name of the network interface to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the network interface to get. + + String + + + + + + Name + + Specifies the name of the network interface to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the network interface to get. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + New-AzureNetworkInterface + + + + Remove-AzureNetworkInterface + + + + Set-AzureNetworkInterface + + + + + + + Get-AzureNetworkSecurityGroup + + Gets a network security group. + + + + + Get + AzureNetworkSecurityGroup + + + + The Get-AzureNetworkSecurityGroup cmdlet gets an Azure network security group. + + + + Get-AzureNetworkSecurityGroup + + Name + + Specifies the name of the network security group to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the network security group to get. + + String + + + + + + Name + + Specifies the name of the network security group to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the network security group to get. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + New-AzureNetworkSecurityGroup + + + + Remove-AzureNetworkSecurityGroup + + + + Set-AzureNetworkSecurityGroup + + + + + + + Get-AzureNetworkSecurityRuleConfig + + Get a network security rule configuration for a network security group. + + + + + Get + AzureNetworkSecurityRuleConfig + + + + The Get-AzureNetworkSecurityRuleConfig cmdlet gets a network security rule configuration for an Azure network security group. + + + + Get-AzureNetworkSecurityRuleConfig + + DefaultRules + + Indicates whether this cmdlet gets a user-created rule configuration or a default rule configuration. + + + + Name + + Specifies the name of the network security rule configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object that contains the network security rule configuration to get. + + PSNetworkSecurityGroup + + + + + + DefaultRules + + Indicates whether this cmdlet gets a user-created rule configuration or a default rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the network security rule configuration to get. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object that contains the network security rule configuration to get. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureNetworkSecurityRuleConfig + + + + New-AzureNetworkSecurityRuleConfig + + + + Remove-AzureNetworkSecurityRuleConfig + + + + Set-AzureNetworkSecurityRuleConfig + + + + + + + Get-AzurePublicIpAddress + + Gets a public IP address. + + + + + Get + AzurePublicIpAddress + + + + The Get-AzurePublicIPAddress cmdlet gets one or more public IP addresses in a resource group. + + + + Get-AzurePublicIpAddress + + Name + + Specifies the name of the public IP address to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the public IP address to get. + + String + + + + + + Name + + Specifies the name of the public IP address to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the public IP address to get. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + New-AzurePublicIpAddress + + + + Remove-AzurePublicIpAddress + + + + Set-AzurePublicIpAddress + + + + + + + Get-AzureRouteConfig + + Gets routes from a route table. + + + + + Get + AzureRouteConfig + + + + The Get-AzureRouteConfig cmdlet gets routes from an Azure route table. You can specify a route by name. + + + + Get-AzureRouteConfig + + Name + + Specifies the name of the route that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + RouteTable + + Specifies the route table from which this cmdlet gets routes. + + PSRouteTable + + + + + + Name + + Specifies the name of the route that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + Specifies the route table from which this cmdlet gets routes. + + PSRouteTable + + PSRouteTable + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Get a route table + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Get-AzureRouteConfig -Name "route07" -$backendNic = New-AzureNetworkInterface ` - -Name LB-Nic-BE ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -PrivateIpAddress 10.0.2.4 ` - -Subnet $backendSubnet - - - - - - - - - - - - - - - - - - - - - - New-AzureNetworkSecurityGroup - - Create a new Network Security Group - - - - - New - AzureNetworkSecurityGroup - - - - Create a new Network Security Group - - - - New-AzureNetworkSecurityGroup - - Name - - The name of the Network Security Group. - - String - - - ResourceGroupName - - The name of the Resource Group in which this Network Security Group will be created. - - String - - - Location - - The Region in which this Network Security Group will be created. - - String - - - SecurityRules - - A list of Network Security Rule objects to create within this Network Security Group. - - List`1[PSSecurityRule] - - - Tag - - A dictionary of tags to be associated with this Network Security Group. - - Hashtable[] - - - Force - - Forces the creation of the Network Security Group even if a Network Security Group with the same name already exists. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Group. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group in which this Network Security Group will be created. - - String - - String - - - - - - Location - - The Region in which this Network Security Group will be created. - - String - - String - - - - - - SecurityRules - - A list of Network Security Rule objects to create within this Network Security Group. - - List`1[PSSecurityRule] - - List`1[PSSecurityRule] - - - - - - Tag - - A dictionary of tags to be associated with this Network Security Group. - - Hashtable[] - - Hashtable[] - - - - - - Force - - Forces the creation of the Network Security Group even if a Network Security Group with the same name already exists. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureNetworkSecurityRuleConfig - - Create a new Network Security Rule within a Network Security Group - - - - - New - AzureNetworkSecurityRuleConfig - - - - Create a new Network Security Rule within a Network Security Group - - - - New-AzureNetworkSecurityRuleConfig - - Name - - The name of the Network Security Rule. - - String - - - Description - - The description of the Network Security Rule. - - String - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny”. - - String - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Rule. - - String - - String - - - - - - Description - - The description of the Network Security Rule. - - String - - String - - - - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - String - - - - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny”. - - String - - String - - - - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - Int32 - - - - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzurePublicIpAddress - - Create a new Public Ip Address - - - - - New - AzurePublicIpAddress - - - - Create a new Public Ip Address - - - - New-AzurePublicIpAddress - - Name - - The name of the Public Ip Address. - - String - - - ResourceGroupName - - The name of the Resource Group in which this Public Ip Address will be created. - - String - - - Location - - The Region in which this Public Ip Address will be created. - - String - - - AllocationMethod - - How Ips are assigned to this Public Ip Address. - Options: Static or Dynamic - - String - - - DomainNameLabel - - The relative Dns name for this Public Ip Address. - - String - - - ReverseFqdn - - The Dns Fqdn that you wish to associate with this Public Ip Address. - - String - - - IdleTimeoutInMinutes - - Specifies the timeout for the Tcp idle connection - - Int32 - - - Tag - - A dictionary of tags to be associated with this Public Ip Address. - - Hashtable[] - - - Force - - Force the creation of this Public Ip Address possibly overwriting an existing Public Ip Address. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Public Ip Address. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group in which this Public Ip Address will be created. - - String - - String - - - - - - Location - - The Region in which this Public Ip Address will be created. - - String - - String - - - - - - AllocationMethod - - How Ips are assigned to this Public Ip Address. - Options: Static or Dynamic - - String - - String - - - - - - DomainNameLabel - - The relative Dns name for this Public Ip Address. - - String - - String - - - - - - ReverseFqdn - - The Dns Fqdn that you wish to associate with this Public Ip Address. - - String - - String - - - - - - IdleTimeoutInMinutes - - Specifies the timeout for the Tcp idle connection - - Int32 - - Int32 - - - - - - Tag - - A dictionary of tags to be associated with this Public Ip Address. - - Hashtable[] - - Hashtable[] - - - - - - Force - - Force the creation of this Public Ip Address possibly overwriting an existing Public Ip Address. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - New-AzureResourceGroup ` - -Name 'SampleRG' ` - -Location "West US" +Name : route07 +Id : +Etag : +ProvisioningState : +AddressPrefix : 10.1.0.0/16 +NextHopType : VnetLocal +NextHopIpAddress : + + + This command gets the route table named routetable01 by using the Get-AzureRouteTable cmdlet. The command passes that table to the current cmdlet by using the pipeline operator. The current cmdlet gets the route named route07 in the route table named routetable01. + + + + + + + + + + + + + Add-AzureRouteConfig + + + + Get-AzureRouteTable + + + + New-AzureRouteConfig + + + + Remove-AzureRouteConfig + + + + Set-AzureRouteConfig + + + + + + + Get-AzureRouteTable + + Gets route tables. + + + + + Get + AzureRouteTable + + + + The Get-AzureRouteTable cmdlet gets Azure route tables. You can retrieve a single route table, or retrieve all the route tables in a resource group or in your subscription. + + + + Get-AzureRouteTable + + Name + + Specifies the name of the route table that this cmdlet gets. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the route tables that this cmdlet gets. + + String + + + + + + Name + + Specifies the name of the route table that this cmdlet gets. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the route tables that this cmdlet gets. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Get a route table + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/routetable01 +Etag : W/"db5f4e12-3f34-465b-92dd-0ab3bf6fc274" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"db5f4e12-3f34-465b-92dd-0ab3bf6fc274\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + } + ] +Subnets : [] + + + This command gets the route table named routetable01 in the resource group named ResourceGroup11. + + + + + + + + + + + + + New-AzureRouteTable + + + + Remove-AzureRouteTable + + + + Set-AzureRouteTable + + + + + + + Get-AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Get + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Get-AzureVirtualNetworkGatewayConnectionSharedKey + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetworkGatewayConnection + + + + + + + + Get + AzureVirtualNetworkGatewayConnection + + + + + + + Get-AzureVirtualNetworkGatewayConnection + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetworkGateway + + + + + + + + Get + AzureVirtualNetworkGateway + + + + + + + Get-AzureVirtualNetworkGateway + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetworkSubnetConfig + + Gets a subnet in a virtual network. + + + + + Get + AzureVirtualNetworkSubnetConfig + + + + The Get-AzureVirtualNetworkSubnetConfig cmdlet gets one or more subnet configurations in an Azure virtual network. + + + + Get-AzureVirtualNetworkSubnetConfig + + Name + + Specifies the name of the subnet configuration to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration to get. + + PSVirtualNetwork + + + + + + Name + + Specifies the name of the subnet configuration to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration to get. + + PSVirtualNetwork + + PSVirtualNetwork + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureVirtualNetworkSubnetConfig + + + + New-AzureVirtualNetworkSubnetConfig + + + + Remove-AzureVirtualNetworkSubnetConfig + + + + Set-AzureVirtualNetworkSubnetConfig + + + + + + + Get-AzureVirtualNetwork + + Gets a virtual network in a resource group. + + + + + Get + AzureVirtualNetwork + + + + The Get-AzureVirtualNetwork cmdlet gets one or more virtual networks n a resource group. + + + + Get-AzureVirtualNetwork + + Name + + Specifies the name of the virtual network to get. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ResourceGroupName + + Specifies the name of the resource group that contains the virtual network. + + String + + + + + + Name + + Specifies the name of the virtual network to get. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the virtual network. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + New-AzureVirtualNetwork + + + + Remove-AzureVirtualNetwork + + + + Set-AzureVirtualNetwork + + + + + + + New-AzureApplicationGatewayBackendAddressPool + + Creates a back-end address pool for an application gateway. + + + + + New + AzureApplicationGatewayBackendAddressPool + + + + The New-AzureApplicationGatewayBackendAddressPool cmdlet creates a back-end address pool for an Azure application gateway. A back-end address can be specified as an IP address, a fully-qualified domain name (FQDN) or an IP configuration ID. + + + + New-AzureApplicationGatewayBackendAddressPool + + BackendFqdns + + Specifies a list of back-end FQDNs that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the back-end server pool that this cmdlet creates. + + String + + + + New-AzureApplicationGatewayBackendAddressPool + + BackendIPAddresses + + Specifies a list of back-end IP addresses that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the back-end server pool that this cmdlet creates. + + String + + + + New-AzureApplicationGatewayBackendAddressPool + + BackendIPConfigurationIds + + Specifies a list of back-end server IP configuration IDs that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the back-end server pool that this cmdlet creates. + + String + + + + + + BackendFqdns + + Specifies a list of back-end FQDNs that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPAddresses + + Specifies a list of back-end IP addresses that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPConfigurationIds + + Specifies a list of back-end server IP configuration IDs that this cmdlet associates with the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Name + + Specifies the name of the back-end server pool that this cmdlet creates. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool + + + + + + + + + + + + + + + Example 1: Create a back-end address pool by using the FQDN of a back-end server + + + + + PS C:\>$Pool = New-AzureApplicationGatewayBackendAddressPool -Name "Pool01" -BackendFqdns "contoso1.com", "contoso2.com" + + + This command creates a back-end address pool named Pool01 by using the FQDNs of back-end servers, and stores it in the $Pool variable. + + + + + + + + + + + Example 2: Create a back-end address pool by using the IP address of a back-end server + + + + + PS C:\>$Pool = New-AzureApplicationGatewayBackendAddressPool -Name "Pool02" -BackendFqdns "10.10.10.10", "10.10.10.11" + + + This command creates a back-end address pool named Pool02 by using the IP addresses of back-end servers, and stores it in the $Pool variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendAddressPool + + + + Get-AzureApplicationGatewayBackendAddressPool + + + + Remove-AzureApplicationGatewayBackendAddressPool + + + + Set-AzureApplicationGatewayBackendAddressPool + + + + + + + New-AzureApplicationGatewayBackendHttpSettings + + Creates back-end HTTP settings for an application gateway. + + + + + New + AzureApplicationGatewayBackendHttpSettings + + + + The New-AzureApplicationGatewayBackendHttpSettings cmdlet creates back-end HTTP settings for an application gateway. Back-end HTTP settings are applied to all back-end servers in a pool. + + + + New-AzureApplicationGatewayBackendHttpSettings + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the back-end server pool. + + + Enabled + Disabled + + + + Name + + Specifies the name of the back-end HTTP settings that this cmdlet creates. + + String + + + Port + + Specifies the port of the back-end server pool. + + Int32 + + + Protocol + + Specifies the protocol to use for communication between the application gateway and the back-end servers. + + String + + + + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the back-end server pool. + + String + + String + + + none + + + Name + + Specifies the name of the back-end HTTP settings that this cmdlet creates. + + String + + String + + + none + + + Port + + Specifies the port of the back-end server pool. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol to use for communication between the application gateway and the back-end servers. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings + + + + + + + + + + + + + + + Example 1: Create back-end HTTP settings + + + + + PS C:\> $Setting = New-AzureApplicationGatewayBackendHttpSettings -Name "Setting01" -Port 80 -Protocol Http -CookieBasedAffinity Disabled + + + This command creates back-end HTTP settings named Setting01 on port 80, using the HTTP protocol, with cookie-based affinity disabled. The settings are stored in the $Setting variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendHttpSettings + + + + Get-AzureApplicationGatewayBackendHttpSettings + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + + + Set-AzureApplicationGatewayBackendHttpSettings + + + + + + + New-AzureApplicationGatewayFrontendIPConfig + + Creates a front-end IP configuration for an application gateway. + + + + + New + AzureApplicationGatewayFrontendIPConfig + + + + The New-AzureApplicationGatewayFrontendIPConfig cmdlet creates a front-end IP configuraton for an Azure application gateway. An application gateway supports two types of front-end IP configuration: -$publicIP = New-AzurePublicIpAddress ` - -Name PublicIp ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - –AllocationMethod Dynamic ` - -DomainNameLabel samplelbip - - - - - - - - - - - - - - - - - - - - - - New-AzureRouteConfig - - Creates a Route for a Route Table - - - - - New - AzureRouteConfig - - - - Creates a Route for a Route Table - - - - New-AzureRouteConfig - - Name - - Name of the Route - - String - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - - String - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - Name of the Route - - String - - String - - - - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - String - - - - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - - String - - String - - - - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - - - - - - - - - - - - - - - - - - - - - - - New-AzureRouteTable - - Create a new Route Table - - - - - New - AzureRouteTable - - - - Create a new Route Table - - - - New-AzureRouteTable - - Name - - The name of the Route Table - - String - - - ResourceGroupName - - The name of the Resource Group in which this Route Table will be created - - String - - - Location - - The Region in which this Route Table will be created. - - String - - - Route - - A list of Route objects to associate with this Route Table. - - List`1[PSRoute] - - - Tag - - A dictionary of tags to be associated with this Network Interface. - - Hashtable[] - - - Force - - Forces the creation of the Route Table even if a Network Interface with the same name already exists. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Route Table - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group in which this Route Table will be created - - String - - String - - - - - - Location - - The Region in which this Route Table will be created. - - String - - String - - - - - - Route - - A list of Route objects to associate with this Route Table. - - List`1[PSRoute] - - List`1[PSRoute] - - - - - - Tag - - A dictionary of tags to be associated with this Network Interface. - - Hashtable[] - - Hashtable[] - - - - - - Force - - Forces the creation of the Route Table even if a Network Interface with the same name already exists. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureVirtualNetwork - - Create a new Virtual Network - - - - - New - AzureVirtualNetwork - - - - Create a new Virtual Network - - - - New-AzureVirtualNetwork - - Name - - The name of the Virtual Network. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network. - - String - - - Location - - The Region in which this Virtual Network will be created. - - String - - - AddressPrefix - - A list of Ip ranges covered by this Virtual Network. - - List`1[String] - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this Virtual Network. - - List`1[String] - - - Subnet - - A list of Subnets associated with this Virtual Network. - - List`1[PSSubnet] - - - Tag - - A dictionary of tags to be associated with this Virtual Network. - - Hashtable[] - - - Force - - Force the creation of this Virtual Network possibly overwriting an existing Virtual Network. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Virtual Network. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network. - - String - - String - - - - - - Location - - The Region in which this Virtual Network will be created. - - String - - String - - - - - - AddressPrefix - - A list of Ip ranges covered by this Virtual Network. - - List`1[String] - - List`1[String] - - - - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this Virtual Network. - - List`1[String] - - List`1[String] - - - - - - Subnet - - A list of Subnets associated with this Virtual Network. - - List`1[PSSubnet] - - List`1[PSSubnet] - - - - - - Tag - - A dictionary of tags to be associated with this Virtual Network. - - Hashtable[] - - Hashtable[] - - - - - - Force - - Force the creation of this Virtual Network possibly overwriting an existing Virtual Network. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - New-AzureResourceGroup ` - -Name 'SampleRG' ` - -Location "West US" +-- Public IP addresses + -- Private IP addresses using internal load balancing (ILB). -$backendSubnet = New-AzureVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24 + An application gateway can have at most one public IP address and one private IP address. The public IP address and private IP address should be added separately as front-end IP addresses. + + + + New-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address which this cmdlet associates with the front-end IP address of the application gateway. This can be specified only if a subnet is specified. This IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddress + + Specifies the public IP address object which this cmdlet associates with the front-end IP address of the application gateway. + + PSPublicIpAddress + + + Subnet + + Specifies the subnet object which this cmdlet associates with the front-end IP address of the application gateway. If you specify this parameter, it implies that the gateway uses a private IP address. If PrivateIPAddresss is specified, it should belong to the subnet specified by this parameter. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + PSSubnet + + + Name + + Specifies the name of the front-end IP configuration that this cmdlet creates. + + String + + + + New-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address which this cmdlet associates with the front-end IP address of the application gateway. This can be specified only if a subnet is specified. This IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddressId + + Specifies the public IP address ID which this cmdlet associates with the front-end IP of the application gateway. + + String + + + SubnetId + + Specifies the subnet ID which this cmdlet associates with the front-end IP configuration of the application gateway. If you specify Subnet, it implies that the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to the subnet specified by Subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + String + + + Name + + Specifies the name of the front-end IP configuration that this cmdlet creates. + + String + + + + + + Name + + Specifies the name of the front-end IP configuration that this cmdlet creates. + + String + + String + + + none + + + PrivateIPAddress + + Specifies the private IP address which this cmdlet associates with the front-end IP address of the application gateway. This can be specified only if a subnet is specified. This IP is statically allocated from the subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIPAddress + + Specifies the public IP address object which this cmdlet associates with the front-end IP address of the application gateway. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIPAddressId + + Specifies the public IP address ID which this cmdlet associates with the front-end IP of the application gateway. + + String + + String + + + none + + + Subnet + + Specifies the subnet object which this cmdlet associates with the front-end IP address of the application gateway. If you specify this parameter, it implies that the gateway uses a private IP address. If PrivateIPAddresss is specified, it should belong to the subnet specified by this parameter. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the subnet ID which this cmdlet associates with the front-end IP configuration of the application gateway. If you specify Subnet, it implies that the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to the subnet specified by Subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSPublicIpAddress + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration + + + + + + + + + + + + + + + Example 1: Create a front-end IP configuration using a public IP resource object + + + + + PS C:\> $ PublicIP = New-AzurePublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIP01" -location "West US" -AllocationMethod Dynamic +PS C:\> $FrontEnd = New-AzureApplicationGatewayFrontendIPConfig -Name "FrontEndIP01" –PublicIPAddress $PublicIP + + + The first command creates a public IP resource object and stores it in the $PublicIP variable. + The second command uses $PublicIP to create a new front-end IP configuration named FrontEndIP01 and stores it in the $FrontEnd variable. + + + + + + + + + + + Example 2: Create a static private IP as the front-end IP address + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $FrontEnd = New-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway -Name "FrontendIP02" -Subnet $Subnet -PrivateIPAddress 10.0.1.1 + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command creates a front-end IP configuration named FrontEndIP02 using $Subnet from the second command and the private IP address 10.0.1.1, and then stores it in the $FrontEnd variable. + + + + + + + + + + + Example 3: Create a dynamic private IP as the front-end IP address + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $FrontEnd = New-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway -Name "FrontendIP03" -Subnet $Subnet + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command creates a front-end IP configuration named FrontEndIP03 using $Subnet from the second command, and stores it in the $FrontEnd variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendIPConfig + + + + Get-AzureApplicationGatewayFrontendIPConfig + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + + + Set-AzureApplicationGatewayFrontendIPConfig + + + + + + + New-AzureApplicationGatewayFrontendPort + + Creates a front-end port for an application gateway. + + + + + New + AzureApplicationGatewayFrontendPort + + + + The New-AzureApplicationGatewayFrontendPort cmdlet creates a front-end port for an Azure application gateway. + + + + New-AzureApplicationGatewayFrontendPort + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the front-end port that this cmdlet creates. + + String + + + Port + + Specifies the port number of the front-end port. + + Int32 + + + + + + Name + + Specifies the name of the front-end port that this cmdlet creates. + + String + + String + + + none + + + Port + + Specifies the port number of the front-end port. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort + + + + + + + + + + + + + + + Example1: Create a front-end port + + + + + PS C:\> $FrontEndPort = New-AzureApplicationGatewayFrontendPort -Name “FrontEndPort01” –Port 80 + + + This command creates a front-end port on port 80 named FrontEndPort01. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendPort + + + + Get-AzureApplicationGatewayFrontendPort + + + + Remove-AzureApplicationGatewayFrontendPort + + + + Set-AzureApplicationGatewayFrontendPort + + + + + + + New-AzureApplicationGatewayHttpListener + + Creates an HTTP listener for an application gateway. + + + + + New + AzureApplicationGatewayHttpListener + + + + The New-AzureApplicationGatewayHttpListener cmdlet creates an HTTP listener for an Azure application gateway. + + + + New-AzureApplicationGatewayHttpListener + + FrontendIPConfiguration + + Specifies front-end IP configuration object for the HTTP listener. + + PSApplicationGatewayFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port for the HTTP listener. + + PSApplicationGatewayFrontendPort + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificate + + Specifies the SSL certificate object for the HTTP listener. + + PSApplicationGatewaySslCertificate + + + Name + + Specifies the name of the HTTP listener that this cmdlet creates. + + String + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + + Http + Https + + + + + New-AzureApplicationGatewayHttpListener + + FrontendIPConfigurationId + + Specifies the ID of the front-end IP configuration for the HTTP listener. + + String + + + FrontendPortId + + Specifies the ID of the front-end port object for the HTTP listener. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificateId + + Specifies the ID of the SSL certificate for the HTTP listener. + + String + + + Name + + Specifies the name of the HTTP listener that this cmdlet creates. + + String + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + + Http + Https + + + + + + + FrontendIPConfiguration + + Specifies front-end IP configuration object for the HTTP listener. + + PSApplicationGatewayFrontendIPConfiguration + + PSApplicationGatewayFrontendIPConfiguration + + + none + + + FrontendIPConfigurationId + + Specifies the ID of the front-end IP configuration for the HTTP listener. + + String + + String + + + none + + + FrontendPort + + Specifies the front-end port for the HTTP listener. + + PSApplicationGatewayFrontendPort + + PSApplicationGatewayFrontendPort + + + none + + + FrontendPortId + + Specifies the ID of the front-end port object for the HTTP listener. + + String + + String + + + none + + + Name + + Specifies the name of the HTTP listener that this cmdlet creates. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + String + + String + + + none + + + SslCertificate + + Specifies the SSL certificate object for the HTTP listener. + + PSApplicationGatewaySslCertificate + + PSApplicationGatewaySslCertificate + + + none + + + SslCertificateId + + Specifies the ID of the SSL certificate for the HTTP listener. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSHttpListener + + + + + + + + + + + + + + + Example 1: Create an HTTP listener + + + + + PS C:\>$Listener = New-AzureApplicationGatewayHttpListener -Name "Listener01" -Protocol "Http" -FrontendIpConfiguration $FIp01 -FrontendPort $FP01 + + + This command creates an HTTP listener. + + + + + + + + + + + Example 2: Create an HTTP listener with SSL + + + + + PS C:\>$Listener = New-AzureApplicationGatewayHttpListener -Name "Listener01" -Protocol "Https" -FrontendIpConfiguration $FIp01 -FrontendPort $FP01 – SslCertificate $SSLCert01 + + + This command creates an HTTP listener that uses SSL offload and provides the SSL certificate in the $SSLCert01 variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayHttpListener + + + + Get-AzureApplicationGatewayHttpListener + + + + Remove-AzureApplicationGatewayHttpListener + + + + Set-AzureApplicationGatewayHttpListener + + + + + + + New-AzureApplicationGatewayIPConfiguration + + Creates an IP configuration for an application gateway. + + + + + New + AzureApplicationGatewayIPConfiguration + + + + The New-AzureApplicationGatewayIPConfiguration cmdlet creates an IP configuration for an application gateway. The IP configuration contains the subnet in which application gateway is deployed. + + + + New-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SubnetId + + Specifies the subnet ID. This is the subnet in which the application gateway would be deployed. + + String + + + Name + + Specifies the name of the IP configuration to create. + + String + + + + New-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Subnet + + Specifies the subnet object. This is the subnet in which the application gateway is deployed. + + PSSubnet + + + Name + + Specifies the name of the IP configuration to create. + + String + + + + + + Name + + Specifies the name of the IP configuration to create. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Subnet + + Specifies the subnet object. This is the subnet in which the application gateway is deployed. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the subnet ID. This is the subnet in which the application gateway would be deployed. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayIPConfiguration + + + + + + + + + + + + + + + Example 1: Create an IP configuration for an application gateway. + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\ $GatewayIpConfig = New-AzureApplicationGatewayIPConfiguration -Name "AppGwSubnet01" -Subnet $Subnet + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01. + The second command gets the subnet configuration for the subnet that the virtual network in the previous command belongs to, and stores it in the $Subnet variable. + The third command creates the IP configuration using $Subnet. + + + + + + + + + + + + + Add-AzureApplicationGatewayIPConfiguration + + + + Get-AzureApplicationGatewayIPConfiguration + + + + Remove-AzureApplicationGatewayIPConfiguration + + + + Set-AzureApplicationGatewayIPConfiguration + + + + + + + New-AzureApplicationGatewayRequestRoutingRule + + Creates a request routing rule for an application gateway. + + + + + New + AzureApplicationGatewayRequestRoutingRule + + + + The Add-AzureApplicationGatewayRequestRoutingRule cmdlet creates a request routing rule for an Azure application gateway. + + + + New-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPool + + Specifies the back-end address pool (as an object) for the request routing rule to create. + + PSApplicationGatewayBackendAddressPool + + + BackendHttpSettings + + Specifies the back-end HTTP settings (as object) for the request routing rule to create. + + PSApplicationGatewayBackendHttpSettings + + + HttpListener + + Specifies the back-end HTTP listener (as an object) for the request routing rule to create. + + PSApplicationGatewayHttpListener + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the request routing rule to create. + + String + + + RuleType + + Specifies type of the request routing rule. + + String + + + + New-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPoolId + + Specifies the back-end address pool (as an ID) of the request routing rule to create. + + String + + + BackendHttpSettingsId + + Specifies the back-end HTTP settings (as an ID) of the request routing rule to create. + + String + + + HttpListenerId + + Specifies the backend HTTP listener (as an ID) for the request routing rule to create. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the request routing rule to create. + + String + + + RuleType + + Specifies type of the request routing rule. + + String + + + + + + BackendAddressPool + + Specifies the back-end address pool (as an object) for the request routing rule to create. + + PSApplicationGatewayBackendAddressPool + + PSApplicationGatewayBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies the back-end address pool (as an ID) of the request routing rule to create. + + String + + String + + + none + + + BackendHttpSettings + + Specifies the back-end HTTP settings (as object) for the request routing rule to create. + + PSApplicationGatewayBackendHttpSettings + + PSApplicationGatewayBackendHttpSettings + + + none + + + BackendHttpSettingsId + + Specifies the back-end HTTP settings (as an ID) of the request routing rule to create. + + String + + String + + + none + + + HttpListener + + Specifies the back-end HTTP listener (as an object) for the request routing rule to create. + + PSApplicationGatewayHttpListener + + PSApplicationGatewayHttpListener + + + none + + + HttpListenerId + + Specifies the backend HTTP listener (as an ID) for the request routing rule to create. + + String + + String + + + none + + + Name + + Specifies the name of the request routing rule to create. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RuleType + + Specifies type of the request routing rule. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRequestRoutingRule + + + + + + + + + + + + + + + Example 1: Create a request routing rule for an application gateway + + + + + PS C:\>$Rule = New-AzureApplicationGatewayRequestRoutingRule -Name "Rule01" -RuleType Basic -BackendHttpSettings $Setting -HttpListener $Listener -BackendAddressPool $Pool + + + This command creates a request routing rule. + + + + + + + + + + + + + Add-AzureApplicationGatewayRequestRoutingRule + + + + Get-AzureApplicationGatewayRequestRoutingRule + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + + + Set-AzureApplicationGatewayRequestRoutingRule + + + + + + + New-AzureApplicationGatewaySku + + Creates a SKU for an application gateway. + + + + + New + AzureApplicationGatewaySku + + + + The New-AzureApplicationGatewaySku cmdlet creates a stock keeping unit (SKU) for an Azure application gateway. + + + + New-AzureApplicationGatewaySku + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Capacity + + Specifies the number of instances of an application gateway. + + Int32 + + + Name + + Specifies the name of the SKU. + + + Standard_Small + Standard_Medium + Standard_Large + + + + Tier + + Specifies the tier of SKU. + + String + + + + + + Capacity + + Specifies the number of instances of an application gateway. + + Int32 + + Int32 + + + none + + + Name + + Specifies the name of the SKU. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Tier + + Specifies the tier of SKU. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySku + + + + + + + + + + + + + + + Example 1: Create a SKU for an azure_2 application gateway + + + + + PS C:\>$SKU = New-AzureApplicationGatewaySku -Name "Standard_Small" -Tier "Standard" -Capacity 2 + + + This command creates a SKU named Standard_Small for an Azure application gateway. + + + + + + + + + + + + + Get-AzureApplicationGatewaySku + + + + Set-AzureApplicationGatewaySku + + + + + + + New-AzureApplicationGatewaySslCertificate + + Creates an SSL certificate for an Azure application gateway. + + + + + New + AzureApplicationGatewaySslCertificate + + + + The New-AzureApplicationGatewaySslCertificate cmdlet creates an SSL certificate for an Azure application gateway. + + + + New-AzureApplicationGatewaySslCertificate + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + CertificateFile + + Specifies the path of the .pfx file of the SSL certificate that this cmdlet creates. + + System.String + + + Name + + Specifies the name of the SSL certificate that this cmdlet creates. + + String + + + Password + + Specifies the password of the SSL that this cmdlet creates. + + String + + + + + + CertificateFile + + Specifies the path of the .pfx file of the SSL certificate that this cmdlet creates. + + System.String + + System.String + + + none + + + Name + + Specifies the name of the SSL certificate that this cmdlet creates. + + String + + String + + + none + + + Password + + Specifies the password of the SSL that this cmdlet creates. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate + + + + + + + + + + + + + + + Example 1: Create an SSL certificate for an azure_2 application gateway. + + + + + PS C:\>$Cert = New-AzureApplicationGatewaySslCertificate -Name "Cert01" –CertificateFile "D:\cert01.pfx" –Password "Password01" + + + This command creates a SSL certificate named Cert01 for the default application gateway. + + + + + + + + + + + + + Add-AzureApplicationGatewaySslCertificate + + + + Get-AzureApplicationGatewaySslCertificate + + + + Remove-AzureApplicationGatewaySslCertificate + + + + Set-AzureApplicationGatewaySslCertificate + + + + + + + New-AzureApplicationGateway + + Creates an application gateway. + + + + + New + AzureApplicationGateway + + + + The New-AzureApplicationGateway cmdlet creates an Azure application gateway. + An application gateway requires the following: -$vnet = New-AzurevirtualNetwork ` - -Name SampleVNet ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -AddressPrefix 10.0.0.0/16 ` - -Subnet $frontendSubnet,$backendSubnet - - - - - - - - - - - - - - - - - - - - - - New-AzureVirtualNetworkGateway - - - - - - - New - AzureVirtualNetworkGateway - - - - - - - - New-AzureVirtualNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Location - - - - String - - - IpConfigurations - - - - List`1[PSVirtualNetworkGatewayIpConfiguration] - - - GatewayType - - - - String - - - VpnType - - - - String - - - EnableBgp - - - - Boolean - - - Tag - - - - Hashtable[] - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Location - - - - String - - String - - - - - - IpConfigurations - - - - List`1[PSVirtualNetworkGatewayIpConfiguration] - - List`1[PSVirtualNetworkGatewayIpConfiguration] - - - - - - GatewayType - - - - String - - String - - - - - - VpnType - - - - String - - String - - - - - - EnableBgp - - - - Boolean - - Boolean - - - - - - Tag - - - - Hashtable[] - - Hashtable[] - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureVirtualNetworkGatewayConnection - - - - - - - New - AzureVirtualNetworkGatewayConnection - - - - - - - - New-AzureVirtualNetworkGatewayConnection - - Name - - - - String - - - ResourceGroupName - - - - String - - - Location - - - - String - - - VirtualNetworkGateway1 - - - - PSVirtualNetworkGateway - - - VirtualNetworkGateway2 - - - - PSVirtualNetworkGateway - - - LocalNetworkGateway2 - - - - PSLocalNetworkGateway - - - ConnectionType - - - - String - - - RoutingWeight - - - - Int32 - - - SharedKey - - - - String - - - Tag - - - - Hashtable[] - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Location - - - - String - - String - - - - - - VirtualNetworkGateway1 - - - - PSVirtualNetworkGateway - - PSVirtualNetworkGateway - - - - - - VirtualNetworkGateway2 - - - - PSVirtualNetworkGateway - - PSVirtualNetworkGateway - - - - - - LocalNetworkGateway2 - - - - PSLocalNetworkGateway - - PSLocalNetworkGateway - - - - - - ConnectionType - - - - String - - String - - - - - - RoutingWeight - - - - Int32 - - Int32 - - - - - - SharedKey - - - - String - - String - - - - - - Tag - - - - Hashtable[] - - Hashtable[] - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureVirtualNetworkGatewayIpConfig - - - - - - - New - AzureVirtualNetworkGatewayIpConfig - - - - - - - - New-AzureVirtualNetworkGatewayIpConfig - - Name - - - - String - - - PrivateIpAddress - - - - String - - - SubnetId - - - - String - - - PublicIpAddressId - - - - String - - - Profile - - - - AzureProfile - - - - New-AzureVirtualNetworkGatewayIpConfig - - Name - - - - String - - - PrivateIpAddress - - - - String - - - Subnet - - - - PSSubnet - - - PublicIpAddress - - - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - PrivateIpAddress - - - - String - - String - - - - - - SubnetId - - - - String - - String - - - - - - PublicIpAddressId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - PublicIpAddress - - - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureVirtualNetworkSubnetConfig - - Create a new Virtual Network Subnet - - - - - New - AzureVirtualNetworkSubnetConfig - - - - Create a new Virtual Network Subnet - - - - New-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - - Profile - - - - AzureProfile - - - - New-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - - NetworkSecurityGroupId - - A reference to a Network Security Group containing ACLs that will apply to this Subnet. - - String - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Subnet. - - String - - String - - - - - - AddressPrefix - - The Ip range covered by this Subnet. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - NetworkSecurityGroupId - - A reference to a Network Security Group containing ACLs that will apply to this Subnet. - - String - - String - - - - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - String - - - - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this Subnet. - - list`1[string] - - list`1[string] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - New-AzureResourceGroup ` - -Name 'SampleRG' ` - -Location "West US" +-- A resource group. +-- A virtual network. +-- A back-end server pool, containing the IP addresses of the back-end servers. +-- Back-end server pool settings. Each pool has settings such as port, protocol and cookie-based affinity, that are applied to all servers within the pool. +-- Front-end IP addresses, which are the IP addresses opened on the application gateway. A front-end IP address can be a public IP address or an internal IP address. +-- Front-end ports, which are the public ports opened on the application gateway. Traffic that hits these ports is redirected to the back-end servers. +-- A request routing rule that binds the listener and the back-end server pool. The rule defines which back-end server pool the traffic should be directed to when it hits a particular listener. A listener has a front-end port, front-end IP address, protocol (http or https) and Secure Sockets Layer (SSL) certificate name (if configuring SSL offload). + + + + New-AzureApplicationGateway + + Force + + Forces the creation of the application gateway even if an application gateway with the same name already exists. + + + + FrontendIPConfigurations + + Specifies a list of front-end IP configurations for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificates + + Specifies the list of Secure Sockets Layer (SSL) certificates for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Tag + + Specifies the dictionary of tags associated with the application gateway. + + Hashtable[] + + + BackendAddressPools + + Specifies the list of back-end address pools for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + BackendHttpSettingsCollection + + Specifies the list of back-end HTTP settings for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + FrontendPorts + + Specifies a list of front-end ports for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + GatewayIPConfigurations + + Specifies a list of IP configurations for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + HttpListeners + + Specifies a list of HTTP listeners for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Location + + Specifies the region in which to create the application gateway. + + String + + + Name + + Specifies the name of application gateway. + + String + + + RequestRoutingRules + + Specifies a list of request routing rules for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + ResourceGroupName + + Specifies the name of the resource group in which to create the application gateway. + + String + + + Sku + + Specifies the stock keeping unit (SKU) of the application gateway. + + PSApplicationGatewaySku + + + + + + BackendAddressPools + + Specifies the list of back-end address pools for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + BackendHttpSettingsCollection + + Specifies the list of back-end HTTP settings for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Force + + Forces the creation of the application gateway even if an application gateway with the same name already exists. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIPConfigurations + + Specifies a list of front-end IP configurations for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + FrontendPorts + + Specifies a list of front-end ports for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + GatewayIPConfigurations + + Specifies a list of IP configurations for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + HttpListeners + + Specifies a list of HTTP listeners for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Location + + Specifies the region in which to create the application gateway. + + String + + String + + + none + + + Name + + Specifies the name of application gateway. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RequestRoutingRules + + Specifies a list of request routing rules for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + ResourceGroupName + + Specifies the name of the resource group in which to create the application gateway. + + String + + String + + + none + + + Sku + + Specifies the stock keeping unit (SKU) of the application gateway. + + PSApplicationGatewaySku + + PSApplicationGatewaySku + + + none + + + SslCertificates + + Specifies the list of Secure Sockets Layer (SSL) certificates for the application gateway. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Tag + + Specifies the dictionary of tags associated with the application gateway. + + Hashtable[] + + Hashtable[] + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Create an application gateway + + + + + This command creates a resource group for the application gateway. +PS C:\> $ResourceGroup = New-AzureResourceGroup -Name "ResourceGroup01" -Location "West US" -Tags @{Name = "Department"; Value = "Marketing"} -$backendSubnet = New-AzureVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24 +These four commands create a virtual network. The first command creates a subnet configuration. The second command creates a virtual network. The third command verifies the subnet configuration and the fourth command verifies that the virtual network is created successfully. +PS C:\> $Subnet = New-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -AddressPrefix 10.0.0.0/24 +PS C:\> $VNet = New-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $Subnet +PS C:\> $VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name $Subnet01 -VirtualNetwork $VNet -$vnet = New-AzurevirtualNetwork ` - -Name SampleVNet ` - -ResourceGroupName SampleRG ` - -Location "West US" ` - -AddressPrefix 10.0.0.0/16 ` - -Subnet $frontendSubnet,$backendSubnet - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGateway - - - - - - - Remove - AzureApplicationGateway - - - - - - - - Remove-AzureApplicationGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Force - - - - SwitchParameter - - - PassThru - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayBackendAddressPool - - - - - - - Remove - AzureApplicationGatewayBackendAddressPool - - - - - - - - Remove-AzureApplicationGatewayBackendAddressPool - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayBackendHttpSettings - - - - - - - Remove - AzureApplicationGatewayBackendHttpSettings - - - - - - - - Remove-AzureApplicationGatewayBackendHttpSettings - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayFrontendIPConfig - - - - - - - Remove - AzureApplicationGatewayFrontendIPConfig - - - - - - - - Remove-AzureApplicationGatewayFrontendIPConfig - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayFrontendPort - - - - - - - Remove - AzureApplicationGatewayFrontendPort - - - - - - - - Remove-AzureApplicationGatewayFrontendPort - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayHttpListener - - - - - - - Remove - AzureApplicationGatewayHttpListener - - - - - - - - Remove-AzureApplicationGatewayHttpListener - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayIPConfiguration - - - - - - - Remove - AzureApplicationGatewayIPConfiguration - - - - - - - - Remove-AzureApplicationGatewayIPConfiguration - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewayRequestRoutingRule - - - - - - - Remove - AzureApplicationGatewayRequestRoutingRule - - - - - - - - Remove-AzureApplicationGatewayRequestRoutingRule - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureApplicationGatewaySslCertificate - - - - - - - Remove - AzureApplicationGatewaySslCertificate - - - - - - - - Remove-AzureApplicationGatewaySslCertificate - - Name - - - - String - - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancer - - Remove an Azure Load Balancer - - - - - Remove - AzureLoadBalancer - - - - Remove an Azure Load Balancer - - - - Remove-AzureLoadBalancer - - Name - - The name of the Load Balancer to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Load Balancer. - - String - - - Force - - Forces the deletion of the Load Balancer regardless of whether resources are assigned to it. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Load Balancer. - - String - - String - - - - - - Force - - Forces the deletion of the Load Balancer regardless of whether resources are assigned to it. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancerBackendAddressPoolConfig - - Remove a Backend Address Pool - - - - - Remove - AzureLoadBalancerBackendAddressPoolConfig - - - - Remove a Backend Address Pool - - - - Remove-AzureLoadBalancerBackendAddressPoolConfig - - Name - - The Load Balancer containing the Backend Address Pool. - - String - - - LoadBalancer - - The name of the Backend Address Pool to remove. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The Load Balancer containing the Backend Address Pool. - - String - - String - - - - - - LoadBalancer - - The name of the Backend Address Pool to remove. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancerFrontendIpConfig - - Remove a Frontend Ip configuration - - - - - Remove - AzureLoadBalancerFrontendIpConfig - - - - Remove a Frontend Ip configuration - - - - Remove-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip configuration to remove. - - String - - - LoadBalancer - - The Load Balancer containing the Frontend Ip configuration. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Frontend Ip configuration to remove. - - String - - String - - - - - - LoadBalancer - - The Load Balancer containing the Frontend Ip configuration. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancerInboundNatRuleConfig - - Remove an Inbound NAT Rule - - - - - Remove - AzureLoadBalancerInboundNatRuleConfig - - - - Remove an Inbound NAT Rule - - - - Remove-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule to remove. - - String - - - LoadBalancer - - The Load Balancer containing the Inbound NAT Rule. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Inbound NAT Rule to remove. - - String - - String - - - - - - LoadBalancer - - The Load Balancer containing the Inbound NAT Rule. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancerProbeConfig - - Remove a Probe configuration - - - - - Remove - AzureLoadBalancerProbeConfig - - - - Remove a Probe configuration - - - - Remove-AzureLoadBalancerProbeConfig - - Name - - The name of the probe configuration to remove. - - String - - - LoadBalancer - - The Load Balancer containing the probe configuration. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the probe configuration to remove. - - String - - String - - - - - - LoadBalancer - - The Load Balancer containing the probe configuration. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLoadBalancerRuleConfig - - Remove a Load Balancer Rule - - - - - Remove - AzureLoadBalancerRuleConfig - - - - Remove a Load Balancer Rule - - - - Remove-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule to remove. - - String - - - LoadBalancer - - The Load Balancer containing the Load Balancer Rule. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer Rule to remove. - - String - - String - - - - - - LoadBalancer - - The Load Balancer containing the Load Balancer Rule. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureLocalNetworkGateway - - - - - - - Remove - AzureLocalNetworkGateway - - - - - - - - Remove-AzureLocalNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Force - - - - SwitchParameter - - - PassThru - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureNetworkInterface - - Remove a Network Interface - - - - - Remove - AzureNetworkInterface - - - - Remove a Network Interface - - - - Remove-AzureNetworkInterface - - Name - - The name of the Network Interface to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Network Interface. - - String - - - Force - - Forces the deletion of the Network Interface without asking for confirmation. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Interface to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Network Interface. - - String - - String - - - - - - Force - - Forces the deletion of the Network Interface without asking for confirmation. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureNetworkSecurityGroup - - Remove a Network Security Group - - - - - Remove - AzureNetworkSecurityGroup - - - - Remove a Network Security Group - - - - Remove-AzureNetworkSecurityGroup - - Name - - The name of the Network Security Group to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Network Security Group. - - String - - - Force - - Forces the deletion of the Network Security Group regardless of whether resources are assigned to it. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Group to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Network Security Group. - - String - - String - - - - - - Force - - Forces the deletion of the Network Security Group regardless of whether resources are assigned to it. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureNetworkSecurityRuleConfig - - Remove a Network Security Rule from a Network Security Group - - - - - Remove - AzureNetworkSecurityRuleConfig - - - - Remove a Network Security Rule from a Network Security Group - - - - Remove-AzureNetworkSecurityRuleConfig - - Name - - The name of the Network Security Rule to remove. - - String - - - NetworkSecurityGroup - - The name of the Network Security Group containing the Network Security Rule to be removed. - - PSNetworkSecurityGroup - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Rule to remove. - - String - - String - - - - - - NetworkSecurityGroup - - The name of the Network Security Group containing the Network Security Rule to be removed. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzurePublicIpAddress - - Remove a Public Ip Address - - - - - Remove - AzurePublicIpAddress - - - - Remove a Public Ip Address - - - - Remove-AzurePublicIpAddress - - Name - - The name of the Public Ip Address to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Public Ip Address. - - String - - - Force - - Forces the deletion of the Public Ip Address without asking for confirmation. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Public Ip Address to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Public Ip Address. - - String - - String - - - - - - Force - - Forces the deletion of the Public Ip Address without asking for confirmation. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureRouteConfig - - Remove a Route - - - - - Remove - AzureRouteConfig - - - - Remove a Route - - - - Remove-AzureRouteConfig - - Name - - Name of the Route - - String - - - RouteTable - - The Route Table containing the Route - - PSRouteTable - - - Profile - - - - AzureProfile - - - - - - Name - - Name of the Route - - String - - String - - - - - - RouteTable - - The Route Table containing the Route - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureRouteTable - - Remove an Azure Route Table - - - - - Remove - AzureRouteTable - - - - Remove an Azure Route Table - - - - Remove-AzureRouteTable - - Name - - The name of the Route Table to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Route Table. - - String - - - Force - - Forces the deletion of the Route Table without asking for confirmation. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Route Table to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Route Table. - - String - - String - - - - - - Force - - Forces the deletion of the Route Table without asking for confirmation. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureVirtualNetwork - - Remove a Virtual Network - - - - - Remove - AzureVirtualNetwork - - - - Remove a Virtual Network - - - - Remove-AzureVirtualNetwork - - Name - - The name of the Virtual Network to remove. - - String - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network. - - String - - - Force - - Forces the deletion of the Virtual Network without confirmation. - - SwitchParameter - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Virtual Network to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Resource Group containing the Virtual Network. - - String - - String - - - - - - Force - - Forces the deletion of the Virtual Network without confirmation. - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - Indicate if an object should be returned. Returns true if remove is successful. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureVirtualNetworkGateway - - - - - - - Remove - AzureVirtualNetworkGateway - - - - - - - - Remove-AzureVirtualNetworkGateway - - Name - - - - String - - - ResourceGroupName - - - - String - - - Force - - - - SwitchParameter - - - PassThru - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureVirtualNetworkGatewayConnection - - - - - - - Remove - AzureVirtualNetworkGatewayConnection - - - - - - - - Remove-AzureVirtualNetworkGatewayConnection - - Name - - - - String - - - ResourceGroupName - - - - String - - - Force - - - - SwitchParameter - - - PassThru - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - PassThru - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-AzureVirtualNetworkSubnetConfig - - Remove a Subnet from a Virtual Network - - - - - Remove - AzureVirtualNetworkSubnetConfig - - - - Remove a Subnet from a Virtual Network - - - - Remove-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet to remove. - - String - - - VirtualNetwork - - The name of the Virtual Network containing the Subnet to be removed. - - PSVirtualNetwork - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Subnet to remove. - - String - - String - - - - - - VirtualNetwork - - The name of the Virtual Network containing the Subnet to be removed. - - PSVirtualNetwork - - PSVirtualNetwork - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reset-AzureVirtualNetworkGateway - - - - - - - Reset - AzureVirtualNetworkGateway - - - - - - - - Reset-AzureVirtualNetworkGateway - - VirtualNetworkGateway - - - - PSVirtualNetworkGateway - - - Profile - - - - AzureProfile - - - - - - VirtualNetworkGateway - - - - PSVirtualNetworkGateway - - PSVirtualNetworkGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reset-AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - Reset - AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - - Reset-AzureVirtualNetworkGatewayConnectionSharedKey - - Name - - - - String - - - ResourceGroupName - - - - String - - - KeyLength - - - - UInt32 - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - KeyLength - - - - UInt32 - - UInt32 - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGateway - - - - - - - Set - AzureApplicationGateway - - - - - - - - Set-AzureApplicationGateway - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayBackendAddressPool - - - - - - - Set - AzureApplicationGatewayBackendAddressPool - - - - - - - - Set-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendIPConfigurationIds - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendIPAddresses - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayBackendAddressPool - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - BackendFqdns - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - BackendIPConfigurationIds - - - - List`1[String] - - List`1[String] - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendIPAddresses - - - - List`1[String] - - List`1[String] - - - - - - BackendFqdns - - - - List`1[String] - - List`1[String] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayBackendHttpSettings - - - - - - - Set - AzureApplicationGatewayBackendHttpSettings - - - - - - - - Set-AzureApplicationGatewayBackendHttpSettings - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Port - - - - Int32 - - - Protocol - - - - String - - - CookieBasedAffinity - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Protocol - - - - String - - String - - - - - - CookieBasedAffinity - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayFrontendIPConfig - - - - - - - Set - AzureApplicationGatewayFrontendIPConfig - - - - - - - - Set-AzureApplicationGatewayFrontendIPConfig - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - PrivateIPAddress - - - - String - - - Subnet - - - - PSSubnet - - - PublicIPAddress - - - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayFrontendIPConfig - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - PrivateIPAddress - - - - String - - - SubnetId - - - - String - - - PublicIPAddressId - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - PrivateIPAddress - - - - String - - String - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - PublicIPAddress - - - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - SubnetId - - - - String - - String - - - - - - PublicIPAddressId - - - - String - - String - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayFrontendPort - - - - - - - Set - AzureApplicationGatewayFrontendPort - - - - - - - - Set-AzureApplicationGatewayFrontendPort - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Port - - - - Int32 - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - Port - - - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayHttpListener - - - - - - - Set - AzureApplicationGatewayHttpListener - - - - - - - - Set-AzureApplicationGatewayHttpListener - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - FrontendIPConfigurationId - - - - String - - - FrontendPortId - - - - String - - - SslCertificateId - - - - String - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayHttpListener - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - - Protocol - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - FrontendIPConfigurationId - - - - String - - String - - - - - - FrontendPortId - - - - String - - String - - - - - - SslCertificateId - - - - String - - String - - - - - - Protocol - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIPConfiguration - - - - PSApplicationGatewayFrontendIPConfiguration - - PSApplicationGatewayFrontendIPConfiguration - - - - - - FrontendPort - - - - PSApplicationGatewayFrontendPort - - PSApplicationGatewayFrontendPort - - - - - - SslCertificate - - - - PSApplicationGatewaySslCertificate - - PSApplicationGatewaySslCertificate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayIPConfiguration - - - - - - - Set - AzureApplicationGatewayIPConfiguration - - - - - - - - Set-AzureApplicationGatewayIPConfiguration - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - SubnetId - - - - String - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayIPConfiguration - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Subnet - - - - PSSubnet - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - SubnetId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - - - PSSubnet - - PSSubnet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewayRequestRoutingRule - - - - - - - Set - AzureApplicationGatewayRequestRoutingRule - - - - - - - - Set-AzureApplicationGatewayRequestRoutingRule - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettingsId - - - - String - - - HttpListenerId - - - - String - - - BackendAddressPoolId - - - - String - - - Profile - - - - AzureProfile - - - - Set-AzureApplicationGatewayRequestRoutingRule - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - RuleType - - - - String - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - - HttpListener - - - - PSApplicationGatewayHttpListener - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - RuleType - - - - String - - String - - - - - - BackendHttpSettingsId - - - - String - - String - - - - - - HttpListenerId - - - - String - - String - - - - - - BackendAddressPoolId - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - BackendHttpSettings - - - - PSApplicationGatewayBackendHttpSettings - - PSApplicationGatewayBackendHttpSettings - - - - - - HttpListener - - - - PSApplicationGatewayHttpListener - - PSApplicationGatewayHttpListener - - - - - - BackendAddressPool - - - - PSApplicationGatewayBackendAddressPool - - PSApplicationGatewayBackendAddressPool - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewaySku - - - - - - - Set - AzureApplicationGatewaySku - - - - - - - - Set-AzureApplicationGatewaySku - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - Tier - - - - String - - - Capacity - - - - Int32 - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - Tier - - - - String - - String - - - - - - Capacity - - - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureApplicationGatewaySslCertificate - - - - - - - Set - AzureApplicationGatewaySslCertificate - - - - - - - - Set-AzureApplicationGatewaySslCertificate - - ApplicationGateway - - - - PSApplicationGateway - - - Name - - - - String - - - CertificateFile - - - - String - - - Password - - - - String - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Name - - - - String - - String - - - - - - CertificateFile - - - - String - - String - - - - - - Password - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLoadBalancer - - Sets the goal state for an Azure Load Balancer - - - - - Set - AzureLoadBalancer - - - - Sets the goal state for an Azure Load Balancer - - - - Set-AzureLoadBalancer - - LoadBalancer - - A Load Balancer object representing the goal state to which the Load Balancer should be set. - - PSLoadBalancer - - - Profile - - - - AzureProfile - - - - - - LoadBalancer - - A Load Balancer object representing the goal state to which the Load Balancer should be set. - - PSLoadBalancer - - PSLoadBalancer - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLoadBalancerFrontendIpConfig - - Sets the goal state for a Frontend Ip configuration - - - - - Set - AzureLoadBalancerFrontendIpConfig - - - - Sets the goal state for a Frontend Ip configuration - - - - Set-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - LoadBalancer - - The Load Balancer object with which this Frontend Ip config will be associated. - - PSLoadBalancer - - - PrivateIpAddress - - The private Ip address of the Load Balancer. - This can be specified only if a subnet is specified - - String - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - - Profile - - - - AzureProfile - - - - Set-AzureLoadBalancerFrontendIpConfig - - Name - - The name of the Frontend Ip. - - String - - - LoadBalancer - - The Load Balancer object with which this Frontend Ip config will be associated. - - PSLoadBalancer - - - PrivateIpAddress - - The private Ip address of the Load Balancer. - This can be specified only if a subnet is specified - - String - - - Subnet - - The Subnet object within which this Frontend Ip will be created. - - PSSubnet - - - PublicIpAddress - - The Public Ip Address object to associate with this Frontend Ip. - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Frontend Ip. - - String - - String - - - - - - LoadBalancer - - The Load Balancer object with which this Frontend Ip config will be associated. - - PSLoadBalancer - - PSLoadBalancer - - - - - - PrivateIpAddress - - The private Ip address of the Load Balancer. - This can be specified only if a subnet is specified - - String - - String - - - - - - SubnetId - - The Id of the Subnet in which this Frontend Ip will be created. - - String - - String - - - - - - PublicIpAddressId - - The Id of the Public Ip Address to associate with this Frontend Ip. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - Subnet - - The Subnet object within which this Frontend Ip will be created. - - PSSubnet - - PSSubnet - - - - - - PublicIpAddress - - The Public Ip Address object to associate with this Frontend Ip. - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLoadBalancerInboundNatRuleConfig - - Add a new Inbound NAT Rule to an Azure Load Balancer - - - - - Set - AzureLoadBalancerInboundNatRuleConfig - - - - Add a new Inbound NAT Rule to an Azure Load Balancer - - - - Set-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - - FrontendIpConfigurationId - - A list of Frontend Ip Ids to associate with this Inbound NAT Rule. - - String - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which conversation state is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Inbound NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - Set-AzureLoadBalancerInboundNatRuleConfig - - Name - - The name of the Inbound NAT Rule. - - String - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which conversation state is maintained within the Load Balancer. - - Int32 - - - EnableFloatingIP - - Enables Direct Server Return for this Inbound NAT Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Inbound NAT Rule. - - String - - String - - - - - - LoadBalancer - - The Load Balancer in which this Inbound NAT Rule will be created. - - PSLoadBalancer - - PSLoadBalancer - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Ids to associate with this Inbound NAT Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Inbound NAT Rule. - Options: Tcp or Udp. - - String - - String - - - - - - FrontendPort - - The frontend port matched by this rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which conversation state is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - EnableFloatingIP - - Enables Direct Server Return for this Inbound NAT Rule. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Inbound NAT Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendIpConfigurationId - - The Id of a Backend Ip Configuration to associate with this Inbound NAT Rule. - - string - - string - - - - - - BackendIpConfiguration - - The Ip Configuration to associate with the Backend Ip for this Inbound NAT Rule. - - psnetworkinterfaceipconfiguration - - psnetworkinterfaceipconfiguration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLoadBalancerProbeConfig - - Sets the goal state for a Probe configuration - - - - - Set - AzureLoadBalancerProbeConfig - - - - Sets the goal state for a Probe configuration - - - - Set-AzureLoadBalancerProbeConfig - - Name - - The name of the Probe configuration. - - String - - - LoadBalancer - - The Load Balancer with which this Probe configuration will be associated. - - PSLoadBalancer - - - RequestPath - - The path to probe within the load balanced service to determine health. - - String - - - Protocol - - The protocol to use for probing the health of the load balanced service. - Options: Tcp or Http. - - String - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Probe configuration. - - String - - String - - - - - - LoadBalancer - - The Load Balancer with which this Probe configuration will be associated. - - PSLoadBalancer - - PSLoadBalancer - - - - - - RequestPath - - The path to probe within the load balanced service to determine health. - - String - - String - - - - - - Protocol - - The protocol to use for probing the health of the load balanced service. - Options: Tcp or Http. - - String - - String - - - - - - Port - - The port on which probes should connect to the load balanced service. - - Int32 - - Int32 - - - - - - IntervalInSeconds - - The interval between probes to each instance of the load balanced service. - - Int32 - - Int32 - - - - - - ProbeCount - - The number of per-instance consecutive failures for an instance to be considered unhealthy. - - Int32 - - Int32 - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLoadBalancerRuleConfig - - Sets the goal state for a Load Balancer Rule configuration - - - - - Set - AzureLoadBalancerRuleConfig - - - - Sets the goal state for a Load Balancer Rule configuration - - - - Set-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule - - String - - - LoadBalancer - - The Load Balancer with which this Load Balancer Rule will be associated. - - PSLoadBalancer - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Load Balancer Rule. - - String - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - - ProbeId - - The Id of the Probe to associate with this Load Balancer Rule. - - String - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - Set-AzureLoadBalancerRuleConfig - - Name - - The name of the Load Balancer Rule - - String - - - LoadBalancer - - The Load Balancer with which this Load Balancer Rule will be associated. - - PSLoadBalancer - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - - Probe - - The probe to associate with this Load Balancer Rule. - - PSProbe - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer Rule. - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Load Balancer Rule - - String - - String - - - - - - LoadBalancer - - The Load Balancer with which this Load Balancer Rule will be associated. - - PSLoadBalancer - - PSLoadBalancer - - - - - - FrontendIpConfigurationId - - A list of Frontend Ip Id's to associate with this Load Balancer Rule. - - String - - String - - - - - - BackendAddressPoolId - - The Id of a Backend Address Pool to associate with this Load Balancer Rule. - - String - - String - - - - - - ProbeId - - The Id of the Probe to associate with this Load Balancer Rule. - - String - - String - - - - - - Protocol - - The protocol matched by this Load Balancer Rule. - Options: Tcp or Udp. - - String - - String - - - - - - FrontendPort - - The frontend port matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - BackendPort - - The backend port for traffic matched by this Load Balancer Rule. - - Int32 - - Int32 - - - - - - IdleTimeoutInMinutes - - The length of time in minutes for which state of conversations is maintained within the Load Balancer. - - Int32 - - Int32 - - - - - - LoadDistribution - - Specifies the load balancing distribution type to be used by the Load Balancer. -Possible values are -Default – The load balancer is configured to use a 5 tuple hash to map traffic to available servers -SourceIP – The load balancer is configured to use a 2 tuple hash to map traffic to available servers -SourceIPProtocol– The load balancer is configured to use a 3 tuple hash to map traffic to available servers - - String - - String - - - - - - EnableFloatingIP - - Enables Direct Server Return for this Load Balancer Rule. - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - FrontendIpConfiguration - - A list of Frontend Ips to associate with this Load Balancer Rule. - - PSFrontendIPConfiguration - - PSFrontendIPConfiguration - - - - - - BackendAddressPool - - The Backend Address Pool to associate with this Load Balancer Rule. - - PSBackendAddressPool - - PSBackendAddressPool - - - - - - Probe - - The probe to associate with this Load Balancer Rule. - - PSProbe - - PSProbe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureLocalNetworkGateway - - - - - - - Set - AzureLocalNetworkGateway - - - - - - - - Set-AzureLocalNetworkGateway - - LocalNetworkGateway - - - - PSLocalNetworkGateway - - - AddressPrefix - - - - List`1[String] - - - Profile - - - - AzureProfile - - - - - - LocalNetworkGateway - - - - PSLocalNetworkGateway - - PSLocalNetworkGateway - - - - - - AddressPrefix - - - - List`1[String] - - List`1[String] - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureNetworkInterface - - Sets the goal state for an Azure Network Interface - - - - - Set - AzureNetworkInterface - - - - Sets the goal state for an Azure Network Interface - - - - Set-AzureNetworkInterface - - NetworkInterface - - A Network Interface object representing the goal state to which the Network Interface should be set. - - PSNetworkInterface - - - Profile - - - - AzureProfile - - - - - - NetworkInterface - - A Network Interface object representing the goal state to which the Network Interface should be set. - - PSNetworkInterface - - PSNetworkInterface - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureNetworkSecurityGroup - - Sets the goal state for an Network Security Group - - - - - Set - AzureNetworkSecurityGroup - - - - Sets the goal state for an Network Security Group - - - - Set-AzureNetworkSecurityGroup - - NetworkSecurityGroup - - A Network Security Group object representing the goal state to which the Network Security Group should be set. - - PSNetworkSecurityGroup - - - Profile - - - - AzureProfile - - - - - - NetworkSecurityGroup - - A Network Security Group object representing the goal state to which the Network Security Group should be set. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureNetworkSecurityRuleConfig - - Sets the goal state for an Network Security Rule - - - - - Set - AzureNetworkSecurityRuleConfig - - - - Sets the goal state for an Network Security Rule - - - - Set-AzureNetworkSecurityRuleConfig - - Name - - The name of the Network Security Rule. - - String - - - NetworkSecurityGroup - - The Network Security Group object containing the Network Security Rule. - - PSNetworkSecurityGroup - - - Description - - A description for this rule. Restricted to 140 characters. - - String - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny”. - - String - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Network Security Rule. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object containing the Network Security Rule. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - Description - - A description for this rule. Restricted to 140 characters. - - String - - String - - - - - - Protocol - - Network protocol this rule applies to. Can be Tcp, Udp or * to match both. - - String - - String - - - - - - SourcePortRange - - Source Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - DestinationPortRange - - Destination Port or Range. Integer or range between 0 and 65535 or * to match any. - - String - - String - - - - - - SourceAddressPrefix - - CIDR or source IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - DestinationAddressPrefix - - CIDR or destination IP range or * to match any IP. Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used. - - String - - String - - - - - - Access - - Specifies whether network traffic is allowed or denied. Possible values are “Allow” and “Deny”. - - String - - String - - - - - - Priority - - Specifies the priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - - Int32 - - Int32 - - - - - - Direction - - The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are “Inbound” and “Outbound”. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzurePublicIpAddress - - Sets the goal state for a Public Ip Address - - - - - Set - AzurePublicIpAddress - - - - Sets the goal state for a Public Ip Address - - - - Set-AzurePublicIpAddress - - PublicIpAddress - - A Public IP Address object representing the goal state to which the Public Ip Address should be set. - - PSPublicIpAddress - - - Profile - - - - AzureProfile - - - - - - PublicIpAddress - - A Public IP Address object representing the goal state to which the Public Ip Address should be set. - - PSPublicIpAddress - - PSPublicIpAddress - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureRouteConfig - - Sets the goal state for a Route - - - - - Set - AzureRouteConfig - - - - Sets the goal state for a Route - - - - Set-AzureRouteConfig - - Name - - Name of the Route - - String - - - RouteTable - - The Route Table object with which this Route will be associated. - - PSRouteTable - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - String - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - Name of the Route - - String - - String - - - - - - RouteTable - - The Route Table object with which this Route will be associated. - - PSRouteTable - - PSRouteTable - - - - - - AddressPrefix - - The destination CIDR to which the route applies, such as 10.1.0.0/16 - - String - - String - - - - - - NextHopType - - The type of Azure hop the packet should be sent to. -Possible values are: -VirtualNetworkGateway: Represents an Azure S2S VPN Gateway. -VnetLocal: Represents the local virtual network. For instance, if you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, the route for each subnet in the route table will have a next hop value of Local. -Internet: Represents the default Internet gateway provided by the Azure Infrastructure -VirtualAppliance: Represents a virtual appliance you added to your Azure virtual network. -None: Represents a black hole. Packets forwarded to a black hole will not be forwarded at all. - - String - - String - - - - - - NextHopIpAddress - - Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureRouteTable - - Sets the goal state for an Azure Route Table - - - - - Set - AzureRouteTable - - - - Sets the goal state for an Azure Route Table - - - - Set-AzureRouteTable - - RouteTable - - A Route Table object representing the goal state to which the Route Table should be set. - - PSRouteTable - - - Profile - - - - AzureProfile - - - - - - RouteTable - - A Route Table object representing the goal state to which the Route Table should be set. - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureVirtualNetwork - - Sets the goal state for an Azure Virtual Network - - - - - Set - AzureVirtualNetwork - - - - Sets the goal state for an Azure Virtual Network - - - - Set-AzureVirtualNetwork - - VirtualNetwork - - A Virtual Network object representing the goal state to which the Virtual Network should be set. - - PSVirtualNetwork - - - Profile - - - - AzureProfile - - - - - - VirtualNetwork - - A Virtual Network object representing the goal state to which the Virtual Network should be set. - - PSVirtualNetwork - - PSVirtualNetwork - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureVirtualNetworkGatewayConnection - - - - - - - Set - AzureVirtualNetworkGatewayConnection - - - - - - - - Set-AzureVirtualNetworkGatewayConnection - - VirtualNetworkGatewayConnection - - - - PSVirtualNetworkGatewayConnection - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - VirtualNetworkGatewayConnection - - - - PSVirtualNetworkGatewayConnection - - PSVirtualNetworkGatewayConnection - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - Set - AzureVirtualNetworkGatewayConnectionSharedKey - - - - - - - - Set-AzureVirtualNetworkGatewayConnectionSharedKey - - Name - - - - String - - - ResourceGroupName - - - - String - - - Value - - - - String - - - Force - - - - SwitchParameter - - - Profile - - - - AzureProfile - - - - - - Name - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Value - - - - String - - String - - - - - - Force - - - - SwitchParameter - - SwitchParameter - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureVirtualNetworkSubnetConfig - - Sets the goal state for a Subnet within an Azure Virtual Network - - - - - Set - AzureVirtualNetworkSubnetConfig - - - - Sets the goal state for a Subnet within an Azure Virtual Network - - - - Set-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - VirtualNetwork - - The Virtual Network containing the Subnet. - - PSVirtualNetwork - - - AddressPrefix - - The IP range covered by this Subnet. - - String - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - - Profile - - - - AzureProfile - - - - Set-AzureVirtualNetworkSubnetConfig - - Name - - The name of the Subnet. - - String - - - VirtualNetwork - - The Virtual Network containing the Subnet. - - PSVirtualNetwork - - - AddressPrefix - - The IP range covered by this Subnet. - - String - - - NetworkSecurityGroupId - - A reference to a Network Security Group containing ACLs that will apply to this Subnet. - - String - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - - Profile - - - - AzureProfile - - - - - - Name - - The name of the Subnet. - - String - - String - - - - - - VirtualNetwork - - The Virtual Network containing the Subnet. - - PSVirtualNetwork - - PSVirtualNetwork - - - - - - AddressPrefix - - The IP range covered by this Subnet. - - String - - String - - - - - - NetworkSecurityGroup - - The Network Security Group object containing ACLs that will apply to this Subnet. - - PSNetworkSecurityGroup - - PSNetworkSecurityGroup - - - - - - RouteTable - - The Route Table object containing Routes that will apply to this Subnet. - - PSRouteTable - - PSRouteTable - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - NetworkSecurityGroupId - - A reference to a Network Security Group containing ACLs that will apply to this Subnet. - - String - - String - - - - - - RouteTableId - - A reference to a Route Table object containing Routes that will apply to this Subnet. - - String - - String - - - - - - DnsServer - - The Dns servers to be used for performing Dns lookups from this Subnet. - - list`1[string] - - list`1[string] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Start-AzureApplicationGateway - - - - - - - Start - AzureApplicationGateway - - - - - - - - Start-AzureApplicationGateway - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stop-AzureApplicationGateway - - - - - - - Stop - AzureApplicationGateway - - - - - - - - Stop-AzureApplicationGateway - - ApplicationGateway - - - - PSApplicationGateway - - - Profile - - - - AzureProfile - - - - - - ApplicationGateway - - - - PSApplicationGateway - - PSApplicationGateway - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test-AzureDnsAvailability - - Checks whether a domain name in the cloudapp.net zone is available for use - - - - - Test - AzureDnsAvailability - - - - Checks whether a domain name in the {region}.cloudapp.azure.com zone is available for use - - - - Test-AzureDnsAvailability - - DomainQualifiedName - - The domain name to be verified. - It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - - String - - - Location - - The Azure Region in which you wish to check for availability. - - String - - - Profile - - - - AzureProfile - - - - - - DomainQualifiedName - - The domain name to be verified. - It must conform to the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. - - String - - String - - - - - - Location - - The Azure Region in which you wish to check for availability. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file +The following commands create the application gateway.The first command creates an IP configuration named GatewayIp01 for the subnet created previously.The second command creates a back-end server pool named Pool01 with a list of back-end IP addresses and stores the pool in the $Pool variable.The third command creates the settings for the back-end server pool and stores the settings in the $PoolSetting variable.The forth command creates a front-end port on port 80, names it FrontEndPort01, and stores the port in the $FrontEndPort variable.The fifth command creates a public IP address by using New-AzurePublicIpAddress. The sixth command creates a front-end IP configuration using $PublicIp, names it FrontEndPortConfig01, and stores it in the $FrontEndIpConfig variable.The seventh command creates a listener using the previously created $FrontEndIpConfig $FrontEndPort.The eighth command creates a rule for the listener.The ninth command sets the SKU.The tenth command creates the gateway using the objects set by the previous commands. +PS C:\> $GatewayIPconfig = New-AzureApplicationGatewayIPConfiguration -Name "GatewayIp01" -Subnet $Subnet +PS C:\> $Pool = New-AzureApplicationGatewayBackendAddressPool -Name "Pool01" -BackendIPAddresses 10.10.10.1, 10.10.10.2, 10.10.10.3 +PS C:\> $PoolSetting = New-AzureApplicationGatewayBackendHttpSettings -Name "PoolSetting01" -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled" +PS C:\> $FrontEndPort = New-AzureApplicationGatewayFrontendPort -Name "FrontEndPort01" -Port 80 +# Create a public IP address +PS C:\> $PublicIp = New-AzurePublicIpAddress -ResourceGroupName "ResourceGroup01" -Name $PublicIpName -Location "West US" -AllocationMethod "Dynamic" +PS C:\> $FrontEndIpConfig = New-AzureApplicationGatewayFrontendIPConfig -Name "FrontEndConfig01" -PublicIPAddress $PublicIp +PS C:\> $Listener = New-AzureApplicationGatewayHttpListener -Name $listenerName -Protocol "Http" -FrontendIpConfiguration $FrontEndIpConfig -FrontendPort $ FrontEndPort +PS C:\> $Rule = New-AzureApplicationGatewayRequestRoutingRule -Name "Rule01" -RuleType basic -BackendHttpSettings $PoolSetting -HttpListener $Listener -BackendAddressPool $Pool +PS C:\> $Sku = New-AzureApplicationGatewaySku -Name "Standard_Small" -Tier Standard -Capacity 2 +PS C:\> $Gateway = New-AzureApplicationGateway -Name "AppGateway01" -ResourceGroupName "ResourceGroup01" -Location "West US" -BackendAddressPools $Pool -BackendHttpSettingsCollection $PoolSetting -FrontendIpConfigurations $FrontEndIpConfig -GatewayIpConfigurations $GatewayIpConfig -FrontendPorts $FrontEndPort -HttpListeners $Listener -RequestRoutingRules $Rule -Sku $Sku + + + The following commands create an application gateway by first creating a resource group and a virtual network, as well as the following: + +-- A back-end server pool +-- Back-end server pool settings +-- Front-end ports +-- Front-end IP addresses +-- A request routing rule + + + + + + + + + + + + + New-AzureApplicationGatewayBackendAddressPool + + + + New-AzureApplicationGatewayBackendHttpSettings + + + + New-AzureApplicationGatewayFrontendIPConfig + + + + New-AzureApplicationGatewayFrontendPort + + + + New-AzureApplicationGatewayHttpListener + + + + New-AzureApplicationGatewayIPConfiguration + + + + New-AzureApplicationGatewayRequestRoutingRule + + + + New-AzureApplicationGatewaySku + + + + New-AzureVirtualNetwork + + + + New-AzureVirtualNetworkSubnetConfig + + + + + + + New-AzureLoadBalancerBackendAddressPoolConfig + + Creates a backend address pool configuration for a load balancer. + + + + + New + AzureLoadBalancerBackendAddressPoolConfig + + + + The New-AzureLoadBalancerBackendAddressPoolConfig cmdlet creates a backend address pool configuration for an Azure load balancer. + + + + New-AzureLoadBalancerBackendAddressPoolConfig + + Profile + + Specifies an Azure profile. + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + + Name + + Specifies the name of the address pool configuration to create. + + System.String + + + + + + Name + + Specifies the name of the address pool configuration to create. + + System.String + + System.String + + + none + + + Profile + + Specifies an Azure profile. + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + Microsoft.Azure.Common.Authentication.Models.AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerBackendAddressPoolConfig + + + + Get-AzureLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureLoadBalancerBackendAddressPoolConfig + + + + + + + New-AzureLoadBalancerFrontendIpConfig + + Creates a front-end IP configuration for a load balancer. + + + + + New + AzureLoadBalancerFrontendIpConfig + + + + The New-AzureLoadBalancerFrontendIpConfig cmdlet creates a front-end IP configuration for an Azure load balancer. + + + + New-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the private IP address of the load balancer. Specify this parameter only if you also specify the Subnet parameter. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object to associate with a front-end IP configuration. + + String + + + SubnetId + + Specifies the ID of the subnet in which to create a front-end IP configuration. + + String + + + Name + + Specifies the front-end IP configuration to create. + + String + + + + New-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the private IP address of the load balancer. Specify this parameter only if you also specify the Subnet parameter. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + PSPublicIpAddress + + + Subnet + + Specifies the Subnet object in which to create a front-end IP configuration. + + PSSubnet + + + Name + + Specifies the front-end IP configuration to create. + + String + + + + + + Name + + Specifies the front-end IP configuration to create. + + String + + String + + + none + + + PrivateIpAddress + + Specifies the private IP address of the load balancer. Specify this parameter only if you also specify the Subnet parameter. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + Specifies the PublicIpAddress object to associate with a front-end IP configuration. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object to associate with a front-end IP configuration. + + String + + String + + + none + + + Subnet + + Specifies the Subnet object in which to create a front-end IP configuration. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the ID of the subnet in which to create a front-end IP configuration. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerFrontendIpConfig + + + + Get-AzureLoadBalancerFrontendIpConfig + + + + Remove-AzureLoadBalancerFrontendIpConfig + + + + Set-AzureLoadBalancerFrontendIpConfig + + + + + + + New-AzureLoadBalancerInboundNatRuleConfig + + Creates an inbound NAT rule configuration for a load balancer. + + + + + New + AzureLoadBalancerInboundNatRuleConfig + + + + The New-AzureLoadBalancerInboundNatRuleConfig cmdlet creates an inbound network address translation (NAT) rule configuration for an Azure load balancer. + + + + New-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies a protocol. + + + Tcp + Udp + + + + Name + + Specifies the name of the rule configuration to create. + + String + + + + New-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies a protocol. + + + Tcp + Udp + + + + Name + + Specifies the name of the rule configuration to create. + + String + + + + + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + System.String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + Int32 + + + none + + + Name + + Specifies the name of the rule configuration to create. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies a protocol. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + + + + + + New-AzureLoadBalancerProbeConfig + + Creates a probe configuration for a load balancer. + + + + + New + AzureLoadBalancerProbeConfig + + + + The New-AzureLoadBalancerProbeConfig cmdlet creates a probe configuration for an Azure load balancer. + + + + New-AzureLoadBalancerProbeConfig + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol to use for the probe configuration. The acceptable values for this parameter are:Tcp or Http. + + + Tcp + Http + + + + RequestPath + + Specifies the path in a load-balanced service to probe to determine health. + + String + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of a load-balanced service. + + Int32 + + + Name + + Specifies the name of the probe configuration to create. + + String + + + Port + + Specifies the port on which the new probe should connect to a load-balanced service. + + Int32 + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + + + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of a load-balanced service. + + Int32 + + Int32 + + + none + + + Name + + Specifies the name of the probe configuration to create. + + String + + String + + + none + + + Port + + Specifies the port on which the new probe should connect to a load-balanced service. + + Int32 + + Int32 + + + none + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol to use for the probe configuration. The acceptable values for this parameter are:Tcp or Http. + + String + + String + + + none + + + RequestPath + + Specifies the path in a load-balanced service to probe to determine health. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerProbeConfig + + + + Get-AzureLoadBalancerProbeConfig + + + + Remove-AzureLoadBalancerProbeConfig + + + + Set-AzureLoadBalancerProbeConfig + + + + + + + New-AzureLoadBalancerRuleConfig + + Creates a rule configuration for a load balancer. + + + + + New + AzureLoadBalancerRuleConfig + + + + The New-AzureLoadBalancerRuleConfig cmdlet creates a rule configuration for an Azure load balancer. + + + + New-AzureLoadBalancerRuleConfig + + BackendAddressPool + + Specifies a BackendAddressPool object to associate with a load balancer rule configuration. + + PSBackendAddressPool + + + BackendPort + + Specifies the backend port for traffic that is matched by this load balancer rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by a load balancer rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + Name + + Specifies the name of the load balancing rule to create. + + String + + + + New-AzureLoadBalancerRuleConfig + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + + BackendPort + + Specifies the backend port for traffic that is matched by this load balancer rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + String + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by a load balancer rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + Name + + Specifies the name of the load balancing rule to create. + + String + + + + + + BackendAddressPool + + Specifies a BackendAddressPool object to associate with a load balancer rule configuration. + + PSBackendAddressPool + + PSBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + String + + + none + + + BackendPort + + Specifies the backend port for traffic that is matched by this load balancer rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + String + + String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + Int32 + + + none + + + LoadDistribution + + Specifies a load distribution. + + String + + String + + + none + + + Name + + Specifies the name of the load balancing rule to create. + + String + + String + + + none + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + PSProbe + + + none + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that is matched by a load balancer rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerRuleConfig + + + + Get-AzureLoadBalancerRuleConfig + + + + Remove-AzureLoadBalancerRuleConfig + + + + Set-AzureLoadBalancerRuleConfig + + + + + + + New-AzureLoadBalancer + + Creates a load balancer. + + + + + New + AzureLoadBalancer + + + + The New-AzureLoadBalancer cmdlet creates an Azure load balancer. + + + + New-AzureLoadBalancer + + BackendAddressPool + + Specifies a backend address pool to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Force + + Indicates that this cmdlet creates a load balancer even if a load balancer with the same name already exists. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + InboundNatRule + + Specifies a list of inbound network address translation (NAT) rules to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + LoadBalancingRule + + Specifies a list of load balancing rules to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Probe + + Specifies a list of probes to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Tag + + Specifies an array of tags to associate with a load balancer. + + Hashtable[] + + + Location + + Specifies the region in which to create a load balancer. + + String + + + Name + + Specifies the name of the load balancer to create. + + String + + + ResourceGroupName + + Specifies the name of the resource group in which to create a load balancer. + + String + + + + + + BackendAddressPool + + Specifies a backend address pool to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Force + + Indicates that this cmdlet creates a load balancer even if a load balancer with the same name already exists. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + InboundNatRule + + Specifies a list of inbound network address translation (NAT) rules to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + LoadBalancingRule + + Specifies a list of load balancing rules to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Location + + Specifies the region in which to create a load balancer. + + String + + String + + + none + + + Name + + Specifies the name of the load balancer to create. + + String + + String + + + none + + + Probe + + Specifies a list of probes to associate with a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group in which to create a load balancer. + + String + + String + + + none + + + Tag + + Specifies an array of tags to associate with a load balancer. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureLoadBalancer + + + + Remove-AzureLoadBalancer + + + + Set-AzureLoadBalancer + + + + + + + New-AzureLocalNetworkGateway + + + + + + + + New + AzureLocalNetworkGateway + + + + + + + New-AzureLocalNetworkGateway + + AddressPrefix + + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Force + + + + + GatewayIpAddress + + + String + + + Profile + + + AzureProfile + + + Tag + + + Hashtable[] + + + Location + + + String + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + AddressPrefix + + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + GatewayIpAddress + + + String + + String + + + none + + + Location + + + String + + String + + + none + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + Tag + + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + New-AzureNetworkInterface + + Creates a network interface. + + + + + New + AzureNetworkInterface + + + + The New-AzureNetworkInterface cmdlet creates an Azure network interface. + + + + New-AzureNetworkInterface + + DnsServer + + Specifies the DNS server for the network interface. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + EnableIPForwarding + + + + + + + Force + + Forces the creation of the network interface even if a network interface with the same name already exists. + + + + InternalDnsNameLabel + + + + + System.String + + + IpConfigurationName + + Specifies the name of an IP configuration. + + String + + + LoadBalancerBackendAddressPoolId + + Specifies the ID of a BackendAddressPool object. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + LoadBalancerInboundNatRuleId + + Specifies the ID of an inbound NAT rule configuration for a load balancer. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + + PrivateIpAddress + + Specifies a static IPv4 IP address to assign to this network interface. This parameter is optional. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddressId + + Specifies the ID of a PublicIPAddress object to assign to a network interface. + + String + + + Tag + + Specifies a dictionary of tags to associate with a network interface. + + Hashtable[] + + + Location + + Specifies the region for a network interface. + + String + + + Name + + Specifies the name of the network interface to create. + + String + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet creates a network interface for the resource group that this parameter specifies. + + String + + + SubnetId + + Specifies the ID of the subnet for which to create a network interface. + + String + + + + New-AzureNetworkInterface + + DnsServer + + Specifies the DNS server for the network interface. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + EnableIPForwarding + + + + + + + Force + + Forces the creation of the network interface even if a network interface with the same name already exists. + + + + InternalDnsNameLabel + + + + + System.String + + + IpConfigurationName + + Specifies the name of an IP configuration. + + String + + + LoadBalancerBackendAddressPool + + Specifies a BackendAddressPool object. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + LoadBalancerInboundNatRule + + Specifies an inbound NAT rule configuration for a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + + PrivateIpAddress + + Specifies a static IPv4 IP address to assign to this network interface. This parameter is optional. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddress + + Specifies a PublicIPAddress object to assign to a network interface. + + PSPublicIpAddress + + + Tag + + Specifies a dictionary of tags to associate with a network interface. + + Hashtable[] + + + Location + + Specifies the region for a network interface. + + String + + + Name + + Specifies the name of the network interface to create. + + String + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet creates a network interface for the resource group that this parameter specifies. + + String + + + Subnet + + Specifies a Subnet object. This cmdlet creates a network interface for the subnet that this parameter specifies. + + PSSubnet + + + + + + DnsServer + + Specifies the DNS server for the network interface. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + EnableIPForwarding + + + + + SwitchParameter + + SwitchParameter + + + none + + + Force + + Forces the creation of the network interface even if a network interface with the same name already exists. + + SwitchParameter + + SwitchParameter + + + none + + + InternalDnsNameLabel + + + + + System.String + + System.String + + + none + + + IpConfigurationName + + Specifies the name of an IP configuration. + + String + + String + + + none + + + LoadBalancerBackendAddressPool + + Specifies a BackendAddressPool object. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + LoadBalancerBackendAddressPoolId + + Specifies the ID of a BackendAddressPool object. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + LoadBalancerInboundNatRule + + Specifies an inbound NAT rule configuration for a load balancer. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + LoadBalancerInboundNatRuleId + + Specifies the ID of an inbound NAT rule configuration for a load balancer. + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Location + + Specifies the region for a network interface. + + String + + String + + + none + + + Name + + Specifies the name of the network interface to create. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + String + + + none + + + PrivateIpAddress + + Specifies a static IPv4 IP address to assign to this network interface. This parameter is optional. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + Specifies a PublicIPAddress object to assign to a network interface. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIpAddressId + + Specifies the ID of a PublicIPAddress object to assign to a network interface. + + String + + String + + + none + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet creates a network interface for the resource group that this parameter specifies. + + String + + String + + + none + + + Subnet + + Specifies a Subnet object. This cmdlet creates a network interface for the subnet that this parameter specifies. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the ID of the subnet for which to create a network interface. + + String + + String + + + none + + + Tag + + Specifies a dictionary of tags to associate with a network interface. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkInterface + + + + Remove-AzureNetworkInterface + + + + Set-AzureNetworkInterface + + + + + + + New-AzureNetworkSecurityGroup + + Creates a network security group. + + + + + New + AzureNetworkSecurityGroup + + + + The New-AzureNetworkSecurityGroup cmdlet creates an Azure network security group. + + + + New-AzureNetworkSecurityGroup + + Force + + Forces the command to run without asking for user confirmation. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + SecurityRules + + Specifies a list of network security rule objects to create in a network security group. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Tag + + Specifies a dictionary of tags to associate with a network security group. + + Hashtable[] + + + Location + + Specifies the region for which to create a network security group. + + String + + + Name + + Specifies the name of the network security group to create. + + String + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet creates a network security group in the resource group that this parameter specifies. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Location + + Specifies the region for which to create a network security group. + + String + + String + + + none + + + Name + + Specifies the name of the network security group to create. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet creates a network security group in the resource group that this parameter specifies. + + String + + String + + + none + + + SecurityRules + + Specifies a list of network security rule objects to create in a network security group. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Tag + + Specifies a dictionary of tags to associate with a network security group. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkSecurityGroup + + + + Remove-AzureNetworkSecurityGroup + + + + Set-AzureNetworkSecurityGroup + + + + + + + New-AzureNetworkSecurityRuleConfig + + Creates a network security rule configuration. + + + + + New + AzureNetworkSecurityRuleConfig + + + + The New-AzureNetworkSecurityRuleConfig cmdlet creates an Azure network security rule configuration for a network security group. + + + + New-AzureNetworkSecurityRuleConfig + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + + Allow + Deny + + + + Description + + Specifies a description of the network security rule configuration to create. + + String + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: + +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + + Direction + + Specifies whether a rule is evaluated on incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + + Inbound + Outbound + + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the network protocol that a new rule configuration applies to. The acceptable values for this parameter are: + +-- Tcp +-- Udp +-- wildcard character (*) to match both. + + + Tcp + Udp + * + + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: + +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address. + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + + SourcePortRange + + Specifies the source port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + + Name + + Specifies the name of the network security rule configuration to create. + + String + + + + + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + String + + String + + + none + + + Description + + Specifies a description of the network security rule configuration to create. + + String + + String + + + none + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: + +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + String + + + none + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + String + + + none + + + Direction + + Specifies whether a rule is evaluated on incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + String + + String + + + none + + + Name + + Specifies the name of the network security rule configuration to create. + + String + + String + + + none + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the network protocol that a new rule configuration applies to. The acceptable values for this parameter are: + +-- Tcp +-- Udp +-- wildcard character (*) to match both. + + String + + String + + + none + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: + +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address. + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + String + + + none + + + SourcePortRange + + Specifies the source port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureNetworkSecurityRuleConfig + + + + Get-AzureNetworkSecurityRuleConfig + + + + Remove-AzureNetworkSecurityRuleConfig + + + + Set-AzureNetworkSecurityRuleConfig + + + + + + + New-AzurePublicIpAddress + + Creates a public IP address. + + + + + New + AzurePublicIpAddress + + + + The New-AzurePublicIpAddress cmdlet creates a public IP address. + + + + New-AzurePublicIpAddress + + DomainNameLabel + + Specifies the relative DNS name for a public IP address. + + String + + + Force + + Forces the command to run without asking for user confirmation. + + + + IdleTimeoutInMinutes + + Specifies the idle time-out, in minutes. + + Int32 + + + Location + + Specifies the region in which to create a public IP address. + + String + + + Name + + Specifies the name of the public IP address to create. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + ReverseFqdn + + Specifies a reverse fully qualified domain name (FQDN). + + System.String + + + Tag + + Specifies a dictionary of tags to associate with a public IP address. + + Hashtable[] + + + AllocationMethod + + Specifies the method with which to allocate the public IP address. The acceptable values for this parameter are:Static or Dynamic. + + + Dynamic + Static + + + + ResourceGroupName + + Specifies the name of the resource group in which to create a public IP address. + + String + + + + + + AllocationMethod + + Specifies the method with which to allocate the public IP address. The acceptable values for this parameter are:Static or Dynamic. + + String + + String + + + none + + + DomainNameLabel + + Specifies the relative DNS name for a public IP address. + + String + + String + + + none + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + IdleTimeoutInMinutes + + Specifies the idle time-out, in minutes. + + Int32 + + Int32 + + + none + + + Location + + Specifies the region in which to create a public IP address. + + String + + String + + + none + + + Name + + Specifies the name of the public IP address to create. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group in which to create a public IP address. + + String + + String + + + none + + + ReverseFqdn + + Specifies a reverse fully qualified domain name (FQDN). + + System.String + + System.String + + + none + + + Tag + + Specifies a dictionary of tags to associate with a public IP address. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzurePublicIpAddress + + + + Remove-AzurePublicIpAddress + + + + Set-AzurePublicIpAddress + + + + + + + New-AzureRouteConfig + + Creates a route for a route table. + + + + + New + AzureRouteConfig + + + + The New-AzureRouteConfig cmdlet creates a route for an Azure route table. + + + + New-AzureRouteConfig + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies a name for the route. + + String + + + NextHopType + + Specifies how this route forwards packets. Valid values are: + +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + + Internet + None + VirtualAppliance + VirtualNetworkGateway + VnetLocal + + + + + + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + String + + + none + + + Name + + Specifies a name for the route. + + String + + String + + + none + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + String + + + none + + + NextHopType + + Specifies how this route forwards packets. Valid values are: + +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Create a route + + + + + PS C:\>$Route = New-AzureRouteConfig -Name "route07" -AddressPrefix 10.1.0.0/16 -NextHopType VnetLocal +PS C:\> $Route +Name : route07 +Id : +Etag : +ProvisioningState : +AddressPrefix : 10.1.0.0/16 +NextHopType : VnetLocal +NextHopIpAddress : + + + The first command creates a route named route07, and then stores it in the $Route variable. This route forwards packets to the local virtual network. + The second command displays the properties of the new network. + + + + + + + + + + + + + Add-AzureRouteConfig + + + + Get-AzureRouteConfig + + + + Remove-AzureRouteConfig + + + + Set-AzureRouteConfig + + + + + + + New-AzureRouteTable + + Creates a route table. + + + + + New + AzureRouteTable + + + + The New-AzureRouteTable cmdlet creates an Azure route table. + + + + New-AzureRouteTable + + Force + + Indicates that this cmdlet creates a route table even if a route table that has the same name already exists. + + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Route + + Specifies an array of Route objects to associate with the route table. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 + + + Tag + + Specifies a dictionary of tags to associate with the route table. + + Hashtable[] + + + Location + + Specifies the Azure region in which this cmdlet creates a route table. For more information, see Azure Regions (http://azure.microsoft.com/en-us/regions/). + + String + + + Name + + Specifies a name for the route table. + + String + + + ResourceGroupName + + Specifies the name of the resource group in which this cmdlet creates a route table. + + String + + + + + + Force + + Indicates that this cmdlet creates a route table even if a route table that has the same name already exists. + + SwitchParameter + + SwitchParameter + + + none + + + Location + + Specifies the Azure region in which this cmdlet creates a route table. For more information, see Azure Regions (http://azure.microsoft.com/en-us/regions/). + + String + + String + + + none + + + Name + + Specifies a name for the route table. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group in which this cmdlet creates a route table. + + String + + String + + + none + + + Route + + Specifies an array of Route objects to associate with the route table. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 + + + none + + + Tag + + Specifies a dictionary of tags to associate with the route table. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Create a route table that contains a route + + + + + PS C:\>$Route = New-AzureRouteConfig -Name "route07" -AddressPrefix 10.1.0.0/16 -NextHopType VnetLocal +PS C:\> New-AzureRouteTable -Name "routetable01" -ResourceGroupName "ResourceGroup11" -Location EASTUS -Route $Route +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/myroutetable +Etag : W/"db5f4e12-3f34-465b-92dd-0ab3bf6fc274" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"db5f4e12-3f34-465b-92dd-0ab3bf6fc274\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + } + ] +Subnets : [] + + + The first command creates a route named route07 by using the New-AzureRouteConfig cmdlet, and then stores it in the $Route variable. This route forwards packets to the local virtual network. + The second command creates a route table named routetable01, and adds the route stored in $route to the new table. The command specifies the resource group to which the table belongs and the location for the table. + + + + + + + + + + + + + Get-AzureRouteTable + + + + New-AzureRouteConfig + + + + Remove-AzureRouteTable + + + + Set-AzureRouteTable + + + + + + + New-AzureVirtualNetworkGatewayConnection + + + + + + + + New + AzureVirtualNetworkGatewayConnection + + + + + + + New-AzureVirtualNetworkGatewayConnection + + Force + + + + + LocalNetworkGateway2 + + + PSLocalNetworkGateway + + + Profile + + + AzureProfile + + + RoutingWeight + + + Int32 + + + SharedKey + + + String + + + Tag + + + Hashtable[] + + + VirtualNetworkGateway2 + + + PSVirtualNetworkGateway + + + ConnectionType + + + + IPsec + Vnet2Vnet + ExpressRoute + VPNClient + + + + Location + + + String + + + Name + + + String + + + ResourceGroupName + + + String + + + VirtualNetworkGateway1 + + + PSVirtualNetworkGateway + + + + + + ConnectionType + + + String + + String + + + none + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + LocalNetworkGateway2 + + + PSLocalNetworkGateway + + PSLocalNetworkGateway + + + none + + + Location + + + String + + String + + + none + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + RoutingWeight + + + Int32 + + Int32 + + + none + + + SharedKey + + + String + + String + + + none + + + Tag + + + Hashtable[] + + Hashtable[] + + + none + + + VirtualNetworkGateway1 + + + PSVirtualNetworkGateway + + PSVirtualNetworkGateway + + + none + + + VirtualNetworkGateway2 + + + PSVirtualNetworkGateway + + PSVirtualNetworkGateway + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + New-AzureVirtualNetworkGatewayIpConfig + + + + + + + + New + AzureVirtualNetworkGatewayIpConfig + + + + + + + New-AzureVirtualNetworkGatewayIpConfig + + PrivateIpAddress + + + String + + + Profile + + + AzureProfile + + + PublicIpAddressId + + + String + + + SubnetId + + + String + + + Name + + + String + + + + New-AzureVirtualNetworkGatewayIpConfig + + PrivateIpAddress + + + String + + + Profile + + + AzureProfile + + + PublicIpAddress + + + PSPublicIpAddress + + + Subnet + + + PSSubnet + + + Name + + + String + + + + + + Name + + + String + + String + + + none + + + PrivateIpAddress + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIpAddressId + + + String + + String + + + none + + + Subnet + + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + New-AzureVirtualNetworkGateway + + + + + + + + New + AzureVirtualNetworkGateway + + + + + + + New-AzureVirtualNetworkGateway + + EnableBgp + + + Boolean + + + Force + + + + + GatewayType + + + String + + + IpConfigurations + + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Profile + + + AzureProfile + + + Tag + + + Hashtable[] + + + VpnType + + + + PolicyBased + RouteBased + + + + Location + + + String + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + EnableBgp + + + Boolean + + Boolean + + + none + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + GatewayType + + + String + + String + + + none + + + IpConfigurations + + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Location + + + String + + String + + + none + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + Tag + + + Hashtable[] + + Hashtable[] + + + none + + + VpnType + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + New-AzureVirtualNetworkSubnetConfig + + Creates a virtual network subnet configuration. + + + + + New + AzureVirtualNetworkSubnetConfig + + + + The New-AzureVirtualNetworkSubnetConfig cmdlet creates a virtual network subnet configuration. + + + + New-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of the subnet configuration to create. + + String + + + + New-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTableId + + + + + System.String + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of the subnet configuration to create. + + String + + + + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + String + + + none + + + Name + + Specifies the name of the subnet configuration to create. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + none + + + RouteTableId + + + + + System.String + + System.String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureVirtualNetworkSubnetConfig + + + + Get-AzureVirtualNetworkSubnetConfig + + + + Remove-AzureVirtualNetworkSubnetConfig + + + + Set-AzureVirtualNetworkSubnetConfig + + + + + + + New-AzureVirtualNetwork + + Creates a virtual network. + + + + + New + AzureVirtualNetwork + + + + The New-AzureVirtualNetwork cmdlet creates an Azure virtual network. + + + + New-AzureVirtualNetwork + + AddressPrefix + + Specifies a range of IP addresses for a virtual network. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + DnsServer + + Specifies the DNS server for a subnet. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Force + + Forces the command to run without asking for user confirmation. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Subnet + + Specifies a list of subnets to associate with the virtual network. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + Tag + + Specifies a dictionary of tags to associate with the network interface. + + Hashtable[] + + + Location + + Specifies the region for the virtual network. + + String + + + Name + + Specifies the name of the virtual network to create. + + String + + + ResourceGroupName + + Specifies the name of a resource group to contain the virtual network. + + String + + + + + + AddressPrefix + + Specifies a range of IP addresses for a virtual network. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + DnsServer + + Specifies the DNS server for a subnet. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Location + + Specifies the region for the virtual network. + + String + + String + + + none + + + Name + + Specifies the name of the virtual network to create. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of a resource group to contain the virtual network. + + String + + String + + + none + + + Subnet + + Specifies a list of subnets to associate with the virtual network. + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + 0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + + + none + + + Tag + + Specifies a dictionary of tags to associate with the network interface. + + Hashtable[] + + Hashtable[] + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetwork + + + + Remove-AzureVirtualNetwork + + + + Set-AzureVirtualNetwork + + + + + + + Remove-AzureApplicationGatewayBackendAddressPool + + Removes a back-end address pool from an application gateway. + + + + + Remove + AzureApplicationGatewayBackendAddressPool + + + + The Remove-AzureApplicationGatewayBackendAddressPool cmdlet removes a back-end address pool from an Azure application gateway. + + + + Remove-AzureApplicationGatewayBackendAddressPool + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes a back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end address pool that this cmdlet removes. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes a back-end address pool. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the back-end address pool that this cmdlet removes. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove a back-end address pool from an application gateway + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $AppGw -Name "BackEndPool02" + + + The first command gets the application gateway named ApplicationGateway01 belonging to the resource group named ResourceGroup01 and saves it in the $AppGw variable. The second command removes the back-end address pool named BackEndPool02 from the application gateway. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendAddressPool + + + + Get-AzureApplicationGatewayBackendAddressPool + + + + New-AzureApplicationGatewayBackendAddressPool + + + + Set-AzureApplicationGatewayBackendAddressPool + + + + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + Removes back-end HTTP settings from an application gateway. + + + + + Remove + AzureApplicationGatewayBackendHttpSettings + + + + The Remove-AzureApplicationGatewayBackendHttpSettings cmdlet removes back-end Hypertext Transfer Protocol (HTTP) settings from an Azure application gateway. + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes back-end HTTP settings. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end HTTP settings that this cmdlet removes. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes back-end HTTP settings. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the back-end HTTP settings that this cmdlet removes. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove back-end HTTP settings from an application gateway + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayBackendHttpSettings -ApplicationGateway $AppGw -Name "BackEndSetting02" + + + The first command gets an application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command removes the back-end HTTP setting named BackEndSetting02 from the application gateway stored in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendHttpSettings + + + + New-AzureApplicationGatewayBackendHttpSettings + + + + Get-AzureApplicationGatewayBackendHttpSettings + + + + Set-AzureApplicationGatewayBackendHttpSettings + + + + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + Removes a front-end IP configuration from an application gateway. + + + + + Remove + AzureApplicationGatewayFrontendIPConfig + + + + The Remove-AzureApplicationGatewayFrontendIPConfig cmdlet removes frontend IP from an Azure application gateway. + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway from which to remove a front-end IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of a front-end IP configuration to remove. + + String + + + + + + ApplicationGateway + + Specifies an application gateway from which to remove a front-end IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of a front-end IP configuration to remove. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove a front-end IP configuration + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontEndIP02" + + + The first command gets an application gateway named ApplicationGateway01 and stores it in the $AppGw variable. + The second command removes the front-end IP configuration named FrontEndIP02 from the application gateway stored in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendIPConfig + + + + Get-AzureApplicationGatewayFrontendIPConfig + + + + New-AzureApplicationGatewayFrontendIPConfig + + + + Set-AzureApplicationGatewayFrontendIPConfig + + + + + + + Remove-AzureApplicationGatewayFrontendPort + + Removes a front-end port from an application gateway. + + + + + Remove + AzureApplicationGatewayFrontendPort + + + + The Remove-AzureApplicationGatewayFrontendPort cmdlet removes a front-end port from an Azure application gateway. + + + + Remove-AzureApplicationGatewayFrontendPort + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which to remove a front-end port. + + PSApplicationGateway + + + Name + + Specifies name of the frontend port to remove. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which to remove a front-end port. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies name of the frontend port to remove. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example: Remove a front-end port from an application gateway + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayFrontendPort -ApplicationGateway $ AppGw -Name "FrontEndPort02" + + + The first command gets an application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores the gateway in $AppGw variable. + The second command removes the port named FrontEndPort02 from the application gateway. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendPort + + + + Get-AzureApplicationGatewayFrontendPort + + + + New-AzureApplicationGatewayFrontendPort + + + + Set-AzureApplicationGatewayFrontendPort + + + + + + + Remove-AzureApplicationGatewayHttpListener + + Removes an HTTP listener from an application gateway. + + + + + Remove + AzureApplicationGatewayHttpListener + + + + The Remove-AzureApplicationGatewayHttpListener cmdlet removes an HTTP listener from an Azureapplication gateway. + + + + Remove-AzureApplicationGatewayHttpListener + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which to remove an HTTP listener. + + PSApplicationGateway + + + Name + + Specifies the name of the HTTP listener to remove. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which to remove an HTTP listener. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the HTTP listener to remove. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayHttpListener -ApplicationGateway $AppGw -Name "Listener02" + + + The first command gets an application gateway and stores it in the $AppGw variable. + The second command removes the HTTP listener named Listener02 from the application gateway stored in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayHttpListener + + + + Get-AzureApplicationGatewayHttpListener + + + + New-AzureApplicationGatewayHttpListener + + + + Set-AzureApplicationGatewayHttpListener + + + + + + + Remove-AzureApplicationGatewayIPConfiguration + + Removes an IP configuration from an application gateway. + + + + + Remove + AzureApplicationGatewayIPConfiguration + + + + The Remove-AzureApplicationGatewayIPConfiguration cmdlet removes an IP configuration from an Azure application gateway. + + + + Remove-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which to remove an IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the IP configuration to remove. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which to remove an IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the IP configuration to remove. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove an IP configuration from an azure_2 application gateway. + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayIPConfiguration -ApplicationGateway $AppGw -Name "Subnet02" + + + The first command gets an application gateway and stores it in the $AppGw variable. + The second command removes the IP configuration named Subnet02 from the application gateway stored in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayIPConfiguration + + + + Get-AzureApplicationGatewayIPConfiguration + + + + New-AzureApplicationGatewayIPConfiguration + + + + Set-AzureApplicationGatewayIPConfiguration + + + + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + Removes a request routing rule from an application gateway. + + + + + Remove + AzureApplicationGatewayRequestRoutingRule + + + + The Remove-AzureApplicationGatewayRequestRoutingRule cmdlet removes a request routing rule from an Azure application gateway. + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which to remove a request routing rule. + + PSApplicationGateway + + + Name + + Specifies the name of the request routing rule to remove. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which to remove a request routing rule. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the request routing rule to remove. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove a request routing rule from an application gateway + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGw -Name "Rule02" + + + The first command gets an application gateway and stores it in the $AppGw variable. + The second command removes the request routing rule named Rule02 from the application gateway stored in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayRequestRoutingRule + + + + Get-AzureApplicationGatewayRequestRoutingRule + + + + New-AzureApplicationGatewayRequestRoutingRule + + + + Set-AzureApplicationGatewayRequestRoutingRule + + + + + + + Remove-AzureApplicationGatewaySslCertificate + + Removes an SSL certificate from an Azure application gateway. + + + + + Remove + AzureApplicationGatewaySslCertificate + + + + The Remove-AzureApplicationGatewaySslCertificate cmdlet removes a Secure Sockets Layer (SSL) certificate from an Azure application gateway. + + + + Remove-AzureApplicationGatewaySslCertificate + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes an SSL certificate. + + PSApplicationGateway + + + Name + + Specifies the name of an SSL certificate that this cmdlet removes. + + String + + + + + + ApplicationGateway + + Specifies the application gateway from which this cmdlet removes an SSL certificate. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of an SSL certificate that this cmdlet removes. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove an SSL certificate from an application gateway + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureApplicationGatewaySslCertificate -ApplicationGateway $AppGW -Name "Cert02" + + + This command removes the SSL certificate named Cert02 from the application gateway named ApplicationGateway01. + + + + + + + + + + + + + Add-AzureApplicationGatewaySslCertificate + + + + Get-AzureApplicationGatewaySslCertificate + + + + New-AzureApplicationGatewaySslCertificate + + + + Set-AzureApplicationGatewaySslCertificate + + + + + + + Remove-AzureApplicationGateway + + Removes an application gateway. + + + + + Remove + AzureApplicationGateway + + + + The Remove-AzureApplicationGateway cmdlet removes an application gateway. + + + + Remove-AzureApplicationGateway + + Force + + Forces the deletion of the application gateway regardless of whether resources are assigned to it. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the application gateway to be removed. + + String + + + ResourceGroupName + + Specifies the name of the resource group name that contains the application gateway. + + String + + + + + + Force + + Forces the deletion of the application gateway regardless of whether resources are assigned to it. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the application gateway to be removed. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group name that contains the application gateway. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + System.String + + + + + + + + + + + + + + + Example 1: Remove a specified application gateway + + + + + PS C:\> Remove-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" + + + This command removes the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01. + + + + + + + + + + + + + Set-AzureApplicationGateway + + + + + + + Remove-AzureLoadBalancerBackendAddressPoolConfig + + Removes a backend address pool configuration from a load balancer. + + + + + Remove + AzureLoadBalancerBackendAddressPoolConfig + + + + The Remove-AzureLoadBalancerBackendAddressPoolConfig cmdlet removes a backend address pool from a load balancer. + + + + Remove-AzureLoadBalancerBackendAddressPoolConfig + + Name + + Specifies the name of the backend address pool to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that contains the backend address pool to remove. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that contains the backend address pool to remove. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the backend address pool to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerBackendAddressPoolConfig + + + + Get-AzureLoadBalancerBackendAddressPoolConfig + + + + New-AzureLoadBalancerBackendAddressPoolConfig + + + + + + + Remove-AzureLoadBalancerFrontendIpConfig + + Removes a front-end IP configuration from a load balancer. + + + + + Remove + AzureLoadBalancerFrontendIpConfig + + + + The Remove-AzureLoadBalancerFrontendIpConfig cmdlet removes a front-end IP configuration from an Azure load balancer. + + + + Remove-AzureLoadBalancerFrontendIpConfig + + Name + + Specifies the name of the front-end IP address configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that contains the front-end IP configuration to remove. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that contains the front-end IP configuration to remove. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the front-end IP address configuration to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerFrontendIpConfig + + + + Get-AzureLoadBalancerFrontendIpConfig + + + + New-AzureLoadBalancerFrontendIpConfig + + + + Set-AzureLoadBalancerFrontendIpConfig + + + + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + Removes an inbound NAT rule configuration from a load balancer. + + + + + Remove + AzureLoadBalancerInboundNatRuleConfig + + + + The Remove-AzureLoadBalancerInboundNatRuleConfig cmdlet removes an inbound network address translation (NAT) rule configuration from an Azure load balancer. + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + Name + + Specifies the name of the inbound NAT rule configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the LoadBalancer object that contains the inbound NAT rule configuration to remove. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the LoadBalancer object that contains the inbound NAT rule configuration to remove. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the inbound NAT rule configuration to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + + + New-AzureLoadBalancerInboundNatRuleConfig + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + + + + + + Remove-AzureLoadBalancerProbeConfig + + Removes a probe configuration from a load balancer. + + + + + Remove + AzureLoadBalancerProbeConfig + + + + The Remove-AzureLoadBalancerProbeConfig cmdlet removes a probe configuration from a load balancer. + + + + Remove-AzureLoadBalancerProbeConfig + + Name + + Specifies the name of the probe configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the load balancer that contains the probe configuration to remove. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the load balancer that contains the probe configuration to remove. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the probe configuration to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerProbeConfig + + + + Get-AzureLoadBalancerProbeConfig + + + + New-AzureLoadBalancerProbeConfig + + + + Set-AzureLoadBalancerProbeConfig + + + + + + + Remove-AzureLoadBalancerRuleConfig + + Removes a rule configuration for a load balancer. + + + + + Remove + AzureLoadBalancerRuleConfig + + + + The Remove-AzureLoadBalancerRuleConfig cmdlet removes a rule configuration for an Azure load balancer. + + + + Remove-AzureLoadBalancerRuleConfig + + Name + + Specifies the name of the load balancer rule configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies the LoadBalancer object that contains the rule configuration to remove. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies the LoadBalancer object that contains the rule configuration to remove. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the load balancer rule configuration to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerRuleConfig + + + + Get-AzureLoadBalancerRuleConfig + + + + New-AzureLoadBalancerRuleConfig + + + + Set-AzureLoadBalancerRuleConfig + + + + + + + Remove-AzureLoadBalancer + + Removes a load balancer. + + + + + Remove + AzureLoadBalancer + + + + The Remove-AzureLoadBalancer cmdlet removes an Azure load balancer. + + + + Remove-AzureLoadBalancer + + Force + + Indicates that this cmdlet removes the load balancer regardless of whether resources are assigned to it. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Name + + Specifies the name of the load balancer to remove. + + String + + + ResourceGroupName + + Specifies the name of the resource group that contains the load balancer to remove. + + String + + + + + + Force + + Indicates that this cmdlet removes the load balancer regardless of whether resources are assigned to it. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the load balancer to remove. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the load balancer to remove. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureLoadBalancer + + + + New-AzureLoadBalancer + + + + Set-AzureLoadBalancer + + + + + + + Remove-AzureLocalNetworkGateway + + + + + + + + Remove + AzureLocalNetworkGateway + + + + + + + Remove-AzureLocalNetworkGateway + + Force + + + + + PassThru + + + + + Profile + + + AzureProfile + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Name + + + String + + String + + + none + + + PassThru + + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Remove-AzureNetworkInterface + + Removes a network interface. + + + + + Remove + AzureNetworkInterface + + + + The Remove-AzureNetworkInterface cmdlet removes an Azure network interface. + + + + Remove-AzureNetworkInterface + + Force + + Forces the command to run without asking for user confirmation. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Name + + Specifies the name of the network interface to remove. + + String + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet removes a network interface from the resource group that this parameter specifies. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the network interface to remove. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet removes a network interface from the resource group that this parameter specifies. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkInterface + + + + New-AzureNetworkInterface + + + + Set-AzureNetworkInterface + + + + + + + Remove-AzureNetworkSecurityGroup + + Removes a network security group. + + + + + Remove + AzureNetworkSecurityGroup + + + + The Remove-AzureNetworkSecurityGroup cmdlet removes an Azure network security group. + + + + Remove-AzureNetworkSecurityGroup + + Force + + Forces the command to run without asking for user confirmation. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Name + + Specifies the name of the network security group to remove. + + String + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet removes a network security group from the resource group that this parameter specifies. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the network security group to remove. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of a resource group. This cmdlet removes a network security group from the resource group that this parameter specifies. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkSecurityGroup + + + + New-AzureNetworkSecurityGroup + + + + Set-AzureNetworkSecurityGroup + + + + + + + Remove-AzureNetworkSecurityRuleConfig + + Removes a network security rule from a network security group. + + + + + Remove + AzureNetworkSecurityRuleConfig + + + + The Remove-AzureNetworkSecurityRuleConfig cmdlet removes a network security rule configuration from an Azure network security group. + + + + Remove-AzureNetworkSecurityRuleConfig + + Name + + Specifies the name of the network security rule configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This object contains the network security rule configuration to remove. + + PSNetworkSecurityGroup + + + + + + Name + + Specifies the name of the network security rule configuration to remove. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. This object contains the network security rule configuration to remove. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureNetworkSecurityRuleConfig + + + + Get-AzureNetworkSecurityRuleConfig + + + + New-AzureNetworkSecurityRuleConfig + + + + Set-AzureNetworkSecurityRuleConfig + + + + + + + Remove-AzurePublicIpAddress + + Removes a public IP address. + + + + + Remove + AzurePublicIpAddress + + + + The Remove-AzurePublicIpAddress cmdlet removes an Azure public IP address. + + + + Remove-AzurePublicIpAddress + + Force + + Forces the command to run without asking for user confirmation. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Name + + Specifies the name of the public IP address to remove. + + String + + + ResourceGroupName + + Specifies the name of the resource group that contains the public IP address to remove. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the public IP address to remove. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the public IP address to remove. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzurePublicIpAddress + + + + New-AzurePublicIpAddress + + + + Set-AzurePublicIpAddress + + + + + + + Remove-AzureRouteConfig + + Removes a route from a route table. + + + + + Remove + AzureRouteConfig + + + + The Remove-AzureRouteConfig cmdlet removes a route from an Azure route table. + + + + Remove-AzureRouteConfig + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the route that this cmdlet removes. + + String + + + RouteTable + + Specifies the route table that contains the route that this cmdlet deletes. + + PSRouteTable + + + + + + Name + + Specifies the name of the route that this cmdlet removes. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + Specifies the route table that contains the route that this cmdlet deletes. + + PSRouteTable + + PSRouteTable + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove a route + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Remove-AzureRouteConfig -Name "route02" | Set-AzureRouteTable +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/routetable01 +Etag : W/"47099b62-60ec-4bc1-b87b-fad56cb8bed1" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"47099b62-60ec-4bc1-b87b-fad56cb8bed1\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + } + ] +Subnets : [] + + + This command gets the route table named routetable01 by using the Get-AzureRouteTable cmdlet. The command passes that table to the current cmdlet by using the pipeline operator. + The current cmdlet remove the route named route02, and the passes the result to the Set-AzureRouteTable cmdlet, which updates the table to reflect your changes. The table no longer contains the route named route02. + + + + + + + + + + + + + Add-AzureRouteConfig + + + + Get-AzureRouteConfig + + + + New-AzureRouteConfig + + + + Set-AzureRouteConfig + + + + + + + Remove-AzureRouteTable + + Removes a route table. + + + + + Remove + AzureRouteTable + + + + The Remove-AzureRouteTable cmdlet removes an Azure route table. + + + + Remove-AzureRouteTable + + Force + + Forces the command to run without asking for user confirmation. + + + + PassThru + + Indicates that this cmdlet returns a value of $True if it removes a route table, or $False if it fails. If you do not specify this parameter, this cmdlet returns no value. + + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the route table that this cmdlet removes. + + String + + + ResourceGroupName + + Specifies the name of the resource group that contains the route table that this cmdlet removes. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the route table that this cmdlet removes. + + String + + String + + + none + + + PassThru + + Indicates that this cmdlet returns a value of $True if it removes a route table, or $False if it fails. If you do not specify this parameter, this cmdlet returns no value. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the route table that this cmdlet removes. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Remove a route table + + + + + PS C:\>Remove-AzureRouteTable -ResourceGroupName "ResourceGroup11 -Name "routetable01" +Confirm +Are you sure you want to remove resource 'routetable01' +[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y + + + This command removes the route table named routetable01 in the resource group named ResourceGroup11. The cmdlet prompts you for confirmation before it removes the table. + + + + + + + + + + + + + Get-AzureRouteTable + + + + New-AzureRouteTable + + + + Set-AzureRouteTable + + + + + + + Remove-AzureVirtualNetworkGatewayConnection + + + + + + + + Remove + AzureVirtualNetworkGatewayConnection + + + + + + + Remove-AzureVirtualNetworkGatewayConnection + + Force + + + + + PassThru + + + + + Profile + + + AzureProfile + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Name + + + String + + String + + + none + + + PassThru + + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Remove-AzureVirtualNetworkGateway + + + + + + + + Remove + AzureVirtualNetworkGateway + + + + + + + Remove-AzureVirtualNetworkGateway + + Force + + + + + PassThru + + + + + Profile + + + AzureProfile + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Name + + + String + + String + + + none + + + PassThru + + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Remove-AzureVirtualNetworkSubnetConfig + + Removes a subnet configuration from a virtual network. + + + + + Remove + AzureVirtualNetworkSubnetConfig + + + + The Remove-AzureVirtualNetworkSubnetConfig cmdlet removes a subnet from an Azure virtual network. + + + + Remove-AzureVirtualNetworkSubnetConfig + + Name + + Specifies the name of the subnet configuration to remove. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration to remove. + + PSVirtualNetwork + + + + + + Name + + Specifies the name of the subnet configuration to remove. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration to remove. + + PSVirtualNetwork + + PSVirtualNetwork + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureVirtualNetworkSubnetConfig + + + + Get-AzureVirtualNetworkSubnetConfig + + + + New-AzureVirtualNetworkSubnetConfig + + + + Set-AzureVirtualNetworkSubnetConfig + + + + + + + Remove-AzureVirtualNetwork + + Removes a virtual network. + + + + + Remove + AzureVirtualNetwork + + + + The Remove-AzureVirtualNetwork cmdlet removes an Azure virtual network. + + + + Remove-AzureVirtualNetwork + + Force + + Forces the command to run without asking for user confirmation. + + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Name + + Specifies the name of the virtual network to remove. + + String + + + ResourceGroupName + + Specifies the name of the resource group that contains the virtual network to remove. + + String + + + + + + Force + + Forces the command to run without asking for user confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + Name + + Specifies the name of the virtual network to remove. + + String + + String + + + none + + + PassThru + + Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output. + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + Specifies the name of the resource group that contains the virtual network to remove. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetwork + + + + New-AzureVirtualNetwork + + + + Set-AzureVirtualNetwork + + + + + + + Reset-AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Reset + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Reset-AzureVirtualNetworkGatewayConnectionSharedKey + + Force + + + + + Profile + + + AzureProfile + + + KeyLength + + + UInt32 + + + Name + + + String + + + ResourceGroupName + + + String + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + KeyLength + + + UInt32 + + UInt32 + + + none + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Reset-AzureVirtualNetworkGateway + + + + + + + + Reset + AzureVirtualNetworkGateway + + + + + + + Reset-AzureVirtualNetworkGateway + + Profile + + + AzureProfile + + + VirtualNetworkGateway + + + PSVirtualNetworkGateway + + + + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + VirtualNetworkGateway + + + PSVirtualNetworkGateway + + PSVirtualNetworkGateway + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureApplicationGatewayBackendAddressPool + + Updates a back-end address pool for an application gateway. + + + + + Set + AzureApplicationGatewayBackendAddressPool + + + + The Set-AzureApplicationGatewayBackendAddressPool cmdlet updates a back-end address pool for an Azure application gateway. Back-end addresses can be specified as IP addresses, fully-qualified domain names (FQDN) or IP configurations IDs. + + + + Set-AzureApplicationGatewayBackendAddressPool + + BackendIPConfigurationIds + + Specifies a list of back-end IP configuration IDs to use for the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end address pool. This back-end address pool must exist in the application gateway. + + String + + + + Set-AzureApplicationGatewayBackendAddressPool + + BackendIPAddresses + + Specifies a list of back-end IP addresses to use as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end address pool. This back-end address pool must exist in the application gateway. + + String + + + + Set-AzureApplicationGatewayBackendAddressPool + + BackendFqdns + + Specifies a list of back-end FQDNs to use as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the back-end address pool. + + PSApplicationGateway + + + Name + + Specifies the name of the back-end address pool. This back-end address pool must exist in the application gateway. + + String + + + + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the back-end address pool. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + BackendFqdns + + Specifies a list of back-end FQDNs to use as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPAddresses + + Specifies a list of back-end IP addresses to use as a back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + BackendIPConfigurationIds + + Specifies a list of back-end IP configuration IDs to use for the back-end server pool. + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + Name + + Specifies the name of the back-end address pool. This back-end address pool must exist in the application gateway. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Setting a back-end address pool by using FQDNs + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $ AppGw +-Name "Pool02" -BackendFqdns "contoso1.com", "contoso2.com" + + + + The first command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command updates the back-end address pool of the application gateway in $AppGw by using FQDNs. + + + + + + + + + + + Example 2: Setting a back-end address pool by using backend server IP addresses + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $ AppGw +-Name "Pool02" -BackendIPAddresses "10.10.10.10", "10.10.10.11" + + + The second command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command updates the back-end address pool of the application gateway in $AppGw by using IP addresses. + + + + + + + + + + + Example 3: Setting a back-end address pool by using the ID of the backend server’s IP address + + + + + PS C:\>$Nic01 = Get-AzureNetworkInterface -Name "Nic01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Nic02 = Get-AzureNetworkInterface -Name "Nic02" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayBackendAddressPool -ApplicationGateway $ AppGw +-Name "Pool02" -BackendIPConfigurationIds $nic01.Properties.IpConfigurations[0].Id, $nic02.Properties.IpConfiguration[0].Id + + + The first command gets a network interface object named Nic01 that belongs to the resource group named ResourceGroup01, and stores it in the $Nic01 variable. + The second command gets a network interface object named Nic02 that belongs to the resource group named ResourceGroup02, and stores it in the $Nic02 variable. + The third command gets the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The forth command uses the back-end IP configuration IDs from $Nic01 and $Nic02 to update the back-end address pool of the application gateway in $AppGw. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendAddressPool + + + + Get-AzureApplicationGatewayBackendAddressPool + + + + Get-AzureNetworkInterface + + + + New-AzureApplicationGatewayBackendAddressPool + + + + Remove-AzureApplicationGatewayBackendAddressPool + + + + + + + Set-AzureApplicationGatewayBackendHttpSettings + + Updates back-end HTTP settings for an application gateway. + + + + + Set + AzureApplicationGatewayBackendHttpSettings + + + + The Set-AzureApplicationGatewayBackendHttpSettings cmdlet updates the back-end Hypertext Transfer Protocol (HTTP) settings for an Azure application gateway. Back-end HTTP settings are applied to all back-end servers in a pool. + + + + Set-AzureApplicationGatewayBackendHttpSettings + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway object with which this cmdlet associates back-end HTTP settings. + + PSApplicationGateway + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the backend server pool. The acceptable values for this parameter are: Disabled, Enabled. + + + Enabled + Disabled + + + + Name + + Specifies the name of the back-end HTTP settings object. + + String + + + Port + + Specifies the port to use for each server in the back-end server pool. + + Int32 + + + Protocol + + Specifies the protocol to use for communication between the application gateway and back-end servers. The acceptable values for this parameter are: Http. This parameter is case-sensitive. + + String + + + + + + ApplicationGateway + + Specifies an application gateway object with which this cmdlet associates back-end HTTP settings. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + CookieBasedAffinity + + Specifies whether cookie-based affinity should be enabled or disabled for the backend server pool. The acceptable values for this parameter are: Disabled, Enabled. + + String + + String + + + none + + + Name + + Specifies the name of the back-end HTTP settings object. + + String + + String + + + none + + + Port + + Specifies the port to use for each server in the back-end server pool. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol to use for communication between the application gateway and back-end servers. The acceptable values for this parameter are: Http. This parameter is case-sensitive. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Update the back-end HTTP settings for an application gateway + + + + + PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayBackendHttpSettings -ApplicationGateway $AppGw +-Name "Setting02" -Port 88 -Protocol "Http" -CookieBasedAffinity "Disabled" + + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command updates the HTTP settings of the application gateway in $AppGw to use port 88, the HTTP protocol and enables cookie-based affinity. + + + + + + + + + + + + + Add-AzureApplicationGatewayBackendHttpSettings + + + + Get-AzureApplicationGatewayBackendHttpSettings + + + + New-AzureApplicationGatewayBackendHttpSettings + + + + Remove-AzureApplicationGatewayBackendHttpSettings + + + + + + + Set-AzureApplicationGatewayFrontendIPConfig + + Modifies a front-end IP address configuration. + + + + + Set + AzureApplicationGatewayFrontendIPConfig + + + + The Set-AzureApplicationGatewayFrontendIPConfig cmdlet updates a front-end IP configuration. + An application gateway supports two types of front-end IP addresses: +-- Public IP addresses +-- Private IP addresses for which the configuration uses Internal Load Balancing (ILB) + An application gateway can have at most one public IP address and one private IP address. A public IP address and a private IP address should be added separately as front-end IP addresses. + + + + Set-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address. If specified, this IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddress + + Specifies the public IP address. + + PSPublicIpAddress + + + Subnet + + Specifies the subnet that the application gateway uses. Specify this parameter if the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the fron-tend IP address of the application gateway. + + PSSubnet + + + ApplicationGateway + + Specifies an application gateway object in which to modify the front-end IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end IP configuration to modify. + + String + + + + Set-AzureApplicationGatewayFrontendIPConfig + + PrivateIPAddress + + Specifies the private IP address. If specified, this IP is statically allocated from the subnet. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + PublicIPAddressId + + Specifies the ID of the public IP address. + + String + + + SubnetId + + Specifies the subnet ID. Specify this parameter if the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + String + + + ApplicationGateway + + Specifies an application gateway object in which to modify the front-end IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end IP configuration to modify. + + String + + + + + + ApplicationGateway + + Specifies an application gateway object in which to modify the front-end IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end IP configuration to modify. + + String + + String + + + none + + + PrivateIPAddress + + Specifies the private IP address. If specified, this IP is statically allocated from the subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIPAddress + + Specifies the public IP address. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIPAddressId + + Specifies the ID of the public IP address. + + String + + String + + + none + + + Subnet + + Specifies the subnet that the application gateway uses. Specify this parameter if the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the fron-tend IP address of the application gateway. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the subnet ID. Specify this parameter if the gateway uses a private IP address. If PrivateIPAddress is specified, it should belong to this subnet. If PrivateIPAddress is not specified, one of the IP addresses from this subnet is dynamically picked up as the front-end IP address of the application gateway. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSPublicIpAddress + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Set a public IP as front-end IP of an application gateway + + + + + PS C:\> $PublicIp = New-AzurePublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIp01" -location "West US" -AllocationMethod Dynamic +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontEndIp01" –PublicIPAddress $PublicIp + + + + The first command creates a public IP address object and stores it in the $PublicIp variable. + The second command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The third command updates the front-end IP configuration named FrontEndIp01, for the gateway in $AppGw, using the address stored in $PublicIp. + + + + + + + + + + + Example 2: Set a static private IP as the front-end IP of an application gateway + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontendIP02" -Subnet $Subnet -PrivateIPAddress 10.0.1.1 + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The fourth command adds a front-end IP configuration named FrontendIP02 using $Subnet from the second command and the private IP address 10.0.1.1. + + + + + + + + + + + 1: Set a dynamic private IP as the front-end IP of an application gateway + + + + + PS C:\>$VNet = Get-AzurevirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw -Name "FrontendIP02" -Subnet $Subnet + + + The first command gets a virtual network named VNet01 that belongs to the resource group named ResourceGroup01, and stores it in the $VNet variable. + The second command gets a subnet configuration named Subnet01 using $VNet from the first command and stores it in the $Subnet variable. + The third command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The fourth command adds a front-end IP configuration named FrontendIP02 using $Subnet from the second command. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendIPConfig + + + + Get-AzureApplicationGatewayFrontendIPConfig + + + + New-AzureApplicationGatewayFrontendIPConfig + + + + Remove-AzureApplicationGatewayFrontendIPConfig + + + + + + + Set-AzureApplicationGatewayFrontendPort + + Modifies a front-end port for an application gateway. + + + + + Set + AzureApplicationGatewayFrontendPort + + + + The Set-AzureApplicationGatewayFrontendPort cmdlet modifies a front-end port for an application gateway. + + + + Set-AzureApplicationGatewayFrontendPort + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates the front-end port. + + PSApplicationGateway + + + Name + + Specifies the name of the front-end port to modify. + + String + + + Port + + Specifies the port number to use for the front-end port. + + Int32 + + + + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates the front-end port. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the front-end port to modify. + + String + + String + + + none + + + Port + + Specifies the port number to use for the front-end port. + + Int32 + + Int32 + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +C:\> $ AppGw = Set-AzureApplicationGatewayFrontendPort -ApplicationGateway $ AppGw -Name “FrontEndPort01” –Port 80 + + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command modifies the gateway in $AppGw to use port 80 for the front-end port named FrontEndPort01. + + + + + + + + + + + + + Add-AzureApplicationGatewayFrontendPort + + + + Get-AzureApplicationGatewayFrontendPort + + + + New-AzureApplicationGatewayFrontendPort + + + + Remove-AzureApplicationGatewayFrontendPort + + + + + + + Set-AzureApplicationGatewayHttpListener + + Modifies an HTTP listener for an application gateway. + + + + + Set + AzureApplicationGatewayHttpListener + + + + The Set-AzureApplicationGatewayHttpListener cmdlet modifies an HTTP listener for an Azure application gateway. + + + + Set-AzureApplicationGatewayHttpListener + + FrontendIPConfigurationId + + Specifies the ID of the front-end IP address of the application gateway. + + String + + + FrontendPortId + + Specifies the application gateway front-end port ID. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificateId + + Specifies the SSL certificate ID of the HTTP listener. + + String + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the HTTP listener. + + PSApplicationGateway + + + Name + + Specifies the name of the HTTP listener. + + String + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + + Http + Https + + + + + Set-AzureApplicationGatewayHttpListener + + FrontendIPConfiguration + + Specifies the front-end IP address of the application gateway. + + PSApplicationGatewayFrontendIPConfiguration + + + FrontendPort + + Specifies the application gateway front-end port. + + PSApplicationGatewayFrontendPort + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SslCertificate + + Specifies the SSL certificate of the HTTP listener. + + PSApplicationGatewaySslCertificate + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the HTTP listener. + + PSApplicationGateway + + + Name + + Specifies the name of the HTTP listener. + + String + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + + Http + Https + + + + + + + ApplicationGateway + + Specifies the application gateway with which this cmdlet associates the HTTP listener. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + FrontendIPConfiguration + + Specifies the front-end IP address of the application gateway. + + PSApplicationGatewayFrontendIPConfiguration + + PSApplicationGatewayFrontendIPConfiguration + + + none + + + FrontendIPConfigurationId + + Specifies the ID of the front-end IP address of the application gateway. + + String + + String + + + none + + + FrontendPort + + Specifies the application gateway front-end port. + + PSApplicationGatewayFrontendPort + + PSApplicationGatewayFrontendPort + + + none + + + FrontendPortId + + Specifies the application gateway front-end port ID. + + String + + String + + + none + + + Name + + Specifies the name of the HTTP listener. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that the HTTP listener uses. + + String + + String + + + none + + + SslCertificate + + Specifies the SSL certificate of the HTTP listener. + + PSApplicationGatewaySslCertificate + + PSApplicationGatewaySslCertificate + + + none + + + SslCertificateId + + Specifies the SSL certificate ID of the HTTP listener. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Set an HTTP listener + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayHttpListener -ApplicationGateway $AppGw -Name "Listener01" -Protocol Http -FrontendIpConfiguration $FIP01 -FrontendPort 80 + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The second command sets the HTTP listener for the gateway to use the front-end configuration stored in $FIP01 with the HTTP protocol on port 80. + + + + + + + + + + + + + Add-AzureApplicationGatewayHttpListener + + + + Get-AzureApplicationGatewayHttpListener + + + + New-AzureApplicationGatewayHttpListener + + + + Remove-AzureApplicationGatewayHttpListener + + + + + + + Set-AzureApplicationGatewayIPConfiguration + + Modifies an IP configuration for an application gateway. + + + + + Set + AzureApplicationGatewayIPConfiguration + + + + The Set-AzureApplicationGatewayIPConfiguration cmdlet modifies an IP configuration. An IP configuration contains the subnet in which an application gateway is deployed. + + + + Set-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + SubnetId + + Specifies the subnet ID. This is the subnet in which the application gateway is deployed. + + String + + + ApplicationGateway + + Specifies an application gateway object with which this cmdlet associates an IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the IP configuration. + + String + + + + Set-AzureApplicationGatewayIPConfiguration + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Subnet + + Specifies the subnet. This is the subnet in which the application gateway is deployed. + + PSSubnet + + + ApplicationGateway + + Specifies an application gateway object with which this cmdlet associates an IP configuration. + + PSApplicationGateway + + + Name + + Specifies the name of the IP configuration. + + String + + + + + + ApplicationGateway + + Specifies an application gateway object with which this cmdlet associates an IP configuration. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Name + + Specifies the name of the IP configuration. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Subnet + + Specifies the subnet. This is the subnet in which the application gateway is deployed. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the subnet ID. This is the subnet in which the application gateway is deployed. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSSubnet + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Set the goal state of an IP configuration + + + + + PS C:\>$VNet = Get-AzureVirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayIPConfiguration -ApplicationGateway $AppGw +-Name "AppgwSubnet01" -Subnet $Subnets + + + The first command gets the virtual network named VNet01 that belongs to the resource group named ResourceGroup01 and stores it in the $VNet variable. + The second command gets the subnet configuration named Subnet01 using $VNet and stores it in the $Subnet variable. + The third command gets an application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01 and stores it in the $AppGw variable. + The forth command sets the IP configuration of the application gateway stored in $AppGw to the subnet configuration stored in $Subnet. + + + + + + + + + + + + + Add-AzureApplicationGatewayIPConfiguration + + + + Get-AzureApplicationGatewayIPConfiguration + + + + New-AzureApplicationGatewayIPConfiguration + + + + Remove-AzureApplicationGatewayIPConfiguration + + + + + + + Set-AzureApplicationGatewayRequestRoutingRule + + Modifies a request routing rule for an application gateway. + + + + + Set + AzureApplicationGatewayRequestRoutingRule + + + + The Set-AzureApplicationGatewayRequestRoutingRule cmdlet modifies a request routing rule. + + + + Set-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPoolId + + Specifies the application gateway back-end address pool ID. + + String + + + BackendHttpSettingsId + + Specifies the application gateway back-end HTTP settings ID. + + String + + + HttpListenerId + + Specifies the application gateway HTTP listener ID. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates a request routing rule. + + PSApplicationGateway + + + Name + + Specifies the name of the request routing rule that this cmdlet modifies. + + String + + + RuleType + + Specifies the type of request routing rule. + + String + + + + Set-AzureApplicationGatewayRequestRoutingRule + + BackendAddressPool + + Specifies the application gateway back-end address pool. + + PSApplicationGatewayBackendAddressPool + + + BackendHttpSettings + + Specifies the application gateway backend HTTP settings. + + PSApplicationGatewayBackendHttpSettings + + + HttpListener + + Specifies the application gateway HTTP listener. + + PSApplicationGatewayHttpListener + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates a request routing rule. + + PSApplicationGateway + + + Name + + Specifies the name of the request routing rule that this cmdlet modifies. + + String + + + RuleType + + Specifies the type of request routing rule. + + String + + + + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates a request routing rule. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + BackendAddressPool + + Specifies the application gateway back-end address pool. + + PSApplicationGatewayBackendAddressPool + + PSApplicationGatewayBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies the application gateway back-end address pool ID. + + String + + String + + + none + + + BackendHttpSettings + + Specifies the application gateway backend HTTP settings. + + PSApplicationGatewayBackendHttpSettings + + PSApplicationGatewayBackendHttpSettings + + + none + + + BackendHttpSettingsId + + Specifies the application gateway back-end HTTP settings ID. + + String + + String + + + none + + + HttpListener + + Specifies the application gateway HTTP listener. + + PSApplicationGatewayHttpListener + + PSApplicationGatewayHttpListener + + + none + + + HttpListenerId + + Specifies the application gateway HTTP listener ID. + + String + + String + + + none + + + Name + + Specifies the name of the request routing rule that this cmdlet modifies. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RuleType + + Specifies the type of request routing rule. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Update a request routing rule + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGw -Name "Rule01" -RuleType Basic -BackendHttpSettings $Setting -HttpListener $Listener -BackendAddressPool $Pool + + + The first command gets the application gateway named ApplicationGateway01 and stores it in the $AppGw variable. + The second command modifies the request routing rule for the application gateway to use back-end HTTP settings specified in the $Setting variable, an HTTP listener specified in the $Listener variable, and a back-end address pool specified in the $Pool variable. + + + + + + + + + + + + + Add-AzureApplicationGatewayRequestRoutingRule + + + + Get-AzureApplicationGatewayRequestRoutingRule + + + + New-AzureApplicationGatewayRequestRoutingRule + + + + Remove-AzureApplicationGatewayRequestRoutingRule + + + + + + + Set-AzureApplicationGatewaySku + + Modifies the SKU of an application gateway. + + + + + Set + AzureApplicationGatewaySku + + + + The Set-AzureApplicationGatewaySku cmdlet modifies the stock keeping unit (SKU) of an application gateway. + + + + Set-AzureApplicationGatewaySku + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates the SKU. + + PSApplicationGateway + + + Capacity + + Specifies the instance count of the application gateway. + + Int32 + + + Name + + Specifies the name of the application gateway. + + + Standard_Small + Standard_Medium + Standard_Large + + + + Tier + + Specifies the tier of the application gateway. + + String + + + + + + ApplicationGateway + + Specifies the application gateway object with which this cmdlet associates the SKU. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Capacity + + Specifies the instance count of the application gateway. + + Int32 + + Int32 + + + none + + + Name + + Specifies the name of the application gateway. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + Tier + + Specifies the tier of the application gateway. + + String + + String + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Update the application gateway SKU + + + + + PS C:\>$AppGw = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureApplicationGatewaySku –ApplicationGateway $AppGw -Name "Standard_Small" -Tier "Standard" -Capacity 2 + + + The first command gets the application gateway named ApplicationGateway01 that belongs to the resource group named ResourceGroup01, and stores it in the $AppGw variable. + The second command updates the SKU of the application gateway. + + + + + + + + + + + + + Get-AzureApplicationGatewaySku + + + + New-AzureApplicationGatewaySku + + + + + + + Set-AzureApplicationGatewaySslCertificate + + Sets the goal state of an SSL certificate. + + + + + Set + AzureApplicationGatewaySslCertificate + + + + The Set-AzureApplicationGatewaySslCertificate cmdlet sets the goal state of an SSL certificate. + + + + Set-AzureApplicationGatewaySslCertificate + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway with which the SSL certificate is associated. + + PSApplicationGateway + + + CertificateFile + + Specifies the path of the SSL certificate. + + System.String + + + Name + + Specifies the name of the SSL certificate. + + String + + + Password + + Specifies the password of the SSL certificate. + + String + + + + + + ApplicationGateway + + Specifies the application gateway with which the SSL certificate is associated. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + CertificateFile + + Specifies the path of the SSL certificate. + + System.String + + System.String + + + none + + + Name + + Specifies the name of the SSL certificate. + + String + + String + + + none + + + Password + + Specifies the password of the SSL certificate. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + Microsoft.Azure.Commands.Network.Models.PSApplicationGateway + + + + + + + + + + + + + + + Example 1: Set the goal state of an SSL certificate + + + + + PS C:\>$AppGW = Get-AzureApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Cert = Set-AzureApplicationGatewaySslCertificate –ApplicationGateway $AppGW -Name "Cert01" –CertificateFile "D:\cert01.pfx" –Password "Password01" + + + This command sets the goal state for an SSL certificate from the application gateway named ApplicationGateway01. + + + + + + + + + + + + + Add-AzureApplicationGatewaySslCertificate + + + + Get-AzureApplicationGatewaySslCertificate + + + + New-AzureApplicationGatewaySslCertificate + + + + Remove-AzureApplicationGatewaySslCertificate + + + + + + + Set-AzureApplicationGateway + + Updates an application gateway. + + + + + Set + AzureApplicationGateway + + + + The Set-AzureApplicationGateway cmdlet updates an Azure application gateway. + + + + Set-AzureApplicationGateway + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies an application gateway object representing the state to which the application gateway should be set. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies an application gateway object representing the state to which the application gateway should be set. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Update an application gateway + + + + + PS C:\> $UpdatedAppGw = Set-AzureApplicationGateway -ApplicationGateway $AppGw + + + This command updates the application gateway with settings in the $AppGw variable and stores the updated gateway in the $UpdatedAppGw variable. + + + + + + + + + + + + + Start-AzureApplicationGateway + + + + + + + Set-AzureLoadBalancerFrontendIpConfig + + Sets the goal state for a front-end IP configuration in a load balancer. + + + + + Set + AzureLoadBalancerFrontendIpConfig + + + + The Set-AzureLoadBalancerFrontendIpConfig cmdlet sets the goal state for a front-end IP configuration in an Azure load balancer. + + + + Set-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the private IP address of the load balancer that is associated with the front-end IP configuration to set. Specify this parameter only if you also specify the Subnet parameter. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object that is associated with the front-end IP configuration to set. + + String + + + SubnetId + + Specifies the ID of the subnet that contains the front-end IP configuration to set. + + String + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for a front-end configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the front-end IP configuration to set. + + String + + + + Set-AzureLoadBalancerFrontendIpConfig + + PrivateIpAddress + + Specifies the private IP address of the load balancer that is associated with the front-end IP configuration to set. Specify this parameter only if you also specify the Subnet parameter. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddress + + Specifies the PublicIpAddress object that is associated with the front-end IP configuration to set. + + PSPublicIpAddress + + + Subnet + + Specifies the Subnet object that contains the front-end IP configuration to set. + + PSSubnet + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for a front-end configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the front-end IP configuration to set. + + String + + + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for a front-end configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the front-end IP configuration to set. + + String + + String + + + none + + + PrivateIpAddress + + Specifies the private IP address of the load balancer that is associated with the front-end IP configuration to set. Specify this parameter only if you also specify the Subnet parameter. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + Specifies the PublicIpAddress object that is associated with the front-end IP configuration to set. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + PublicIpAddressId + + Specifies the ID of the PublicIpAddress object that is associated with the front-end IP configuration to set. + + String + + String + + + none + + + Subnet + + Specifies the Subnet object that contains the front-end IP configuration to set. + + PSSubnet + + PSSubnet + + + none + + + SubnetId + + Specifies the ID of the subnet that contains the front-end IP configuration to set. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerFrontendIpConfig + + + + Get-AzureLoadBalancerFrontendIpConfig + + + + New-AzureLoadBalancerFrontendIpConfig + + + + Remove-AzureLoadBalancerFrontendIpConfig + + + + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + Sets an inbound NAT rule configuration for a load balancer. + + + + + Set + AzureLoadBalancerInboundNatRuleConfig + + + + The Set-AzureLoadBalancerInboundNatRuleConfig cmdlet sets an inbound network address translation (NAT) rule configuration for an Azure load balancer. + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets an inbound NAT rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of an inbound NAT rule configuration. + + String + + + + Set-AzureLoadBalancerInboundNatRuleConfig + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with an inbound NAT rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets an inbound NAT rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of an inbound NAT rule configuration. + + String + + + + + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with an inbound NAT rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + System.String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets an inbound NAT rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of an inbound NAT rule configuration. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that is matched by an inbound NAT rule configuration. The acceptable values for this parameter are:Tcp or Udp. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerInboundNatRuleConfig + + + + Get-AzureLoadBalancerInboundNatRuleConfig + + + + New-AzureLoadBalancerInboundNatRuleConfig + + + + Remove-AzureLoadBalancerInboundNatRuleConfig + + + + + + + Set-AzureLoadBalancerProbeConfig + + Sets the goal state for a probe configuration. + + + + + Set + AzureLoadBalancerProbeConfig + + + + The Set-AzureLoadBalancerProbeConfig cmdlet sets the goal state for a probe configuration. + + + + Set-AzureLoadBalancerProbeConfig + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol to use for the probing. The acceptable values for this parameter are:Tcp or Http. + + + Tcp + Http + + + + RequestPath + + Specifies the path in the load-balanced service to probe to determine health. + + String + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of the load-balanced service. + + Int32 + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for a probe configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of the probe configuration to set. + + String + + + Port + + Specifies the port on which probes should connect to a load-balanced service. + + Int32 + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + + + + + IntervalInSeconds + + Specifies the interval, in seconds, between probes to each instance of the load-balanced service. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for a probe configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Name + + Specifies the name of the probe configuration to set. + + String + + String + + + none + + + Port + + Specifies the port on which probes should connect to a load-balanced service. + + Int32 + + Int32 + + + none + + + ProbeCount + + Specifies the number of per-instance consecutive failures for an instance to be considered unhealthy. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol to use for the probing. The acceptable values for this parameter are:Tcp or Http. + + String + + String + + + none + + + RequestPath + + Specifies the path in the load-balanced service to probe to determine health. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerProbeConfig + + + + Get-AzureLoadBalancerProbeConfig + + + + New-AzureLoadBalancerProbeConfig + + + + Remove-AzureLoadBalancerProbeConfig + + + + + + + Set-AzureLoadBalancerRuleConfig + + Sets the goal state for a load balancer rule configuration. + + + + + Set + AzureLoadBalancerRuleConfig + + + + The Set-AzureLoadBalancerRuleConfig cmdlet sets the goal state for a load balancer rule configuration. + + + + Set-AzureLoadBalancerRuleConfig + + BackendAddressPool + + Specifies a BackendAddressPool object to associate with a load balancer rule. + + PSBackendAddressPool + + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of a load balancer. + + String + + + + Set-AzureLoadBalancerRuleConfig + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + + LoadDistribution + + Specifies a load distribution. + + + Default + SourceIP + SourceIPProtocol + + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + Protocol + + Specifies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + + Tcp + Udp + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + + Name + + Specifies the name of a load balancer. + + String + + + + + + BackendAddressPool + + Specifies a BackendAddressPool object to associate with a load balancer rule. + + PSBackendAddressPool + + PSBackendAddressPool + + + none + + + BackendAddressPoolId + + Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration. + + String + + String + + + none + + + BackendPort + + Specifies the backend port for traffic that is matched by this rule configuration. + + Int32 + + Int32 + + + none + + + EnableFloatingIP + + Indicates that this cmdlet enables a floating IP address for a rule configuration. + + SwitchParameter + + SwitchParameter + + + none + + + FrontendIpConfiguration + + Specifies a list of front-end IP addresses to associate with a load balancer rule configuration. + + PSFrontendIPConfiguration + + PSFrontendIPConfiguration + + + none + + + FrontendIpConfigurationId + + Specifies the ID for a front-end IP address configuration. + + System.String + + System.String + + + none + + + FrontendPort + + Specifies the front-end port that is matched by a load balancer rule configuration. + + Int32 + + Int32 + + + none + + + IdleTimeoutInMinutes + + Specifies the length of time, in minutes, for which the state of conversations is maintained in a load balancer. + + Int32 + + Int32 + + + none + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state rule configuration for the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + LoadDistribution + + Specifies a load distribution. + + String + + String + + + none + + + Name + + Specifies the name of a load balancer. + + String + + String + + + none + + + Probe + + Specifies a probe to associate with a load balancer rule configuration. + + PSProbe + + PSProbe + + + none + + + ProbeId + + Specifies the ID of the probe to associate with a load balancer rule configuration. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the protocol that is matched by a load balancer rule. The acceptable values for this parameter are:Tcp or Udp. + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureLoadBalancerRuleConfig + + + + Get-AzureLoadBalancerRuleConfig + + + + New-AzureLoadBalancerRuleConfig + + + + Remove-AzureLoadBalancerRuleConfig + + + + + + + Set-AzureLoadBalancer + + Sets the goal state for a load balancer. + + + + + Set + AzureLoadBalancer + + + + The Set-AzureLoadBalancer cmdlet sets the goal state for an Azure load balancer. + + + + Set-AzureLoadBalancer + + Profile + + Specifies an Azure profile. + + AzureProfile + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for the load balancer that this parameter specifies. + + PSLoadBalancer + + + + + + LoadBalancer + + Specifies a load balancer. This cmdlet sets the goal state for the load balancer that this parameter specifies. + + PSLoadBalancer + + PSLoadBalancer + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureLoadBalancer + + + + New-AzureLoadBalancer + + + + Remove-AzureLoadBalancer + + + + + + + Set-AzureLocalNetworkGateway + + + + + + + + Set + AzureLocalNetworkGateway + + + + + + + Set-AzureLocalNetworkGateway + + Profile + + + AzureProfile + + + AddressPrefix + + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + LocalNetworkGateway + + + PSLocalNetworkGateway + + + + + + AddressPrefix + + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + 0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + + + none + + + LocalNetworkGateway + + + PSLocalNetworkGateway + + PSLocalNetworkGateway + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureNetworkInterface + + Sets the goal state for a network interface. + + + + + Set + AzureNetworkInterface + + + + The Set-AzureNetworkInterface sets the goal state for an Azure network interface. + + + + Set-AzureNetworkInterface + + Profile + + Specifies an Azure profile. + + AzureProfile + + + NetworkInterface + + Specifies a NetworkInterface object that represents the goal state for a network interface. + + PSNetworkInterface + + + + + + NetworkInterface + + Specifies a NetworkInterface object that represents the goal state for a network interface. + + PSNetworkInterface + + PSNetworkInterface + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkInterface + + + + New-AzureNetworkInterface + + + + Remove-AzureNetworkInterface + + + + + + + Set-AzureNetworkSecurityGroup + + Sets the goal state for a network security group. + + + + + Set + AzureNetworkSecurityGroup + + + + The Set-AzureNetworkSecurityGroup cmdlet sets the goal state for an Azure network security group. + + + + Set-AzureNetworkSecurityGroup + + Profile + + Specifies an Azure profile. + + AzureProfile + + + NetworkSecurityGroup + + A Network Security Group object representing the goal state to which the Network Security Group should be set. + + PSNetworkSecurityGroup + + + + + + NetworkSecurityGroup + + A Network Security Group object representing the goal state to which the Network Security Group should be set. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureNetworkSecurityGroup + + + + New-AzureNetworkSecurityGroup + + + + Remove-AzureNetworkSecurityGroup + + + + + + + Set-AzureNetworkSecurityRuleConfig + + Sets the goal state for a network security rule configuration. + + + + + Set + AzureNetworkSecurityRuleConfig + + + + The Set-AzureNetworkSecurityRuleConfig cmdlet sets the goal state for an Azure network security rule configuration. + + + + Set-AzureNetworkSecurityRuleConfig + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + + Allow + Deny + + + + Description + + Specifies a description for a rule configuration. The maximum size is 140 characters. + + String + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: + +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + + Direction + + Specifies whether a rule is evaluated for incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + + Inbound + Outbound + + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + + Profile + + Specifies an Azure proile. + + AzureProfile + + + Protocol + + Specifies the network protocol that a rule configuration applies to. The acceptable values for this parameter are: + +--Tcp +-- Udp +—A wildcard character (*) to match both + + + Tcp + Udp + * + + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: + +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + + SourcePortRange + + Specifies the source port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + + Name + + Specifies the name of the network security rule configuration to set. + + String + + + NetworkSecurityGroup + + Specifies the NetworkSecurityGroup object that contains the network security rule configuration to set. + + PSNetworkSecurityGroup + + + + + + Access + + Specifies whether network traffic is allowed or denied. The acceptable values for this parameter are:Allow and Deny. + + String + + String + + + none + + + Description + + Specifies a description for a rule configuration. The maximum size is 140 characters. + + String + + String + + + none + + + DestinationAddressPrefix + + Specifies a destination address prefix. The acceptable values for this parameter are: + +-- A Classless Interdomain Routing (CIDR) address +-- A destination IP address range +-- A wildcard character (*) to match any IP address + You can use tags such as VirtualNetwork, AzureLoadBalancer, and Internet. + + String + + String + + + none + + + DestinationPortRange + + Specifies a destination port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + String + + + none + + + Direction + + Specifies whether a rule is evaluated for incoming or outgoing traffic. The acceptable values for this parameter are:Inbound and Outbound. + + String + + String + + + none + + + Name + + Specifies the name of the network security rule configuration to set. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies the NetworkSecurityGroup object that contains the network security rule configuration to set. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + Priority + + Specifies the priority of a rule configuration. The acceptable values for this parameter are:An integer between 100 and 4096. + The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + + Int32 + + Int32 + + + none + + + Profile + + Specifies an Azure proile. + + AzureProfile + + AzureProfile + + + none + + + Protocol + + Specifies the network protocol that a rule configuration applies to. The acceptable values for this parameter are: + +--Tcp +-- Udp +—A wildcard character (*) to match both + + String + + String + + + none + + + SourceAddressPrefix + + Specifies a source address prefix. The acceptable values for this parameter are: + +-- A CIDR +-- A source IP range +-- A wildcard character (*) to match any IP address + You can also use tags such as VirtualNetwork, AzureLoadBalancer and Internet. + + String + + String + + + none + + + SourcePortRange + + Specifies the source port or range. The acceptable values for this parameter are: + +-- An integer +-- A range of integers between 0 and 65535 +-- A wildcard character (*) to match any port + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureNetworkSecurityRuleConfig + + + + Get-AzureNetworkSecurityRuleConfig + + + + New-AzureNetworkSecurityRuleConfig + + + + Remove-AzureNetworkSecurityRuleConfig + + + + + + + Set-AzurePublicIpAddress + + Sets the goal state for a public IP address. + + + + + Set + AzurePublicIpAddress + + + + The Set-AzurePublicIpAddress cmdlet sets the goal state for a public IP address. + + + + Set-AzurePublicIpAddress + + Profile + + Specifies an Azure profile. + + AzureProfile + + + PublicIpAddress + + Specifis a PublicIpAddress object that represents the goal state to which the public IP address should be set. + + PSPublicIpAddress + + + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + PublicIpAddress + + Specifis a PublicIpAddress object that represents the goal state to which the public IP address should be set. + + PSPublicIpAddress + + PSPublicIpAddress + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzurePublicIpAddress + + + + New-AzurePublicIpAddress + + + + Remove-AzurePublicIpAddress + + + + + + + Set-AzureRouteConfig + + Sets the goal state for a route. + + + + + Set + AzureRouteConfig + + + + The Set-AzureRouteConfig cmdlet sets the goal state for an Azure route. + + + + Set-AzureRouteConfig + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + Name + + Specifies the name of the route that this cmdlet modifies. + + String + + + NextHopType + + Specifies how this route forwards packets. Valid values are: + +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + + Internet + None + VirtualAppliance + VirtualNetworkGateway + VnetLocal + + + + RouteTable + + Specifies the route table with which this route is associated. + + PSRouteTable + + + + + + AddressPrefix + + Specifies the destination, in Classless Interdomain Routing (CIDR) format, to which the route applies. + + String + + String + + + none + + + Name + + Specifies the name of the route that this cmdlet modifies. + + String + + String + + + none + + + NextHopIpAddress + + Specifies the IP address of a virtual appliance that you add to your Azure virtual network. This route forwards packets to that address. Specify this parameter only if you specify a value of VirtualAppliance for the NextHopType parameter. + + String + + String + + + none + + + NextHopType + + Specifies how this route forwards packets. Valid values are: + +-- Internet. The default Internet gateway provided by Azure. +-- None. If you specify this value, the route does not forward packets. +-- VirtualAppliance. A virtual appliance that you add to your Azure virtual network. +-- VirtualNetworkGateway. An Azure server-to-server virtual private network gateway. +-- VnetLocal. The local virtual network. If you have two subnets, 10.1.0.0/16 and 10.2.0.0/16 in the same virtual network, select a value of VnetLocal for each subnet to forward to the other subnet. + + String + + String + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + Specifies the route table with which this route is associated. + + PSRouteTable + + PSRouteTable + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Modify a route + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Set-AzureRouteConfig -Name "route02" -AddressPrefix 10.4.0.0/16 -NextHopType VnetLocal | Set-AzureRouteTable +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/routetable01 +Etag : W/"58c2922e-9efe-4554-a457-956ef44bc718" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"58c2922e-9efe-4554-a457-956ef44bc718\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + }, + { + "Name": "route02", + "Etag": "W/\"58c2922e-9efe-4554-a457-956ef44bc718\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route02", + "AddressPrefix": "10.4.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + } + ] +Subnets : [] + + + This command gets the route table named routetable01 by using the Get-AzureRouteTable cmdlet. The command passes that table to the current cmdlet by using the pipeline operator. + The current cmdlet modifies the route named route02, and then passes the result to the Set-AzureRouteTable cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Add-AzureRouteConfig + + + + Get-AzureRouteConfig + + + + Get-AzureRouteTable + + + + New-AzureRouteConfig + + + + Remove-AzureRouteConfig + + + + Set-AzureRouteTable + + + + + + + Set-AzureRouteTable + + Sets the goal state for a route table. + + + + + Set + AzureRouteTable + + + + The Set-AzureRouteTable cmdlet sets the goal state for an Azure route table. + + + + Set-AzureRouteTable + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + RouteTable + + Specifies a route table object that represents the goal state to which this cmdlet sets the route table. + + PSRouteTable + + + + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + Specifies a route table object that represents the goal state to which this cmdlet sets the route table. + + PSRouteTable + + PSRouteTable + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Add a route and then set the goal state of the route table + + + + + PS C:\>Get-AzureRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Add-AzureRouteConfig -Name "route02" -AddressPrefix 10.2.0.0/16 -NextHopType VnetLocal | Set-AzureRouteTable +Name : routetable01 +ResourceGroupName : ResourceGroup11 +Location : eastus +Id : /subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Microsoft.Networ + k/routeTables/routetable01 +Etag : W/"f13e1bc8-d41f-44d0-882d-b8b5a1134f59" +ProvisioningState : Succeeded +Tags : +Routes : [ + { + "Name": "route07", + "Etag": "W/\"f13e1bc8-d41f-44d0-882d-b8b5a1134f59\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route07", + "AddressPrefix": "10.1.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + }, + { + "Name": "route02", + "Etag": "W/\"f13e1bc8-d41f-44d0-882d-b8b5a1134f59\"", + "Id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/ResourceGroup11/providers/Micro + soft.Network/routeTables/routetable01/routes/route02", + "AddressPrefix": "10.2.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": "Succeeded" + }, + { + "Name": "route13", + "Etag": null, + "Id": null, + "AddressPrefix": "10.3.0.0/16", + "NextHopType": "VnetLocal", + "NextHopIpAddress": null, + "ProvisioningState": null + } + ] +Subnets : [] + + + This command gets the route table named routetable01 by using Get-AzureRouteTable cmdlet. The command passes that table to the Add-AzureRouteConfig cmdlet by using the pipeline operator. + Add-AzureRouteConfig adds the route named route02, and then passes the result to the current cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Add-AzureRouteConfig + + + + Get-AzureRouteTable + + + + New-AzureRouteTable + + + + Remove-AzureRouteTable + + + + + + + Set-AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Set + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Set-AzureVirtualNetworkGatewayConnectionSharedKey + + Force + + + + + Profile + + + AzureProfile + + + Name + + + String + + + ResourceGroupName + + + String + + + Value + + + String + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + Value + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureVirtualNetworkGatewayConnection + + + + + + + + Set + AzureVirtualNetworkGatewayConnection + + + + + + + Set-AzureVirtualNetworkGatewayConnection + + Force + + + + + Profile + + + AzureProfile + + + VirtualNetworkGatewayConnection + + + PSVirtualNetworkGatewayConnection + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + VirtualNetworkGatewayConnection + + + PSVirtualNetworkGatewayConnection + + PSVirtualNetworkGatewayConnection + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureVirtualNetworkSubnetConfig + + Sets the goal state for a subnet configuration in a virtual network. + + + + + Set + AzureVirtualNetworkSubnetConfig + + + + The Set-AzureVirtualNetworkSubnetConfig cmdlet sets the goal state for a subnet configuration in an Azure virtual network. + + + + Set-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of a subnet configuration. + + String + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration. + + PSVirtualNetwork + + + + Set-AzureVirtualNetworkSubnetConfig + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + + Profile + + Specifies an Azure profile. + + AzureProfile + + + RouteTableId + + + + + System.String + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + + Name + + Specifies the name of a subnet configuration. + + String + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration. + + PSVirtualNetwork + + + + + + AddressPrefix + + Specifies a range of IP addresses for a subnet configuration. + + String + + String + + + none + + + Name + + Specifies the name of a subnet configuration. + + String + + String + + + none + + + NetworkSecurityGroup + + Specifies a NetworkSecurityGroup object. + + PSNetworkSecurityGroup + + PSNetworkSecurityGroup + + + none + + + NetworkSecurityGroupId + + Specifies the ID of a network security group. + + String + + String + + + none + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + RouteTable + + + + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + Microsoft.Azure.Commands.Network.Models.PSRouteTable + + + none + + + RouteTableId + + + + + System.String + + System.String + + + none + + + VirtualNetwork + + Specifies the VirtualNetwork object that contains the subnet configuration. + + PSVirtualNetwork + + PSVirtualNetwork + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Add-AzureVirtualNetworkSubnetConfig + + + + Get-AzureVirtualNetworkSubnetConfig + + + + New-AzureVirtualNetworkSubnetConfig + + + + Remove-AzureVirtualNetworkSubnetConfig + + + + + + + Set-AzureVirtualNetwork + + Sets the goal state for a virtual network. + + + + + Set + AzureVirtualNetwork + + + + The Set-AzureVirtualNetwork cmdlet sets the goal state for an Azure virtual network. + + + + Set-AzureVirtualNetwork + + Profile + + Specifies an Azure profile. + + AzureProfile + + + VirtualNetwork + + Specifies a VirtualNetwork object that represents the goal state. + + PSVirtualNetwork + + + + + + Profile + + Specifies an Azure profile. + + AzureProfile + + AzureProfile + + + none + + + VirtualNetwork + + Specifies a VirtualNetwork object that represents the goal state. + + PSVirtualNetwork + + PSVirtualNetwork + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + + + + + + + + + + + + + + + + Get-AzureVirtualNetwork + + + + New-AzureVirtualNetwork + + + + Remove-AzureVirtualNetwork + + + + + + + Start-AzureApplicationGateway + + Starts an application gateway. + + + + + Start + AzureApplicationGateway + + + + The Start-AzureApplicationGateway cmdlet starts an Azure application gateway + + + + Start-AzureApplicationGateway + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to start. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway to start. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example1: Start an application gateway + + + + + PS C:\> $ AppGw = Start-AzureApplicationGateway -ApplicationGateway $AppGw + + + This command starts the application gateway stored in the $AppGw variable. + + + + + + + + + + + + + Stop-AzureApplicationGateway + + + + + + + Stop-AzureApplicationGateway + + Stops an application gateway + + + + + Stop + AzureApplicationGateway + + + + + + + Stop-AzureApplicationGateway + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + + ApplicationGateway + + Specifies the application gateway to stop. + + PSApplicationGateway + + + + + + ApplicationGateway + + Specifies the application gateway to stop. + + PSApplicationGateway + + PSApplicationGateway + + + none + + + Profile + + Specifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile. + + AzureProfile + + AzureProfile + + + none + + + + + + System.String + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example 1: Stop an application gateway + + + + + PS C:\> $AppGw = Stop-AzureApplicationGateway -ApplicationGateway $AppGw + + + This command stops the application gateway stored in the $AppGw variable. + + + + + + + + + + + + + + + + Test-AzureDnsAvailability + + + + + + + + Test + AzureDnsAvailability + + + + + + + Test-AzureDnsAvailability + + Profile + + + AzureProfile + + + DomainQualifiedName + + + String + + + Location + + + String + + + + + + DomainQualifiedName + + + String + + String + + + none + + + Location + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj index 5bb98ba26d66..8c8218fb9690 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj @@ -145,9 +145,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common diff --git a/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj b/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj index 435265a0e8db..c2ac9292d14e 100644 --- a/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj +++ b/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj @@ -152,9 +152,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {c972e3ef-4461-4758-ba31-93e0947b1253} diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Implementation/GetAzureResourceCmdlet.cs b/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Implementation/GetAzureResourceCmdlet.cs index 4e9be0e0db29..6a8396fe7a2a 100644 --- a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Implementation/GetAzureResourceCmdlet.cs +++ b/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Implementation/GetAzureResourceCmdlet.cs @@ -239,6 +239,10 @@ protected override void OnProcessRecord() { this.WriteWarning("The ParentResource parameter is obsolete and will be removed in future releases. Please use the -ResourceType and -ResourceName parameters instead."); } + if (this.ExpandPermissions.IsPresent) + { + this.WriteWarning("The ExpandPermissions parameter is obsolete and will be removed in future releases."); + } this.subscriptionIds.AddRange(this.SubscriptionId.CoalesceEnumerable()); } diff --git a/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj b/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj index 378d9a7a4dc5..07bf668bd4b7 100644 --- a/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj +++ b/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj @@ -188,7 +188,6 @@ - @@ -226,17 +225,13 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {8058d403-06e3-4bed-8924-d166ce303961} diff --git a/src/ResourceManager/Resources/Commands.Resources.Test/ResourceGroups/GetAzureResourceGroupLogCommandTests.cs b/src/ResourceManager/Resources/Commands.Resources.Test/ResourceGroups/GetAzureResourceGroupLogCommandTests.cs deleted file mode 100644 index f03606f1f0e3..000000000000 --- a/src/ResourceManager/Resources/Commands.Resources.Test/ResourceGroups/GetAzureResourceGroupLogCommandTests.cs +++ /dev/null @@ -1,99 +0,0 @@ -// ---------------------------------------------------------------------------------- -// -// Copyright Microsoft Corporation -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ---------------------------------------------------------------------------------- - -using System.Management.Automation; -using Microsoft.Azure.Commands.Resources.Models; -using Moq; - -namespace Microsoft.Azure.Commands.Resources.Test -{ - public class GetAzureResourceGroupLogCommandTests - { - private GetAzureResourceGroupLogCommand cmdlet; - - private Mock resourcesClientMock; - - private Mock commandRuntimeMock; - - public GetAzureResourceGroupLogCommandTests() - { - resourcesClientMock = new Mock(); - commandRuntimeMock = new Mock(); - cmdlet = new GetAzureResourceGroupLogCommand() - { - CommandRuntime = commandRuntimeMock.Object, - ResourcesClient = resourcesClientMock.Object - }; - } - - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //[Fact] - //[Trait(Category.AcceptanceType, Category.CheckIn)] - //public void GetAzureResourceGroupLogOutputsProperties() - //{ - // List result = new List(); - // result.Add(new PSDeploymentEventData - // { - // EventId = "ac7d2ab5-698a-4c33-9c19-0a93d3d7f527", - // EventName = "Start request", - // EventSource = "Microsoft Resources", - // Channels = "Operation", - // Level = "Informational", - // Timestamp = DateTime.Now, - // OperationId = "c0f2e85f-efb0-47d0-bf90-f983ec8be91d", - // OperationName = "Microsoft.Resources/subscriptions/resourcegroups/deployments/write", - // Status = "Succeeded", - // SubStatus = "Created", - // ResourceGroupName = "foo", - // ResourceProvider = "Microsoft Resources", - // ResourceUri = - // "/subscriptions/ffce8037-a374-48bf-901d-dac4e3ea8c09/resourcegroups/foo/deployments/testdeploy", - // HttpRequest = new PSDeploymentEventDataHttpRequest - // { - // Url = "http://path/subscriptions/ffce8037-a374-48bf-901d-dac4e3ea8c09/resourcegroups/foo/deployments/testdeploy", - // Method = "PUT", - // ClientId = "1234", - // ClientIpAddress = "123.123.123.123" - // }, - // Authorization = new PSDeploymentEventDataAuthorization - // { - // Action = "PUT", - // Condition = "", - // Role = "Sender", - // Scope = "None" - // }, - // Claims = new Dictionary - // { - // {"aud", "https://management.core.windows.net/"}, - // {"iss", "https://sts.windows.net/123456/"}, - // {"iat", "h123445"} - // }, - // Properties = new Dictionary() - // }); - - // GetPSResourceGroupLogParameters expected = new GetPSResourceGroupLogParameters(); - - // resourcesClientMock.Setup(f => f.GetResourceGroupLogs(It.IsAny())) - // .Returns(result) - // .Callback((GetPSResourceGroupLogParameters r) => expected = r); - - // cmdlet.Name = "foo"; - - // cmdlet.ExecuteCmdlet(); - - // Assert.Equal(1, result.Count()); - // Assert.Equal("foo", expected.Name); - //} - } -} diff --git a/src/ResourceManager/Resources/Commands.Resources/Commands.Resources.csproj b/src/ResourceManager/Resources/Commands.Resources/Commands.Resources.csproj index d009127f112d..d8d206f7f880 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Commands.Resources.csproj +++ b/src/ResourceManager/Resources/Commands.Resources/Commands.Resources.csproj @@ -203,7 +203,6 @@ - diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs index 00f4f687ca16..d402aead5b76 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs @@ -47,11 +47,10 @@ protected override void ProcessRecord() new List() { ProvisioningState } }; - if(!string.IsNullOrEmpty(Name)) + if(!string.IsNullOrEmpty(ProvisioningState)) { - WriteWarning("The parameter 'Name' in Get-AzureResourceGroupDeployment cmdlet is being renamed to DeploymentName and will be updated in a future release."); + WriteWarning("The ProvisioningState parameter is being deprecated and will be removed in a future release."); } - WriteObject(ResourcesClient.FilterResourceGroupDeployments(options), true); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs index 776f225d975c..b1960dec019c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs @@ -61,9 +61,9 @@ protected override void ProcessRecord() StorageAccountName = StorageAccountName }; - if(!string.IsNullOrEmpty(TemplateVersion) || !string.IsNullOrEmpty(StorageAccountName)) + if (!string.IsNullOrEmpty(TemplateVersion) || !string.IsNullOrEmpty(StorageAccountName) || !string.IsNullOrEmpty(GalleryTemplateIdentity)) { - WriteWarning("The TemplateVersion and StorageAccountName parameters in New-AzureResourceGroupDeployment cmdlet is being deprecated and will be removed in a future release."); + WriteWarning("The GalleryTemplateIdentity, TemplateVersion and StorageAccountName parameters in New-AzureResourceGroupDeployment cmdlet is being deprecated and will be removed in a future release."); } if(this.Mode == DeploymentMode.Complete) diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs index c622d29574d9..35c9a5b6f237 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs @@ -50,6 +50,7 @@ protected override void ProcessRecord() if (PassThru) { + WriteWarning("The PassThru switch parameter is being deprecated and will be removed in a future release."); WriteObject(true); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs index 4416d43180cc..1fe0850f2a4c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs @@ -50,6 +50,7 @@ protected override void ProcessRecord() if (PassThru) { + WriteWarning("The output object of this cmdlet will be modified in a future release."); WriteObject(true); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs index cabca487a2a1..4c3c8a14920b 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs @@ -29,6 +29,7 @@ public class GetAzureLocationCommand : ResourcesBaseCmdlet, IModuleAssemblyIniti { protected override void ProcessRecord() { + WriteWarning("The output object of this cmdlet will be modified in a future release."); WriteObject(ResourcesClient.GetLocations(), true); } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs index 2a7d691ade70..2787a799685b 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs @@ -38,6 +38,15 @@ public class GetAzureResourceGroupCommand : ResourcesBaseCmdlet protected override void ProcessRecord() { + if(this.Tag != null) + { + WriteWarning("The Tag parameter is being deprecated and will be removed in a future release."); + } + if(this.Detailed.IsPresent) + { + WriteWarning("The Detailed switch parameter is being deprecated and will be removed in a future release."); + } + WriteWarning("The output object of this cmdlet will be modified in a future release."); var detailed = Detailed.IsPresent || !string.IsNullOrEmpty(Name); WriteObject(ResourcesClient.FilterResourceGroups(Name, Tag, detailed), true); } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupLogCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupLogCommand.cs deleted file mode 100644 index 75ca1827a214..000000000000 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupLogCommand.cs +++ /dev/null @@ -1,59 +0,0 @@ -// ---------------------------------------------------------------------------------- -// -// Copyright Microsoft Corporation -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ---------------------------------------------------------------------------------- - -using System.Collections.Generic; -using System.Management.Automation; -using Microsoft.Azure.Commands.Resources.Models; - -namespace Microsoft.Azure.Commands.Resources -{ - /// - /// Get the list of events for a deployment. - /// - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //[Cmdlet(VerbsCommon.Get, "AzureRMResourceGroupLog", DefaultParameterSetName = LastDeploymentSetName), OutputType(typeof(List))] - public class GetAzureResourceGroupLogCommand : ResourcesBaseCmdlet - { - internal const string AllSetName = "All"; - internal const string LastDeploymentSetName = "Last deployment"; - internal const string DeploymentNameSetName = "Deployment by name"; - - [Alias("ResourceGroupName")] - [Parameter(Position = 0, ParameterSetName = AllSetName, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the resource group you want to see the logs.")] - [Parameter(Position = 0, ParameterSetName = LastDeploymentSetName, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the resource group you want to see the logs.")] - [Parameter(Position = 0, ParameterSetName = DeploymentNameSetName, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the resource group you want to see the logs.")] - [ValidateNotNullOrEmpty] - public string Name { get; set; } - - [Parameter(ParameterSetName = DeploymentNameSetName, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the deployment whose logs you want to see.")] - [ValidateNotNullOrEmpty] - public string DeploymentName { get; set; } - - [Parameter(ParameterSetName = AllSetName, HelpMessage = "Optional. If given, return logs of all the operations including CRUD and deployment.")] - public SwitchParameter All { get; set; } - - protected override void ProcessRecord() - { - GetPSResourceGroupLogParameters parameters = new GetPSResourceGroupLogParameters - { - Name = Name, - DeploymentName = DeploymentName, - All = All.IsPresent - }; - - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //WriteObject(ResourcesClient.GetResourceGroupLogs(parameters), true); - } - } -} \ No newline at end of file diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs index 0dc6498aeaf4..427a3ed38ec7 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs @@ -67,6 +67,7 @@ protected override void ProcessRecord() { WriteWarning("The deployment parameters in New-AzureResourceGroup cmdlet is being deprecated and will be removed in a future release. Please use New-AzureResourceGroupDeployment to submit deployments."); } + WriteWarning("The output object of this cmdlet will be modified in a future release."); WriteObject(ResourcesClient.CreatePSResourceGroup(parameters)); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs index 434e7d85cd42..37a32382b3d8 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs @@ -46,6 +46,7 @@ protected override void ProcessRecord() if (PassThru) { + WriteWarning("The PassThru switch parameter is being deprecated and will be removed in a future release."); WriteObject(true); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs index c3658f13a0ec..dfeda5f598f4 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs @@ -40,7 +40,7 @@ protected override void ProcessRecord() ResourceGroupName = Name, Tag = Tag }; - + WriteWarning("The output object of this cmdlet will be modified in a future release."); WriteObject(ResourcesClient.UpdatePSResourceGroup(parameters)); } } diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs index 12ffaa19b628..9531cd2a5872 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs @@ -49,6 +49,7 @@ public class GetAzureResourceGroupGalleryTemplateCommand : ResourcesBaseCmdlet protected override void ProcessRecord() { + WriteWarning("This cmdlet is being deprecated and will be removed in a future release."); FilterGalleryTemplatesOptions options = new FilterGalleryTemplatesOptions() { Category = Category, diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs index 9848a91b9eb2..3b0e1c0b5eee 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs @@ -37,6 +37,7 @@ public class SaveAzureResourceGroupGalleryTemplateCommand : ResourcesBaseCmdlet protected override void ProcessRecord() { + WriteWarning("This cmdlet is being deprecated and will be removed in a future release."); string path = GalleryTemplatesClient.DownloadGalleryTemplateFile( Identity, string.IsNullOrEmpty(Path) ? System.IO.Path.Combine(CurrentPath(), Identity) : this.TryResolvePath(Path), diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs index 805be7cbecdf..5980a111815c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs @@ -41,6 +41,10 @@ public TestAzureResourceGroupTemplateCommand() protected override void ProcessRecord() { this.WriteWarning("The Test-AzureResourceGroupTemplate cmdlet is being renamed to Test-AzureResourceGroupDeployment in a future release."); + if (!string.IsNullOrEmpty(TemplateVersion) || !string.IsNullOrEmpty(StorageAccountName) || !string.IsNullOrEmpty(GalleryTemplateIdentity)) + { + WriteWarning("The GalleryTemplateIdentity, TemplateVersion and StorageAccountName parameters are being deprecated and will be removed in a future release."); + } ValidatePSResourceGroupDeploymentParameters parameters = new ValidatePSResourceGroupDeploymentParameters() { ResourceGroupName = ResourceGroupName, diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj index 0f51e9e6156e..61d4bbb38d18 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj @@ -162,9 +162,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {7c879645-31ee-4a78-ad81-5512300fa104} diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj b/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj index 53103544b1d1..d7f51c619a22 100644 --- a/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj +++ b/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj @@ -248,9 +248,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} diff --git a/src/ResourceManager/Sql/Commands.Sql/Microsoft.Azure.Commands.Sql.dll-Help.xml b/src/ResourceManager/Sql/Commands.Sql/Microsoft.Azure.Commands.Sql.dll-Help.xml index 9aec3209acdd..e87b2e47f386 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Microsoft.Azure.Commands.Sql.dll-Help.xml +++ b/src/ResourceManager/Sql/Commands.Sql/Microsoft.Azure.Commands.Sql.dll-Help.xml @@ -1,12532 +1,12253 @@ - - - - - Get-AzureSqlDatabase - - Returns one or more Azure SQL Database. - - - - - Get - AzureSqlDatabase - - - - Use this cmdlet to retrieve one or more Azure SQL Database from an Azure SQL Database Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabase - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" - - This example returns all databases on server, "server1". - - - - - - - - - - - - - - -------------------------- Code Example 2 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" - - This example returns database named "database1", from server "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - New-AzureSqlDatabase - - - - Remove-AzureSqlDatabase - - - - Set-AzureSqlDatabase - - - - - - - - Get-AzureSqlDatabaseActivity - - Gets the status of database operations in an elastic database pool. - - - - - Get - AzureSqlDatabaseActivity - - - - Gets the status of moving elastic databases in and out of an elastic pool. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseActivity - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - - DatabaseName - - - - String - - - OperationId - - - - Nullable`1[Guid] - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server that the elastic pool is in. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - String - - - none - - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - String - - - none - - - DatabaseName - - - - String - - String - - - - - - OperationId - - - - Nullable`1[Guid] - - Nullable`1[Guid] - - - - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server that the elastic pool is in. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - The following example returns the operation status of all databases in an elastic pool named "elasticpool1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Get-AzureSqlDatabaseAuditingPolicy - - Gets an Azure SQL Database's auditing policy. - - - - - Get - AzureSqlDatabaseAuditingPolicy - - - - The Get-AzureSqlDatabaseAuditingPolicy cmdlet gets the auditing policy of an Azure Sql database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseAuditingPolicy - - ServerName - - The name of the server that contains the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group that contains the database. - - String - - - Profile - - In-Memory profile. - - AzureProfile - - - - - - ServerName - - The name of the server that contains the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the database. - - String - - String - - - none - - - Profile - - In-Memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Remove-AzureSqlDatabaseAuditing - - - - Set-AzureSqlDatabaseAuditingPolicy - - - - - - - - Get-AzureSqlDatabaseDataMaskingPolicy - - Gets an Azure SQL Database's data masking policy. - - - - - Get - AzureSqlDatabaseDataMaskingPolicy - - - - The Get-AzureSqlDatabaseDataMaskingPolicy cmdlet gets the data masking policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseDataMaskingPolicy - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseDataMaskingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlDatabaseDataMaskingRule - - - - New-AzureSqlDatabaseDataMaskingRule - - - - Remove-AzureSqlDatabaseDataMaskingRule - - - - Set-AzureSqlDatabaseDataMaskingPolicy - - - - Set-AzureSqlDatabaseDataMaskingRule - - - - - - - - Get-AzureSqlDatabaseDataMaskingRule - - Gets an Azure SQL Database's data masking rule. - - - - - Get - AzureSqlDatabaseDataMaskingRule - - - - The Get-AzureSqlDatabaseDataMaskingRule cmdlet gets either a specific data masking rule, or all of the data masking rule of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, and the RuleId to specify which rule this cmdlet returns. If no RuleId is provided, then all the data masking rules of that Azure SQL Database are returned. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseDataMaskingRule - - RuleId - - The Id of the requested rule. If not specified, information about all the data masking rules in the specified SQL Database are listed. - - String - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - RuleId - - The Id of the requested rule. If not specified, information about all the data masking rules in the specified SQL Database are listed. - - String - - String - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseDataMaskingRule –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - This example returns all data masking rules for "database1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlDatabaseDataMaskingPolicy - - - - New-AzureSqlDatabaseDataMaskingRule - - - - Remove-AzureSqlDatabaseDataMaskingRule - - - - Set-AzureSqlDatabaseDataMaskingPolicy - - - - Set-AzureSqlDatabaseDataMaskingRule - - - - - - - - Get-AzureSqlDatabaseExpanded - - - - - - - Get - AzureSqlDatabaseExpanded - - - - - - - - Get-AzureSqlDatabaseExpanded - - ServerName - - - - String - - - DatabaseName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlDatabaseIndexRecommendations - - - - - - - Get - AzureSqlDatabaseIndexRecommendations - - - - - - - - Get-AzureSqlDatabaseIndexRecommendations - - ServerName - - - - String - - - DatabaseName - - - - String - - - TableName - - - - String - - - IndexRecommendationName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - TableName - - - - String - - String - - - - - - IndexRecommendationName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlDatabaseReplicationLink - - Gets the geo-replication links between an Azure SQL Database and the specified Azure Resource Group or Azure SQL Server. - - - - - Get - AzureSqlDatabaseReplicationLink - - - - This cmdlet replaces the Get-AzureSqlDatabaseCopy cmdlet. It will return all geo-replication links between the specified Azure Resource Group or Azure SQL Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseReplicationLink - - DatabaseName - - The name of the Azure SQL Database to retrieve links for. - - String - - - PartnerResourceGroupName - - The name of the Azure Resource Group for the partner. - - String - - - ServerName - - The name of the Azure SQL Server for the database to retrieve links for. - - String - - - ResourceGroupName - - The name of the Azure Resource Group for the database to retrieve links for. - - String - - - Profile - - - - AzureProfile - - - - Get-AzureSqlDatabaseReplicationLink - - DatabaseName - - The name of the Azure SQL Database to retrieve links for. - - String - - - PartnerResourceGroupName - - The name of the Azure Resource Group for the partner. - - String - - - PartnerServerName - - The name of the Azure SQL Server for the partner. - - String - - - ServerName - - The name of the Azure SQL Server for the database to retrieve links for. - - String - - - ResourceGroupName - - The name of the Azure Resource Group for the database to retrieve links for. - - String - - - Profile - - - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to retrieve links for. - - String - - String - - - - - - PartnerResourceGroupName - - The name of the Azure Resource Group for the partner. - - String - - String - - - - - - ServerName - - The name of the Azure SQL Server for the database to retrieve links for. - - String - - String - - - - - - ResourceGroupName - - The name of the Azure Resource Group for the database to retrieve links for. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - PartnerServerName - - The name of the Azure SQL Server for the partner. - - String - - String - - - - - - - - - InputType - - - - - System.String - - - - - - - OutputType - - - - - System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - Get-AzureSqlDatabaseRestorePoints - - - - - - - Get - AzureSqlDatabaseRestorePoints - - - - - - - - Get-AzureSqlDatabaseRestorePoints - - ServerName - - - - String - - - DatabaseName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlDatabaseSecureConnectionPolicy - - Returns the secure connection policy of an Azure SQL Database. - - - - - Get - AzureSqlDatabaseSecureConnectionPolicy - - - - The Get-AzureSqlDatabaseSecureConnectionPolicy cmdlet returns the secure connection policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. After the successful execution of the cmdlet it returns an object describing the current secure connection policy as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseSecureConnectionPolicy - - ServerName - - The name of server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ServerName - - The name of server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseSecureConnectionPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Get-AzureSqlDatabaseTransparentDataEncryption - - Gets the Transparent Data Encryption State for an Azure SQL Database. - - - - - Get - AzureSqlDatabaseTransparentDataEncryption - - - - Use this cmdlet to retrieve the Transparent Data Encryption state from an Azure SQL Database. Use the ResourceGroupName, ServerName, and DatabaseName parameters to identify the database. The return object indicates encryption state of the Azure SQL database, and reflects the state last set by the user. When the state is "Enabled" the Azure SQL Database can still be encrypting as encryption can be a long running asynchronous job. When the state is "Disabled" the Azure SQL Database can still be decrypting because this is a long running asynchronous job. To view the encryption scan progress please use Get-AzureSqlDatabaseTransparentDataEncryptionActivity. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseTransparentDataEncryption - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - String - - - - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - String - - - - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - - - - - - - - - OutputType - - - - - Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" - - This example returns the transparent database encryption state for the database named "database1", from server "server1". - - - PS C:\>Get-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + + + + + Disable-AzureSqlDatabaseDirectAccess + + Disables the option to directly access an Azure SQL Database (without auditing). + + + + + Disable + AzureSqlDatabaseDirectAccess + + + + The Disable-AzureSqlDatabaseDirectAccess cmdlet disables the possibility of accessing an Azure SQL Database without auditing. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. After the successful execution of the cmdlet, directly accessing an Azure Sql Database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Disable-AzureSqlDatabaseDirectAccess + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + ServerName + + Specifies the name of the database server holding the database. + + String + + + DatabaseName + + Specifies the name of the database. Wildcards are not permitted. + + String + + + ResourceGroupName + + Specifies the name of the resource group of the database. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + Specifies the name of the database server holding the database. + + String + + String + + + none + + + DatabaseName + + Specifies the name of the database. Wildcards are not permitted. + + String + + String + + + none + + + ResourceGroupName + + Specifies the name of the resource group of the database. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Disable-AzureSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Enable-AzureSqlDatabaseDirectAccess + + + + + + + + Enable-AzureSqlDatabaseDirectAccess + + Enables the option to directly access an Azure SQL Database (with auditing). + + + + + Enable + AzureSqlDatabaseDirectAccess + + + + The Enable-AzureSqlDatabaseDirectAccess cmdlet enables the possibility of accessing an Azure SQL Database without auditing. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database.After the successful execution of the cmdlet, directly accessing to an Azure SQL Database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName). + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Enable-AzureSqlDatabaseDirectAccess + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + Specifies the name of the resource group of the database. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + Specifies the name of the resource group of the database. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Enable-AzureSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Disable-AzureSqlDatabaseDirectAccess + + + + + + + + Get-AzureSqlDatabase + + Returns one or more Azure SQL Database. + + + + + Get + AzureSqlDatabase + + + + Use this cmdlet to retrieve one or more Azure SQL Database from an Azure SQL Database Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabase + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + String + + + none + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" + + This example returns all databases on server, "server1". + + + + + + + + + + + + + + -------------------------- Code Example 2 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + This example returns database named "database1", from server "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + New-AzureSqlDatabase + + + + Remove-AzureSqlDatabase + + + + Set-AzureSqlDatabase + + + + + + + + Get-AzureSqlDatabaseActivity + + + + + + + Get + AzureSqlDatabaseActivity + + + + + + + + Get-AzureSqlDatabaseActivity + + ServerName + + + + String + + + ElasticPoolName + + + + String + + + DatabaseName + + + + String + + + OperationId + + + + Nullable`1[Guid] + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ServerName + + + + String + + String + + + + + + ElasticPoolName + + + + String + + String + + + + + + DatabaseName + + + + String + + String + + + + + + OperationId + + + + Nullable`1[Guid] + + Nullable`1[Guid] + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureSqlDatabaseAuditingPolicy + + Gets an Azure SQL Database's auditing policy. + + + + + Get + AzureSqlDatabaseAuditingPolicy + + + + The Get-AzureSqlDatabaseAuditingPolicy cmdlet gets the auditing policy of an Azure Sql database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseAuditingPolicy + + ServerName + + The name of the server that contains the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group that contains the database. + + String + + + Profile + + In-Memory profile. + + AzureProfile + + + + + + ServerName + + The name of the server that contains the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group that contains the database. + + String + + String + + + none + + + Profile + + In-Memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Remove-AzureSqlDatabaseAuditing + + + + Set-AzureSqlDatabaseAuditingPolicy + + + + + + + + Get-AzureSqlDatabaseDataMaskingPolicy + + Gets an Azure SQL Database's data masking policy. + + + + + Get + AzureSqlDatabaseDataMaskingPolicy + + + + The Get-AzureSqlDatabaseDataMaskingPolicy cmdlet gets the data masking policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseDataMaskingPolicy + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseDataMaskingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlDatabaseDataMaskingRule + + + + New-AzureSqlDatabaseDataMaskingRule + + + + Remove-AzureSqlDatabaseDataMaskingRule + + + + Set-AzureSqlDatabaseDataMaskingPolicy + + + + Set-AzureSqlDatabaseDataMaskingRule + + + + + + + + Get-AzureSqlDatabaseDataMaskingRule + + Gets an Azure SQL Database's data masking rule. + + + + + Get + AzureSqlDatabaseDataMaskingRule + + + + The Get-AzureSqlDatabaseDataMaskingRule cmdlet gets either a specific data masking rule, or all of the data masking rule of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, and the RuleId to specify which rule this cmdlet returns. If no RuleId is provided, then all the data masking rules of that Azure SQL Database are returned. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseDataMaskingRule + + RuleId + + The Id of the requested rule. If not specified, information about all the data masking rules in the specified SQL Database are listed. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + RuleId + + The Id of the requested rule. If not specified, information about all the data masking rules in the specified SQL Database are listed. + + String + + String + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseDataMaskingRule –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + This example returns all data masking rules for "database1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlDatabaseDataMaskingPolicy + + + + New-AzureSqlDatabaseDataMaskingRule + + + + Remove-AzureSqlDatabaseDataMaskingRule + + + + Set-AzureSqlDatabaseDataMaskingPolicy + + + + Set-AzureSqlDatabaseDataMaskingRule + + + + + + + + Get-AzureSqlDatabaseSecureConnectionPolicy + + Returns the secure connection policy of an Azure SQL Database. + + + + + Get + AzureSqlDatabaseSecureConnectionPolicy + + + + The Get-AzureSqlDatabaseSecureConnectionPolicy cmdlet returns the secure connection policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. After the successful execution of the cmdlet it returns an object describing the current secure connection policy as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseSecureConnectionPolicy + + ServerName + + The name of server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + ServerName + + The name of server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseSecureConnectionPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureSqlServerAuditingPolicy + + Gets an Azure SQL Server's auditing policy. + + + + + Get + AzureSqlServerAuditingPolicy + + + + The Get-AzureSqlServerAuditingPolicy cmdlet gets the auditing policy of an Azure SQL Server. To use the cmdlet, use the ResourceGroupName and the ServerName parameters to identify the database server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlServerAuditingPolicy + + ServerName + + The name of the server containing the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlServerAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" + + The following example returns the auditing policy for "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlDatabaseAuditingPolicy + + + + Remove-AzureSqlDatabaseAuditing + + + + Remove-AzureSqlServerAuditing + + + + Set-AzureSqlDatabaseAuditingPolicy + + + + Set-AzureSqlServerAuditingPolicy + + + + Use-AzureSqlServerAuditingPolicy + + + + + + + + Get-AzureSqlServerActiveDirectoryAdministrator + + Returns information about an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Get + AzureSqlServerActiveDirectoryAdministrator + + + + The Get-AzureSqlServerActiveDirectoryAdministrator cmdlet returns information about an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlServerActiveDirectoryAdministrator + + ServerName + + The name of the Azure SQL Server containing the Azure Active Directory administrator. + + String + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServerName + + The name of the Azure SQL Server containing the Azure Active Directory administrator. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + + System.String + + + + + + + + OutputType + + + + + + System.Object + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" + + Returns information about an Azure Active Directory administrator for Azure SQL Database Server "aad_managed_demo" associated with resource group "Group-23" + + + + ResourceGroupName ServerName DisplayName ObjectId + ----------------- ---------- ----------- -------- + Group-23 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b + + + + + + + + + + + + + + Remove-AzureSqlServerActiveDirectoryAdministrator + + + + Set-AzureSqlServerActiveDirectoryAdministrator + + + + + + + + Get-AzureSqlDatabaseTransparentDataEncryption + + Gets the Transparent Data Encryption State for an Azure SQL Database. + + + + + Get + AzureSqlDatabaseTransparentDataEncryption + + + + Use this cmdlet to retrieve the Transparent Data Encryption state from an Azure SQL Database. Use the ResourceGroupName, ServerName, and DatabaseName parameters to identify the database. The return object indicates encryption state of the Azure SQL database, and reflects the state last set by the user. When the state is "Enabled" the Azure SQL Database can still be encrypting as encryption can be a long running asynchronous job. When the state is "Disabled" the Azure SQL Database can still be decrypting because this is a long running asynchronous job. To view the encryption scan progress please use Get-AzureSqlDatabaseTransparentDataEncryptionActivity. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseTransparentDataEncryption + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + String + + + + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + String + + + + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + + + + + + + + + OutputType + + + + + + Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionModel + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + This example returns the transparent database encryption state for the database named "database1", from server "server1". + + + + PS C:\>Get-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -ResourceGroupName ServerName DatabaseName State ------------------ ---------- ------------ ----- -resourcegroup1 server1 database1 Disabled - - - - - - - - - - - - - Transparent Data Encryption with Azure SQL Database - https://msdn.microsoft.com/library/dn948096 - - - - - - - Get-AzureSqlDatabaseTransparentDataEncryptionActivity - - Gets the status of the Transparent Data Encryption Scan for an Azure SQL Database. - - - - - Get - AzureSqlDatabaseTransparentDataEncryptionActivity - - - - The Get-AzureSqlDatabaseTransparentDataEncryptionActivity Cmdlet gets the Transparent Data Encryption scan progress of an Azure SQL Database. Use the ResourceGroupName, ServerName, and DatabaseName parameters to identify the Azure SQL Database. The return object indicates if the Azure SQL Database is encrypting/decrypting, and what percentage is complete. If no encryption scan is occurring on the Azure SQL Database an empty list will be returned. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlDatabaseTransparentDataEncryptionActivity - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - String - - - - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - String - - - - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - - - - - - - - - OutputType - - - - - Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionActivityModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlDatabaseTransparentDataEncryptionActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" - - This example returns the transparent database encryption scan progress for the database named "database1", from server "server1". - - - PS C:\>Get-AzureSqlDatabaseTransparentDataEncryptionActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + ResourceGroupName ServerName DatabaseName State + ----------------- ---------- ------------ ----- + resourcegroup1 server1 database1 Disabled + + + + + + + + + + + + + + Transparent Data Encryption with Azure SQL Database + https://msdn.microsoft.com/library/dn948096 + + + + + + + Get-AzureSqlDatabaseTransparentDataEncryptionActivity + + Gets the status of the Transparent Data Encryption Scan for an Azure SQL Database. + + + + + Get + AzureSqlDatabaseTransparentDataEncryptionActivity + + + + The Get-AzureSqlDatabaseTransparentDataEncryptionActivity Cmdlet gets the Transparent Data Encryption scan progress of an Azure SQL Database. Use the ResourceGroupName, ServerName, and DatabaseName parameters to identify the Azure SQL Database. The return object indicates if the Azure SQL Database is encrypting/decrypting, and what percentage is complete. If no encryption scan is occurring on the Azure SQL Database an empty list will be returned. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseTransparentDataEncryptionActivity + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + String + + + + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + String + + + + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + + + + + + + + + OutputType + + + + + + Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionActivityModel + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseTransparentDataEncryptionActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + This example returns the transparent database encryption scan progress for the database named "database1", from server "server1". + + + + PS C:\>Get-AzureSqlDatabaseTransparentDataEncryptionActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -ResourceGroupName : resourcegroup1 -ServerName : server1 -DatabaseName : database1 -Status : Encrypting -PercentComplete : 3.662109 - - - - - - - - - - - - - Transparent Data Encryption with Azure SQL Database - https://msdn.microsoft.com/library/dn948096 - - - - - - - Get-AzureSqlDatabaseUpgradeHint - - - - - - - Get - AzureSqlDatabaseUpgradeHint - - - - - - - - Get-AzureSqlDatabaseUpgradeHint - - ServerName - - - - String - - - DatabaseName - - - - String - - - ExcludeElasticPoolCandidates - - - - Boolean - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - ExcludeElasticPoolCandidates - - - - Boolean - - Boolean - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlElasticPool - - Gets the details for an Azure SQL elastic database pool. - - - - - Get - AzureSqlElasticPool - - - - Gets all elastic pools and their property values, or pass the name of an existing elastic pool and return only the property values for that pool. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlElasticPool - - ElasticPoolName - - The name of the Azure SQL elastic pool to retrieve. - - String - - - ServerName - - The name of the Azure SQL Server containing the elastic pool. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the elastic pool. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ElasticPoolName - - The name of the Azure SQL elastic pool to retrieve. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server containing the elastic pool. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group of the server containing the elastic pool. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" - - This example returns all elastic pools on "server1". - - - - - - - - - - - - - - -------------------------- Example 2 -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - This example returns the elastic pool named "elasticpool1" on "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - New-AzureSqlElasticPool - - - - Remove-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - Get-AzureSqlElasticPoolActivity - - Gets the status of elastic database pool operations. - - - - - Get - AzureSqlElasticPoolActivity - - - - Provides the status of elastic pool operations including pool creation and configuration updates. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlElasticPoolActivity - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - - ResourceGroupName - - The name of the resource group containing the elastic pool. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - String - - - none - - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the elastic pool. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlElasticPoolActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - The following example returns the operation status for the elastic pool named "elasticpool1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlElasticPool - - - - Get-AzureSqlElasticPoolDatabase - - - - Get-AzureSqlDatabaseActivity - - - - New-AzureSqlElasticPool - - - - Remove-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - Get-AzureSqlElasticPoolDatabase - - Returns one or all elastic databases in an elastic database pool. - - - - - Get - AzureSqlElasticPoolDatabase - - - - Returns all elastic databases in an elastic pool and their property values, or provide the name of an elastic database and return only the property values for that database. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlElasticPoolDatabase - - ElasticPoolName - - The name of the Azure SQL elastic pool to retrieve. - - String - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the elastic pool. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ElasticPoolName - - The name of the Azure SQL elastic pool to retrieve. - - String - - String - - - none - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server that the elastic pool is in. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group of the server containing the elastic pool. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlElasticPoolDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - This example returns all databases in an elastic pool named "elasticpool1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlElasticPool - - - - Get-AzureSqlElasticPoolActivity - - - - Get-AzureSqlDatabaseActivity - - - - New-AzureSqlElasticPool - - - - Remove-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - Get-AzureSqlElasticPoolRecommendation - - - - - - - Get - AzureSqlElasticPoolRecommendation - - - - - - - - Get-AzureSqlElasticPoolRecommendation - - ServerName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - ElasticPoolRecommendation - - - - string - - string - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlServer - - Returns information about one or more Azure SQL Database Servers. - - - - - Get - AzureSqlServer - - - - If a SQL Database Server name is specified in the ServerName parameter, the cmdlet returns information about the specific SQL Database Server. Otherwise, it returns information about all the SQL Database Servers. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServer - - ServerName - - The name of the Azure SQL Server to retrieve. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Server to retrieve. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" - - Use this cmdlet to retrieve an Azure SQL Database Server named "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Get-AzureSqlServerActiveDirectoryAdministrator - - The Get-AzureSqlServerActiveDirectoryAdministrator cmdlet returns information about an Azure Active Directory administrator for an Azure SQL Server in the current subscription. - - - - - Get - AzureSqlServerActiveDirectoryAdministrator - - - - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServerActiveDirectoryAdministrator - - ServerName - - The name of the Azure SQL Server containing the Azure Active Directory administrator. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Server containing the Azure Active Directory administrator. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - Get-AzureSqlServerAuditingPolicy - - Gets an Azure SQL Server's auditing policy. - - - - - Get - AzureSqlServerAuditingPolicy - - - - The Get-AzureSqlServerAuditingPolicy cmdlet gets the auditing policy of an Azure SQL Server. To use the cmdlet, use the ResourceGroupName and the ServerName parameters to identify the database server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServerAuditingPolicy - - ServerName - - The name of the server containing the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlServerAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" - - The following example returns the auditing policy for "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlDatabaseAuditingPolicy - - - - Remove-AzureSqlDatabaseAuditing - - - - Remove-AzureSqlServerAuditing - - - - Set-AzureSqlDatabaseAuditingPolicy - - - - Set-AzureSqlServerAuditingPolicy - - - - Use-AzureSqlServerAuditingPolicy - - - - - - - - Get-AzureSqlServerFirewallRule - - Returns firewall rules for an Azure SQL Server. - - - - - Get - AzureSqlServerFirewallRule - - - - If a firewall rule name is specified in the FirewallRuleName parameter, the cmdlet returns information about the specific firewall rule. Otherwise, information about all the firewall rules in the specified Azure SQL Server are listed. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServerFirewallRule - - FirewallRuleName - - The name of the firewall rule to retrieve. If not specified, information about all the firewall rules in the specified Azure SQL Server is listed. - - String - - - ServerName - - The name of the Azure SQL Server for which you want to retrieve the firewall rules. Specify only the server name, and not the fully qualified DNS name. - - String - - - ResourceGroupName - - The name of the resource group of the Azure SQL Server containing the firewall rules to retrieve. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - FirewallRuleName - - The name of the firewall rule to retrieve. If not specified, information about all the firewall rules in the specified Azure SQL Server is listed. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server for which you want to retrieve the firewall rules. Specify only the server name, and not the fully qualified DNS name. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group of the Azure SQL Server containing the firewall rules to retrieve. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlServerFirewallRule –ResourceGroupName "resourcegroup1" –ServerName "server1" - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Get-AzureSqlServerServiceObjective - - Returns a list of service objectives for an Azure SQL Server. - - - - - Get - AzureSqlServerServiceObjective - - - - Returns available service objectives for an Azure SQL Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServerServiceObjective - - ServiceObjectiveName - - The Azure SQL Database service objective name. - - String - - - ServerName - - The name of the Azure SQL Server. - - String - - - DatabaseName - - The name of the Azure SQL Database. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServiceObjectiveName - - The Azure SQL Database service objective name. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server. - - String - - String - - - none - - - DatabaseName - - The name of the Azure SQL Database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-AzureSqlServerServiceObjective –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" - - The following example returns the service objective. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Get-AzureSqlServerUpgrade - - Gets the status of an Azure SQL Server Upgrade. - - - - - Get - AzureSqlServerUpgrade - - - - The Get-AzureSqlServerUpgrade cmdlet returns the status of an Azure SQL Server Upgrade. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Get-AzureSqlServerUpgrade - - ServerName - - The name of the Azure SQL Server to get upgrade status. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the Azure SQL Server to get upgrade status. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - String - - - - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - - - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example 1: Get status of a server upgrade -------------------------- - - PS C:\> - - Get-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer | Format-List - - Get the status of an upgrade request from server "MySqlServer" in resource group "MyResourceGroup". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Start-AzureSqlServerUpgrade - - - - Stop-AzureSqlServerUpgrade - - - - - - - - Get-AzureSqlServerUpgradeHint - - - - - - - Get - AzureSqlServerUpgradeHint - - - - - - - - Get-AzureSqlServerUpgradeHint - - ServerName - - - - String - - - ExcludeElasticPools - - - - Boolean - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - ExcludeElasticPools - - - - Boolean - - Boolean - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-AzureSqlDatabase - - Creates a new Azure SQL Database, or new elastic database. - - - - - New - AzureSqlDatabase - - - - The New-AzureSqlDatabase cmdlet creates a new Azure SQL Database. -Create an elastic database by setting the ElasticPoolName to an existing elastic pool. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlDatabase - - DatabaseName - - The name of the Azure SQL Database to create. - - String - - - CollationName - - The name of the Azure SQL Database collation to use. - - String - - - CatalogCollation - - The name of the Azure SQL Database catalog collation to use. - - String - - - MaxSizeBytes - - The maximum size of the Azure SQL Database in bytes. - - Int64 - - - Edition - - The edition to assign to the Azure SQL Database. - - DatabaseEdition - - - RequestedServiceObjectiveName - - The name of the service objective to assign to the Azure SQL Database. - - String - - - ElasticPoolName - - The name of the elastic pool to put the database in. - - String - - - Tags - - The tags to associate to the Azure SQL Database Server. - - Dictionary`2[String] - - - ServerName - - Name of the Azure SQL Server to create the database in. - - String - - - ResourceGroupName - - Name of resource group that the Azure SQL Server is in. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to create. - - String - - String - - - none - - - CollationName - - The name of the Azure SQL Database collation to use. - - String - - String - - - none - - - CatalogCollation - - The name of the Azure SQL Database catalog collation to use. - - String - - String - - - none - - - MaxSizeBytes - - The maximum size of the Azure SQL Database in bytes. - - Int64 - - Int64 - - - none - - - Edition - - The edition to assign to the Azure SQL Database. - - DatabaseEdition - - DatabaseEdition - - - none - - - RequestedServiceObjectiveName - - The name of the service objective to assign to the Azure SQL Database. - - String - - String - - - none - - - ElasticPoolName - - The name of the elastic pool to put the database in. - - String - - String - - - none - - - Tags - - The tags to associate to the Azure SQL Database Server. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerName - - Name of the Azure SQL Server to create the database in. - - String - - String - - - none - - - ResourceGroupName - - Name of resource group that the Azure SQL Server is in. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example 1 -------------------------- - - PS C:\> - - PS C:\>New-AzureSqlDatabase –ResourceGroupName "resourceGroup1" –ServerName "server1" –DatabaseName "db1" - - The following command creates a database named "db1" in server "Server1". - - - - - - - - - - - - - - -------------------------- Example 2 -------------------------- - - PS C:\> - - PS C:\>New-AzureSqlDatabase -ResourceGroupName "resourcegroup1" -ServerName "server1" -DatabaseName "database1" -ElasticPoolName "elasticpool1" - - The following command creates a database named "database1" in the elastic pool named "elasticpool1" in server "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - New-AzureSqlServer - - - - New-AzureSqlElasticPool - - - - - - - - New-AzureSqlDatabaseCopy - - Creates a copy of an existing Azure SQL Database using the snapshot of the data at the time of the call. - - - - - New - AzureSqlDatabaseCopy - - - - This cmdlet replaces the Start-AzureSqlDatabaseCopy cmdlet when used to create a one-time database copy. It returns the database object of the copy. - Note: Use New-AzureSqlDatabaseSecondary for setting up geo-replication for a database. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlDatabaseCopy - - DatabaseName - - The name of the Azure SQL Database to be copied. - - String - - - ServiceObjectiveName - - The name of the service objective to assign to the copy. - - String - - - ElasticPoolName - - The name of the Elastic Pool to put the copy in. - - String - - - Tags - - The tags to associate with the Azure SQL Database copy. - - Dictionary`2[String] - - - CopyResourceGroupName - - The name of the Azure Resource Group to create copy in. - - String - - - CopyServerName - - The name of the Azure SQL Server to create copy in. - - String - - - CopyDatabaseName - - The name of the Azure SQL Database copy. - - String - - - ServerName - - The name of the Azure SQL Server the database to be copied is in. - - String - - - ResourceGroupName - - The name of the Azure Resource Group the database to be copied is in. - - String - - - Profile - - - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to be copied. - - String - - String - - - - - - ServiceObjectiveName - - The name of the service objective to assign to the copy. - - String - - String - - - - - - ElasticPoolName - - The name of the Elastic Pool to put the copy in. - - String - - String - - - - - - Tags - - The tags to associate with the Azure SQL Database copy. - - Dictionary`2[String] - - Dictionary`2[String] - - - - - - CopyResourceGroupName - - The name of the Azure Resource Group to create copy in. - - String - - String - - - - - - CopyServerName - - The name of the Azure SQL Server to create copy in. - - String - - String - - - - - - CopyDatabaseName - - The name of the Azure SQL Database copy. - - String - - String - - - - - - ServerName - - The name of the Azure SQL Server the database to be copied is in. - - String - - String - - - - - - ResourceGroupName - - The name of the Azure Resource Group the database to be copied is in. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - System.String - - - - - - - OutputType - - - - - System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - New-AzureSqlDatabaseDataMaskingRule - - Creates a new Azure SQL Database's data masking rule. - - - - - New - AzureSqlDatabaseDataMaskingRule - - - - The Set-SetAzureSqlDatabaseDataMaskingRule cmdlet is used to set the properties of an already exisiting data masking rule of an Azure SQL database. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and Rule parameters to identify the rule. Use either the TableName and ColumnName or the AliasName to specify thetarget of the rule and the MaskingFunction parameter to define how the data is masked. If the command succeeds and the PassThru switch is on, it returns an object describing the data masking rule as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlDatabaseDataMaskingRule - - ColumnName - - The name of the column that is the target of this masking rule. - - String - - - SchemaName - - - - String - - - TableName - - The name of the table in the database to apply the rule. - - String - - - MaskingFunction - - Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. - - String - - - PrefixSize - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - - ReplacementString - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - String - - - SuffixSize - - When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - - NumberFrom - - When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. - - Nullable`1[Double] - - - NumberTo - - When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. - - Nullable`1[Double] - - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - RuleId - - The identifier for this data masking rule. - - String - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ColumnName - - The name of the column that is the target of this masking rule. - - String - - String - - - none - - - SchemaName - - - - String - - String - - - - - - TableName - - The name of the table in the database to apply the rule. - - String - - String - - - none - - - MaskingFunction - - Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. - - String - - String - - - none - - - PrefixSize - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - none - - - ReplacementString - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - String - - String - - - none - - - SuffixSize - - When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - none - - - NumberFrom - - When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. - - Nullable`1[Double] - - Nullable`1[Double] - - - none - - - NumberTo - - When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. - - Nullable`1[Double] - - Nullable`1[Double] - - - none - - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - RuleId - - The identifier for this data masking rule. - - String - - String - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - AliasName - - The name of the alias that is the target of this masking rule. - - string - - string - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help New-AzureSqlDatabaseDataMaskingRule - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - New-AzureSqlDatabaseSecondary - - Creates a new secondary database for an existing Azure SQL Database and starts data replication. - - - - - New - AzureSqlDatabaseSecondary - - - - This cmdlet replaces the Start-AzureSqlDatabaseCopy cmdlet when used for setting up geo-replication for a database. It returns the geo-replication link object from the primary to the secondary database. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlDatabaseSecondary - - DatabaseName - - The name of the Azure SQL Database to act as primary. - - String - - - SecondaryServiceObjectiveName - - The name of the service objective to assign to the secondary. - - String - - - SecondaryElasticPoolName - - The name of the Elastic Pool to put the secondary in. - - String - - - Tags - - The tags to associate with the Azure SQL Database replication link. - - Dictionary`2[String] - - - PartnerResourceGroupName - - The name of the Azure Resource Group to create secondary in. - - String - - - PartnerServerName - - The name of the Azure SQL Server to create secondary in. - - String - - - AllowConnections - - The read intent of the secondary Azure SQL Database. - - AllowConnections - - - ServerName - - The name of the Azure SQL Server of the primary Azure SQL Database. - - String - - - ResourceGroupName - - The name of the Azure Resource Group of the primary Azure SQL Database. - - String - - - Profile - - - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to act as primary. - - String - - String - - - - - - SecondaryServiceObjectiveName - - The name of the service objective to assign to the secondary. - - String - - String - - - - - - SecondaryElasticPoolName - - The name of the Elastic Pool to put the secondary in. - - String - - String - - - - - - Tags - - The tags to associate with the Azure SQL Database replication link. - - Dictionary`2[String] - - Dictionary`2[String] - - - - - - PartnerResourceGroupName - - The name of the Azure Resource Group to create secondary in. - - String - - String - - - - - - PartnerServerName - - The name of the Azure SQL Server to create secondary in. - - String - - String - - - - - - AllowConnections - - The read intent of the secondary Azure SQL Database. - - AllowConnections - - AllowConnections - - - - - - ServerName - - The name of the Azure SQL Server of the primary Azure SQL Database. - - String - - String - - - - - - ResourceGroupName - - The name of the Azure Resource Group of the primary Azure SQL Database. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - System.String - - - - - - - OutputType - - - - - System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - New-AzureSqlElasticPool - - Creates a new Azure SQL Database elastic database pool. - - - - - New - AzureSqlElasticPool - - - - This cmdlet creates a new elastic database pool. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlElasticPool - - ElasticPoolName - - The name of the Azure SQL elastic pool to create. - - String - - - Edition - - The edition to assign to the Azure SQL elastic pool. -For the current preview, the edition must be "Standard". - - DatabaseEdition - - - Dtu - - The total shared DTU for the Azure SQL elastic pool. - - Int32 - - - StorageMB - - The storage limit for the Azure SQL elastic pool in MB. - - Int64 - - - DatabaseDtuMin - - The minimum DTU that all Azure SQL Databases in the pool are guaranteed to have available. - - Int32 - - - DatabaseDtuMax - - The maximum DTU that any one Azure SQL Database in the pool can consume. - - Int32 - - - Tags - - The tags to associate with the Azure SQL elastic pool. - - Dictionary`2[String] - - - ServerName - - Name of the Azure SQL Server to create the elastic pool in. - - String - - - ResourceGroupName - - Name of resource group containing the Azure SQL Server to create the elastic pool in. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ElasticPoolName - - The name of the Azure SQL elastic pool to create. - - String - - String - - - none - - - Edition - - The edition to assign to the Azure SQL elastic pool. -For the current preview, the edition must be "Standard". - - DatabaseEdition - - DatabaseEdition - - - none - - - Dtu - - The total shared DTU for the Azure SQL elastic pool. - - Int32 - - Int32 - - - none - - - StorageMB - - The storage limit for the Azure SQL elastic pool in MB. - - Int64 - - Int64 - - - none - - - DatabaseDtuMin - - The minimum DTU that all Azure SQL Databases in the pool are guaranteed to have available. - - Int32 - - Int32 - - - none - - - DatabaseDtuMax - - The maximum DTU that any one Azure SQL Database in the pool can consume. - - Int32 - - Int32 - - - none - - - Tags - - The tags to associate with the Azure SQL elastic pool. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerName - - Name of the Azure SQL Server to create the elastic pool in. - - String - - String - - - none - - - ResourceGroupName - - Name of resource group containing the Azure SQL Server to create the elastic pool in. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>New-AzureSqlElasticPool -ResourceGroupName "resourcegroup1" -ServerName "server1" -ElasticPoolName "elasticpool1" -Edition "Standard" -Dtu 400 -DatabaseDtuMin 10 -DatabaseDtuMax 100 - - The following command creates an elastic pool in the Standard service tier named "elasticpool1" in the server named "server1" within an Azure resource group named "resourcegroup1", and specifies DTU property values for the pool and it’s databases. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlElasticPool - - - - Get-AzureSqlElasticPoolActivity - - - - Get-AzureSqlElasticPoolDatabase - - - - Get-AzureSqlDatabaseActivity - - - - Remove-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - New-AzureSqlServer - - Creates a new Azure SQL Database server. - - - - - New - AzureSqlServer - - - - The New-AzureSqlDatabaseServer cmdlet creates a new Azure SQL server. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlServer - - ServerName - - The name of the new Azure SQL Server to create. - - String - - - SqlAdministratorCredentials - - - - PSCredential - - - Location - - The data center location where the Azure SQL Server will be created. - - String - - - Tags - - The tags to associate with the Azure SQL Server. - - Dictionary`2[String] - - - ServerVersion - - The version of the new Azure SQL Server. Valid values are 2.0, or 12.0. - Use 2.0 to create a V11 server, or 12.0 to create a V11 server. - - String - - - ResourceGroupName - - The name of the resource group to create the Azure SQL Server in. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerName - - The name of the new Azure SQL Server to create. - - String - - String - - - none - - - SqlAdministratorCredentials - - - - PSCredential - - PSCredential - - - - - - Location - - The data center location where the Azure SQL Server will be created. - - String - - String - - - none - - - Tags - - The tags to associate with the Azure SQL Server. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerVersion - - The version of the new Azure SQL Server. Valid values are 2.0, or 12.0. - Use 2.0 to create a V11 server, or 12.0 to create a V11 server. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group to create the Azure SQL Server in. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - SqlAdminCredentials - - The SQL administrator credentials for the new server. - - pscredential - - pscredential - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>New-AzureSqlServer -ResourceGroupName "resourcegroup1" -ServerName "server1" -Location "West US" -ServerVersion "12.0" - - This command creates a new Azure SQL V12 Server. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlServer - - - - Remove-AzureSqlServer - - - - Set-AzureSqlServer - - - - New-AzureSqlServerFirewallRule - - - - - - - - New-AzureSqlServerFirewallRule - - Creates a new firewall rule for an Azure SQL Database server. - - - - - New - AzureSqlServerFirewallRule - - - - The New-AzureSqlServerFirewallRule cmdlet creates a new firewall rule for the specified SQL Database server. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - New-AzureSqlServerFirewallRule - - FirewallRuleName - - The name of the new firewall rule. - - String - - - StartIpAddress - - Start value of the IP address range. - - String - - - EndIpAddress - - End value of the IP address range. - - String - - - ServerName - - The name of the Azure SQL Server where the new firewall rule is created. Specify only the server name, and not the fully qualified DNS name. - - String - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server this firewall rule will be created for. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - New-AzureSqlServerFirewallRule - - AllowAllAzureIPs - - Allows other Azure services to connect to the server. This is a special firewall rule that allows all Azure IPs to access the server. - - SwitchParameter - - - ServerName - - The name of the Azure SQL Server where the new firewall rule is created. Specify only the server name, and not the fully qualified DNS name. - - String - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server this firewall rule will be created for. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - FirewallRuleName - - The name of the new firewall rule. - - String - - String - - - none - - - StartIpAddress - - Start value of the IP address range. - - String - - String - - - none - - - EndIpAddress - - End value of the IP address range. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server where the new firewall rule is created. Specify only the server name, and not the fully qualified DNS name. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server this firewall rule will be created for. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - AllowAllAzureIPs - - Allows other Azure services to connect to the server. This is a special firewall rule that allows all Azure IPs to access the server. - - SwitchParameter - - SwitchParameter - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>New-AzureSqlServerFirewallRule -ResourceGroupName "resourcegroup1" -ServerName "server1" -FirewallRuleName "rule1" -StartIpAddress "192.168.0.198" -EndIpAddress "192.168.0.199" - - The following example creates a new firewall rule. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlServerFirewallRule - - - - Remove-AzureSqlServerFirewallRule - - - - Set-AzureSqlServerFirewallRule - - - - - - - - Remove-AzureSqlDatabase - - Deletes an Azure SQL Database. - - - - - Remove - AzureSqlDatabase - - - - The Remove-AzureSqlDatabase cmdlet deletes an Azure SQL Database. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlDatabase - - DatabaseName - - The name of the Azure SQL Database to remove. - - String - - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - - ServerName - - The name of the Azure SQL Server the database is in. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server that contains the Azure SQL Database to remove. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - DatabaseName - - The name of the Azure SQL Database to remove. - - String - - String - - - none - - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the Azure SQL Server the database is in. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server that contains the Azure SQL Database to remove. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Remove-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" - - The following code example deletes an Azure SQL Database. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Remove-AzureSqlDatabaseAuditing - - Disables an Azure Sql database's auditing. - - - - - Remove - AzureSqlDatabaseAuditing - - - - The Remove-AzureSqlDatabaseAuditing cmdlet disables the auditing of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database.After the successful execution of the cmdlet, auditing of the database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlDatabaseAuditing - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Remove-AzureSqlDatabaseAuditing - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Remove-AzureSqlDatabaseDataMaskingRule - - Removes an Azure SQL Database's data masking rule. - - - - - Remove - AzureSqlDatabaseDataMaskingRule - - - - The Remove-AzureSqlDatabaseDataMaskingRule cmdlet removes a specific data masking rule. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and RuleId parameters to identify the rule to be removed. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlDatabaseDataMaskingRule - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - Force - - Allows the action to complete without prompting you for confirmation. - - SwitchParameter - - - RuleId - - The identifier for the data masking rule. - - String - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - Thhhe name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - Force - - Allows the action to complete without prompting you for confirmation. - - SwitchParameter - - SwitchParameter - - - none - - - RuleId - - The identifier for the data masking rule. - - String - - String - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - Thhhe name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters.Cmdlet Remark - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Remove-AzureSqlDatabaseDataMaskingRule - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Remove-AzureSqlDatabaseSecondary - - Terminates data replication between an Azure SQL Database and the specified secondary database. - - - - - Remove - AzureSqlDatabaseSecondary - - - - This cmdlet replaces the Stop-AzureSqlDatabaseCopy cmdlet. It will force terminates the geo-replication link. There is no replication synchronization prior to termination. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlDatabaseSecondary - - DatabaseName - - The name of the primary Azure SQL Database with the replication link to remove. - - String - - - PartnerResourceGroupName - - The name of the partner Azure Resource Group. - - String - - - PartnerServerName - - The name of the partner Azure SQL Server. - - String - - - ServerName - - The name of the Azure SQL Server with the replication link to remove. - - String - - - ResourceGroupName - - The name of the Azure Resource Group with the replication link to remove. - - String - - - Profile - - - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - DatabaseName - - The name of the primary Azure SQL Database with the replication link to remove. - - String - - String - - - - - - PartnerResourceGroupName - - The name of the partner Azure Resource Group. - - String - - String - - - - - - PartnerServerName - - The name of the partner Azure SQL Server. - - String - - String - - - - - - ServerName - - The name of the Azure SQL Server with the replication link to remove. - - String - - String - - - - - - ResourceGroupName - - The name of the Azure Resource Group with the replication link to remove. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - System.String - - - - - - - OutputType - - - - - System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - Remove-AzureSqlElasticPool - - Deletes an Azure SQL elastic database pool. - - - - - Remove - AzureSqlElasticPool - - - - The Remove-AzureSqlElasticPool cmdlet deletes an elastic pool. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlElasticPool - - ElasticPoolName - - The name of the elastic pool to delete. - - String - - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - - ServerName - - Name of the Azure SQL Server containing the elastic pool to remove. - - String - - - ResourceGroupName - - Name of resource group of the Azure SQL Server containing the elastic pool to remove. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - ElasticPoolName - - The name of the elastic pool to delete. - - String - - String - - - none - - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - Name of the Azure SQL Server containing the elastic pool to remove. - - String - - String - - - none - - - ResourceGroupName - - Name of resource group of the Azure SQL Server containing the elastic pool to remove. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>Remove-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - The following command deletes an elastic pool named "elasticpool1": - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlElasticPool - - - - Get-AzureSqlElasticPoolActivity - - - - Get-AzureSqlElasticPoolDatabase - - - - Get-AzureSqlDatabaseActivity - - - - New-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - Remove-AzureSqlServer - - Removes an Azure SQL Server. - - - - - Remove - AzureSqlServer - - - - The Remove-AzureSqlServer cmdlet removes an Azure SQL Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlServer - - ServerName - - The name of the Azure SQL Server to remove. - - String - - - Force - - Skip confirmation message and remove the Azure SQL Server. - - SwitchParameter - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server to remove. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - ServerName - - The name of the Azure SQL Server to remove. - - String - - String - - - none - - - Force - - Skip confirmation message and remove the Azure SQL Server. - - SwitchParameter - - SwitchParameter - - - none - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server to remove. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Remove-AzureSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" - - The following example removes "server1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Remove-AzureSqlServerActiveDirectoryAdministrator - - Removes an Azure Active Directory administrator for Azure SQL Server in the current subscription. - - - - - Remove - AzureSqlServerActiveDirectoryAdministrator - - - - The Remove-AzureSqlServerActiveDirectoryAdministrator cmdlet removes an Azure Active Directory administrator for Azure SQL Server in the current subscription. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlServerActiveDirectoryAdministrator - - Force - - Skip confirmation message and remove the Azure SQL Server. - - SwitchParameter - - - ServerName - - The name of the Azure SQL Server to remove. - - String - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server to remove. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - Force - - Skip confirmation message and remove the Azure SQL Server. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the Azure SQL Server to remove. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server to remove. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - Remove-AzureSqlServerAuditing - - Disables auditing of all the databases that rely on the auditing policy of the given database server. - - - - - Remove - AzureSqlServerAuditing - - - - The Remove-AzureSqlServerAuditing cmdlet disables auditing of all the databases that rely on the auditing policy of the given database server. To use the cmdlet, use the ResourceGroupName and ServerName parameters to identify the database server. After the successful execution of the cmdlet, auditing of the database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database server identifiers (i.e. ResourceGroupName and ServerName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlServerAuditing - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - ServerName - - The name of the server. - - String - - - ResourceGroupName - - The name of the resource group containing the server. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the server. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the server. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Remove-AzureSqlServerAuditing -Full - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Remove-AzureSqlServerFirewallRule - - Deletes a firewall rule from an Azure SQL Database Server. - - - - - Remove - AzureSqlServerFirewallRule - - - - The Remove-AzureSqlDatabaseServerFirewallRule cmdlet deletes a firewall rule from the specified SQL Database Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Remove-AzureSqlServerFirewallRule - - FirewallRuleName - - The SQL Database firewall rule name to be deleted. - - String - - - Force - - Allows the action to complete without prompting you for confirmation. - - SwitchParameter - - - ServerName - - The name of the server containing the firewall rule you want to delete. - - String - - - ResourceGroupName - - The name of the ARM resource group of the server containing the firewall rule you want to delete. - - String - - - Profile - - - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - FirewallRuleName - - The SQL Database firewall rule name to be deleted. - - String - - String - - - none - - - Force - - Allows the action to complete without prompting you for confirmation. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the server containing the firewall rule you want to delete. - - String - - String - - - none - - - ResourceGroupName - - The name of the ARM resource group of the server containing the firewall rule you want to delete. - - String - - String - - - none - - - Profile - - - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -New InputType - - - - - - - OutputType - - - - - -New OutputType - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Remove-AzureSqlServerFirewallRule –FirewallRuleName "rule1" –ResourceGroupName "resourcegroup1" –ServerName "server1" - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlServerFirewallRule - - - - New-AzureSqlServerFirewallRule - - - - Set-AzureSqlServerFirewallRule - - - - - - - - Resume-AzureSqlDatabase - - - - - - - Resume - AzureSqlDatabase - - - - - - - - Resume-AzureSqlDatabase - - ServerName - - - - String - - - DatabaseName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-AzureSqlDatabase - - Updates properties for an Azure SQL Database, or moves an existing database into an elastic pool. - - - - - Set - AzureSqlDatabase - - - - The Set-AzureSqlDatabase cmdlet sets properties for an Azure SQL Database. -Set the ElasticPoolName parameter to move a database into an elastic pool. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlDatabase - - DatabaseName - - The name of the Azure SQL Database to modify. - - String - - - MaxSizeBytes - - If specified, the new maximum size for the database in bytes. You can specify either this parameter or MaxSizeGB. See the MaxSizeGB parameter for acceptable values based on edition. - - Int64 - - - Edition - - If specified, the new edition for the Azure SQL Database. - - DatabaseEdition - - - RequestedServiceObjectiveName - - The name of the service objective to assign to the Azure SQL Database. - - String - - - ElasticPoolName - - The name of the Azure SQL elastic pool to put the database in. - - String - - - Tags - - The tags to associate with the Azure SQL Database. - - Dictionary`2[String] - - - ServerName - - Name of the Azure SQL Server that contains the Azure SQL Database. - - String - - - ResourceGroupName - - Name of resource group of the Azure SQL Server that contains the Azure SQL Database. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - DatabaseName - - The name of the Azure SQL Database to modify. - - String - - String - - - none - - - MaxSizeBytes - - If specified, the new maximum size for the database in bytes. You can specify either this parameter or MaxSizeGB. See the MaxSizeGB parameter for acceptable values based on edition. - - Int64 - - Int64 - - - none - - - Edition - - If specified, the new edition for the Azure SQL Database. - - DatabaseEdition - - DatabaseEdition - - - none - - - RequestedServiceObjectiveName - - The name of the service objective to assign to the Azure SQL Database. - - String - - String - - - none - - - ElasticPoolName - - The name of the Azure SQL elastic pool to put the database in. - - String - - String - - - none - - - Tags - - The tags to associate with the Azure SQL Database. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerName - - Name of the Azure SQL Server that contains the Azure SQL Database. - - String - - String - - - none - - - ResourceGroupName - - Name of resource group of the Azure SQL Server that contains the Azure SQL Database. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example1 -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –DatabaseName "database1" –ServerName "server1" –Edition "Standard" –RequestedServiceObjectiveName "S2" - - The following command updates a database named "database1" to a Standard S2 database. - - - - - - - - - - - - - - -------------------------- Example2 -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –DatabaseName "database1" –ServerName "server1" –ElasticPoolName "elasticpool1" - - The following command adds a database named "database1" to the elastic pool named "elasticpool1". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlDatabaseAuditingPolicy - - Sets an Azure SQL Database's auditing policy. - - - - - Set - AzureSqlDatabaseAuditingPolicy - - - - The Set-AzureSqlDatabaseAuditingPolicy cmdlet changes the auditing policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, the StorageAccountName parameter to specify the storage account to be used for the audit logs and the EventType parameter to define which event types to audit. After the successful execution of the cmdlet, auditing of the database is enabled. These settings override the server default auditing policy. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlDatabaseAuditingPolicy - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - EventType - - Specifies the event types to audit. Valid values are: DataAccess, DataChanges, SchemaChanges, SecurityExcceptions, RevokePermissions, All, None. - It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. - - String[] - - - StorageAccountName - - Specifies the name of the storage account to be used when auditing the database. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. - - String - - - StorageKeyType - - Specifies which of the storage access keys to use (defaults to 'Primary'). Valid values are: Primary, Secondary. - - String - - - RetentionInDays - - - - Nullable`1[UInt32] - - - TableIdentifier - - - - String - - - ServerName - - The name of the server that contains the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group that contains the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - EventType - - Specifies the event types to audit. Valid values are: DataAccess, DataChanges, SchemaChanges, SecurityExcceptions, RevokePermissions, All, None. - It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. - - String[] - - String[] - - - none - - - StorageAccountName - - Specifies the name of the storage account to be used when auditing the database. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. - - String - - String - - - none - - - StorageKeyType - - Specifies which of the storage access keys to use (defaults to 'Primary'). Valid values are: Primary, Secondary. - - String - - String - - - none - - - RetentionInDays - - - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - - - - TableIdentifier - - - - String - - String - - - - - - ServerName - - The name of the server that contains the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Set-AzureSqlDatabaseAuditingPolicy -Full - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlDatabaseDataMaskingPolicy - - Sets an Azure SQL Database's data masking policy. - - - - - Set - AzureSqlDatabaseDataMaskingPolicy - - - - The Set-AzureSqlDatabaseDataMaskingPolicy cmdlet changes the auditing policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, the DataMaskingState parameter to specify whether data masking operations are enabled or disabled, the MaskingLevel parameter to define whether masking is done in standard or extended mode and the PrivilegedLogins parameter to specify which users are allowed to see the unmasked data. If the command succeeds and the PassThru switch is on, it returns an object describing the current data masking policy used as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlDatabaseDataMaskingPolicy - - PassThru - - Returns an object describing the data masking policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - PrivilegedLogins - - - - String - - - DataMaskingState - - Specifies whether data masking operation is enabled or disabled (defaults to 'Disabled'). Valid values are: Enabled, Disabled. - - String - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the data masking policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - PrivilegedLogins - - - - String - - String - - - none - - - DataMaskingState - - Specifies whether data masking operation is enabled or disabled (defaults to 'Disabled'). Valid values are: Enabled, Disabled. - - String - - String - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - MaskingLevel - - Specifies whether data masking operation is done in a standard or extended manner (defaults to 'Standard'). Valid values are: Standard, Extended. - - string - - string - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Set-AzureSqlDatabaseDataMaskingPolicy -Full - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlDatabaseDataMaskingRule - - Sets an Azure SQL Database's data masking rule. - - - - - Set - AzureSqlDatabaseDataMaskingRule - - - - The Set-SetAzureSqlDatabaseDataMaskingRule cmdlet is used to set the properties of an already exisiting data masking rule of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and Rule parameters to identify the rule. Use either the TableName and ColumnName or the AliasName to specify the target of the rule and the MaskingFunction parameter to define how the data is masked. If the command succeeds and the PassThru switch is on, it returns an object describing the data masking rule as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlDatabaseDataMaskingRule - - ColumnName - - The name of the column that is the target of this masking rule. - - String - - - TableName - - The name of the table in the database that the masked column is part of. - - String - - - SchemaName - - - - String - - - MaskingFunction - - Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. - - String - - - PrefixSize - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - - ReplacementString - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - String - - - SuffixSize - - When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - - NumberFrom - - When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. - - Nullable`1[Double] - - - NumberTo - - When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. - - Nullable`1[Double] - - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - RuleId - - The identifier for the data masking rule. - - String - - - ServerName - - The name of the server containing the database. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - ColumnName - - The name of the column that is the target of this masking rule. - - String - - String - - - none - - - TableName - - The name of the table in the database that the masked column is part of. - - String - - String - - - none - - - SchemaName - - - - String - - String - - - - - - MaskingFunction - - Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. - - String - - String - - - none - - - PrefixSize - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - none - - - ReplacementString - - When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - String - - String - - - none - - - SuffixSize - - When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - none - - - NumberFrom - - When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. - - Nullable`1[Double] - - Nullable`1[Double] - - - none - - - NumberTo - - When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. - - Nullable`1[Double] - - Nullable`1[Double] - - - none - - - PassThru - - Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - RuleId - - The identifier for the data masking rule. - - String - - String - - - none - - - ServerName - - The name of the server containing the database. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the database. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - AliasName - - The name of the alias that is the target of this masking rule. - - string - - string - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Set-AzureSqlDatabaseDataMaskingRule -Full - - Code Example Description - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlDatabaseTransparentDataEncryption - - Updates properties for Transparent Data Encryption for an Azure SQL Database. - - - - - Set - AzureSqlDatabaseTransparentDataEncryption - - - - The Set-SetAzureSqlDatabaseTransparentDataEncryption cmdlet is used to set the Transparent Data Encryption (TDE) property of an already existing Azure SQL database. Use the ResourceGroupName, ServerName, and DatabaseName. Use "Enabled" or "Disabled" to specify the target state of TDE for an Azure SQL Database. If the command succeeds and the PassThru switch is on, it returns an object describing the TDE state as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName). - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlDatabaseTransparentDataEncryption - - State - - The state to set Transparent Data Encryption to for the Azure SQL Database. - - TransparentDataEncryptionStateType - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - State - - The state to set Transparent Data Encryption to for the Azure SQL Database. - - TransparentDataEncryptionStateType - - TransparentDataEncryptionStateType - - - - - - ServerName - - The name of the Azure SQL Database Server the database is in. - - String - - String - - - - - - DatabaseName - - The name of the Azure SQL Database to retrieve. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group of the server containing the database to retrieve. - - String - - String - - - - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - System.String - - - - - - - OutputType - - - - - Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -State Enabled - - The following command updates the transparent data encryption state for the Azure SQL database named "database1". - - - PS C:\>Set-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -State Enabled + ResourceGroupName : resourcegroup1 + ServerName : server1 + DatabaseName : database1 + Status : Encrypting + PercentComplete : 3.662109 + + + + + + + + + + + + + + Transparent Data Encryption with Azure SQL Database + https://msdn.microsoft.com/library/dn948096 + + + + + + + Get-AzureSqlElasticPool + + Gets the details for an Azure SQL elastic database pool. + + + + + Get + AzureSqlElasticPool + + + + Gets all elastic pools and their property values, or pass the name of an existing elastic pool and return only the property values for that pool. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlElasticPool + + ElasticPoolName + + The name of the Azure SQL elastic pool to retrieve. + + String + + + ServerName + + The name of the Azure SQL Server containing the elastic pool. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the elastic pool. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + ElasticPoolName + + The name of the Azure SQL elastic pool to retrieve. + + String + + String + + + none + + + ServerName + + The name of the Azure SQL Server containing the elastic pool. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group of the server containing the elastic pool. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" + + This example returns all elastic pools on "server1". + + + + + + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + This example returns the elastic pool named "elasticpool1" on "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + New-AzureSqlElasticPool + + + + Remove-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + Get-AzureSqlElasticPoolActivity + + Gets the status of elastic database pool operations. + + + + + Get + AzureSqlElasticPoolActivity + + + + Provides the status of elastic pool operations including pool creation and configuration updates. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlElasticPoolActivity + + ServerName + + The name of the Azure SQL Server that the elastic pool is in. + + String + + + ElasticPoolName + + The name of the Azure SQL elastic pool. + + String + + + ResourceGroupName + + The name of the resource group containing the elastic pool. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServerName + + The name of the Azure SQL Server that the elastic pool is in. + + String + + String + + + none + + + ElasticPoolName + + The name of the Azure SQL elastic pool. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the elastic pool. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlElasticPoolActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following example returns the operation status for the elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlElasticPool + + + + Get-AzureSqlElasticPoolDatabase + + + + Get-AzureSqlDatabaseActivity + + + + New-AzureSqlElasticPool + + + + Remove-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + Get-AzureSqlElasticPoolDatabase + + Returns one or all elastic databases in an elastic database pool. + + + + + Get + AzureSqlElasticPoolDatabase + + + + Returns all elastic databases in an elastic pool and their property values, or provide the name of an elastic database and return only the property values for that database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlElasticPoolDatabase + + ElasticPoolName + + The name of the Azure SQL elastic pool to retrieve. + + String + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + + ServerName + + The name of the Azure SQL Server that the elastic pool is in. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the elastic pool. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ElasticPoolName + + The name of the Azure SQL elastic pool to retrieve. + + String + + String + + + none + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + String + + + none + + + ServerName + + The name of the Azure SQL Server that the elastic pool is in. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group of the server containing the elastic pool. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlElasticPoolDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + This example returns all databases in an elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlElasticPool + + + + Get-AzureSqlElasticPoolActivity + + + + Get-AzureSqlDatabaseActivity + + + + New-AzureSqlElasticPool + + + + Remove-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + Get-AzureSqlElasticPoolRecommendation + + + + + + + Get + AzureSqlElasticPoolRecommendation + + + + + + + + Get-AzureSqlElasticPoolRecommendation + + ElasticPoolRecommendation + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ElasticPoolRecommendation + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureSqlElasticPoolRecommendationDatabase + + + + + + + Get + AzureSqlElasticPoolRecommendationDatabase + + + + + + + + Get-AzureSqlElasticPoolRecommendationDatabase + + ElasticPoolRecommendation + + + + String + + + DatabaseName + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ElasticPoolRecommendation + + + + String + + String + + + + + + DatabaseName + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureSqlElasticPoolRecommendationMetrics + + + + + + + Get + AzureSqlElasticPoolRecommendationMetrics + + + + + + + + Get-AzureSqlElasticPoolRecommendationMetrics + + ElasticPoolRecommendation + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ElasticPoolRecommendation + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureSqlServer + + Returns information about one or more Azure SQL Database Servers. + + + + + Get + AzureSqlServer + + + + If a SQL Database Server name is specified in the ServerName parameter, the cmdlet returns information about the specific SQL Database Server. Otherwise, it returns information about all the SQL Database Servers. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlServer + + ServerName + + The name of the Azure SQL Server to retrieve. + + String + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServerName + + The name of the Azure SQL Server to retrieve. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Use this cmdlet to retrieve an Azure SQL Database Server named "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureSqlServerFirewallRule + + Returns firewall rules for an Azure SQL Server. + + + + + Get + AzureSqlServerFirewallRule + + + + If a firewall rule name is specified in the FirewallRuleName parameter, the cmdlet returns information about the specific firewall rule. Otherwise, information about all the firewall rules in the specified Azure SQL Server are listed. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlServerFirewallRule + + FirewallRuleName + + The name of the firewall rule to retrieve. If not specified, information about all the firewall rules in the specified Azure SQL Server is listed. + + String + + + ServerName + + The name of the Azure SQL Server for which you want to retrieve the firewall rules. Specify only the server name, and not the fully qualified DNS name. + + String + + + ResourceGroupName + + The name of the resource group of the Azure SQL Server containing the firewall rules to retrieve. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + FirewallRuleName + + The name of the firewall rule to retrieve. If not specified, information about all the firewall rules in the specified Azure SQL Server is listed. + + String + + String + + + none + + + ServerName + + The name of the Azure SQL Server for which you want to retrieve the firewall rules. Specify only the server name, and not the fully qualified DNS name. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group of the Azure SQL Server containing the firewall rules to retrieve. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlServerFirewallRule –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureSqlServerServiceObjective + + Returns a list of service objectives for an Azure SQL Server. + + + + + Get + AzureSqlServerServiceObjective + + + + Returns available service objectives for an Azure SQL Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlServerServiceObjective + + ServiceObjectiveName + + The Azure SQL Database service objective name. + + String + + + ServerName + + The name of the Azure SQL Server. + + String + + + DatabaseName + + The name of the Azure SQL Database. + + String + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServiceObjectiveName + + The Azure SQL Database service objective name. + + String + + String + + + none + + + ServerName + + The name of the Azure SQL Server. + + String + + String + + + none + + + DatabaseName + + The name of the Azure SQL Database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlServerServiceObjective –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + The following example returns the service objective. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureSqlServerUpgrade + + + + + + + Get + AzureSqlServerUpgrade + + + + + + + + Get-AzureSqlServerUpgrade + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New-AzureSqlDatabase + + Creates a new Azure SQL Database, or new elastic database. + + + + + New + AzureSqlDatabase + + + + + The New-AzureSqlDatabase cmdlet creates a new Azure SQL Database. + Create an elastic database by setting the ElasticPoolName to an existing elastic pool. + + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlDatabase + + DatabaseName + + The name of the Azure SQL Database to create. + + String + + + CollationName + + The name of the Azure SQL Database collation to use. + + String + + + CatalogCollation + + The name of the Azure SQL Database catalog collation to use. + + String + + + MaxSizeBytes + + The maximum size of the Azure SQL Database in bytes. + + Int64 + + + Edition + + The edition to assign to the Azure SQL Database. + + DatabaseEdition + + + RequestedServiceObjectiveName + + The name of the service objective to assign to the Azure SQL Database. + + String + + + ElasticPoolName + + The name of the elastic pool to put the database in. + + String + + + Tags + + The tags to associate to the Azure SQL Database Server. + + Dictionary`2[String] + + + ServerName + + Name of the Azure SQL Server to create the database in. + + String + + + ResourceGroupName + + Name of resource group that the Azure SQL Server is in. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to create. + + String + + String + + + none + + + CollationName + + The name of the Azure SQL Database collation to use. + + String + + String + + + none + + + CatalogCollation + + The name of the Azure SQL Database catalog collation to use. + + String + + String + + + none + + + MaxSizeBytes + + The maximum size of the Azure SQL Database in bytes. + + Int64 + + Int64 + + + none + + + Edition + + The edition to assign to the Azure SQL Database. + + DatabaseEdition + + DatabaseEdition + + + none + + + RequestedServiceObjectiveName + + The name of the service objective to assign to the Azure SQL Database. + + String + + String + + + none + + + ElasticPoolName + + The name of the elastic pool to put the database in. + + String + + String + + + none + + + Tags + + The tags to associate to the Azure SQL Database Server. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerName + + Name of the Azure SQL Server to create the database in. + + String + + String + + + none + + + ResourceGroupName + + Name of resource group that the Azure SQL Server is in. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + PS C:\>New-AzureSqlDatabase –ResourceGroupName "resourceGroup1" –ServerName "server1" –DatabaseName "db1" + + The following command creates a database named "db1" in server "Server1". + + + + + + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + PS C:\>New-AzureSqlDatabase -ResourceGroupName "resourcegroup1" -ServerName "server1" -DatabaseName "database1" -ElasticPoolName "elasticpool1" + + The following command creates a database named "database1" in the elastic pool named "elasticpool1" in server "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + New-AzureSqlServer + + + + New-AzureSqlElasticPool + + + + + + + + New-AzureSqlDatabaseDataMaskingRule + + Creates a new Azure SQL Database's data masking rule. + + + + + New + AzureSqlDatabaseDataMaskingRule + + + + The Set-SetAzureSqlDatabaseDataMaskingRule cmdlet is used to set the properties of an already exisiting data masking rule of an Azure SQL database. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and Rule parameters to identify the rule. Use either the TableName and ColumnName or the AliasName to specify thetarget of the rule and the MaskingFunction parameter to define how the data is masked. If the command succeeds and the PassThru switch is on, it returns an object describing the data masking rule as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlDatabaseDataMaskingRule + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + + TableName + + The name of the table in the database to apply the rule. + + String + + + ColumnName + + The name of the column that is the target of this masking rule. + + String + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + RuleId + + The identifier for this data masking rule. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + New-AzureSqlDatabaseDataMaskingRule + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + + AliasName + + The name of the alias that is the target of this masking rule. + + String + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + RuleId + + The identifier for this data masking rule. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + String + + + none + + + TableName + + The name of the table in the database to apply the rule. + + String + + String + + + none + + + ColumnName + + The name of the column that is the target of this masking rule. + + String + + String + + + none + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + none + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + String + + + none + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + none + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + Nullable`1[Double] + + + none + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + Nullable`1[Double] + + + none + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + RuleId + + The identifier for this data masking rule. + + String + + String + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + AliasName + + The name of the alias that is the target of this masking rule. + + String + + String + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help New-AzureSqlDatabaseDataMaskingRule + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + New-AzureSqlElasticPool + + Creates a new Azure SQL Database elastic database pool. + + + + + New + AzureSqlElasticPool + + + + This cmdlet creates a new elastic database pool. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlElasticPool + + ElasticPoolName + + The name of the Azure SQL elastic pool to create. + + String + + + Edition + + + The edition to assign to the Azure SQL elastic pool. + For the current preview, the edition must be "Standard". + + + DatabaseEdition + + + Dtu + + The total shared DTU for the Azure SQL elastic pool. + + Int32 + + + StorageMB + + The storage limit for the Azure SQL elastic pool in MB. + + Int64 + + + DatabaseDtuMin + + The minimum DTU that all Azure SQL Databases in the pool are guaranteed to have available. + + Int32 + + + DatabaseDtuMax + + The maximum DTU that any one Azure SQL Database in the pool can consume. + + Int32 + + + Tags + + The tags to associate with the Azure SQL elastic pool. + + Dictionary`2[String] + + + ServerName + + Name of the Azure SQL Server to create the elastic pool in. + + String + + + ResourceGroupName + + Name of resource group containing the Azure SQL Server to create the elastic pool in. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ElasticPoolName + + The name of the Azure SQL elastic pool to create. + + String + + String + + + none + + + Edition + + + The edition to assign to the Azure SQL elastic pool. + For the current preview, the edition must be "Standard". + + + DatabaseEdition + + DatabaseEdition + + + none + + + Dtu + + The total shared DTU for the Azure SQL elastic pool. + + Int32 + + Int32 + + + none + + + StorageMB + + The storage limit for the Azure SQL elastic pool in MB. + + Int64 + + Int64 + + + none + + + DatabaseDtuMin + + The minimum DTU that all Azure SQL Databases in the pool are guaranteed to have available. + + Int32 + + Int32 + + + none + + + DatabaseDtuMax + + The maximum DTU that any one Azure SQL Database in the pool can consume. + + Int32 + + Int32 + + + none + + + Tags + + The tags to associate with the Azure SQL elastic pool. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerName + + Name of the Azure SQL Server to create the elastic pool in. + + String + + String + + + none + + + ResourceGroupName + + Name of resource group containing the Azure SQL Server to create the elastic pool in. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>New-AzureSqlElasticPool -ResourceGroupName "resourcegroup1" -ServerName "server1" -ElasticPoolName "elasticpool1" -Edition "Standard" -Dtu 400 -DatabaseDtuMin 10 -DatabaseDtuMax 100 + + The following command creates an elastic pool in the Standard service tier named "elasticpool1" in the server named "server1" within an Azure resource group named "resourcegroup1", and specifies DTU property values for the pool and it’s databases. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlElasticPool + + + + Get-AzureSqlElasticPoolActivity + + + + Get-AzureSqlElasticPoolDatabase + + + + Get-AzureSqlDatabaseActivity + + + + Remove-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + New-AzureSqlServer + + Creates a new Azure SQL Database server. + + + + + New + AzureSqlServer + + + + The New-AzureSqlDatabaseServer cmdlet creates a new Azure SQL server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlServer + + ServerName + + The name of the new Azure SQL Server to create. + + String + + + SqlAdminCredentials + + The SQL administrator credentials for the new server. + + PSCredential + + + Location + + The data center location where the Azure SQL Server will be created. + + String + + + Tags + + The tags to associate with the Azure SQL Server. + + Dictionary`2[String] + + + ServerVersion + + The version of the new Azure SQL Server. Valid values are 2.0, or 12.0. + Use 2.0 to create a V11 server, or 12.0 to create a V11 server. + + String + + + ResourceGroupName + + The name of the resource group to create the Azure SQL Server in. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ServerName + + The name of the new Azure SQL Server to create. + + String + + String + + + none + + + SqlAdminCredentials + + The SQL administrator credentials for the new server. + + PSCredential + + PSCredential + + + none + + + Location + + The data center location where the Azure SQL Server will be created. + + String + + String + + + none + + + Tags + + The tags to associate with the Azure SQL Server. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerVersion + + The version of the new Azure SQL Server. Valid values are 2.0, or 12.0. + Use 2.0 to create a V11 server, or 12.0 to create a V11 server. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group to create the Azure SQL Server in. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>New-AzureSqlServer -ResourceGroupName "resourcegroup1" -ServerName "server1" -Location "West US" -ServerVersion "12.0" + + This command creates a new Azure SQL V12 Server. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlServer + + + + Remove-AzureSqlServer + + + + Set-AzureSqlServer + + + + New-AzureSqlServerFirewallRule + + + + + + + + New-AzureSqlServerFirewallRule + + + + + + + New + AzureSqlServerFirewallRule + + + + + + + + New-AzureSqlServerFirewallRule + + FirewallRuleName + + + + String + + + StartIpAddress + + + + String + + + EndIpAddress + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + New-AzureSqlServerFirewallRule + + AllowAllAzureIPs + + + + SwitchParameter + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + FirewallRuleName + + + + String + + String + + + + + + StartIpAddress + + + + String + + String + + + + + + EndIpAddress + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + AllowAllAzureIPs + + + + SwitchParameter + + SwitchParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Remove-AzureSqlDatabase + + Deletes an Azure SQL Database. + + + + + Remove + AzureSqlDatabase + + + + The Remove-AzureSqlDatabase cmdlet deletes an Azure SQL Database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlDatabase + + DatabaseName + + The name of the Azure SQL Database to remove. + + String + + + Force + + Skip confirmation message for performing this action. + + SwitchParameter + + + ServerName + + The name of the Azure SQL Server the database is in. + + String + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server that contains the Azure SQL Database to remove. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + DatabaseName + + The name of the Azure SQL Database to remove. + + String + + String + + + none + + + Force + + Skip confirmation message for performing this action. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the Azure SQL Server the database is in. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server that contains the Azure SQL Database to remove. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Remove-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + The following code example deletes an Azure SQL Database. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureSqlDatabaseAuditing + + Disables an Azure Sql database's auditing. + + + + + Remove + AzureSqlDatabaseAuditing + + + + The Remove-AzureSqlDatabaseAuditing cmdlet disables the auditing of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database.After the successful execution of the cmdlet, auditing of the database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlDatabaseAuditing + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Remove-AzureSqlDatabaseAuditing + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureSqlDatabaseDataMaskingRule + + Removes an Azure SQL Database's data masking rule. + + + + + Remove + AzureSqlDatabaseDataMaskingRule + + + + The Remove-AzureSqlDatabaseDataMaskingRule cmdlet removes a specific data masking rule. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and RuleId parameters to identify the rule to be removed. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlDatabaseDataMaskingRule + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + Force + + Allows the action to complete without prompting you for confirmation. + + SwitchParameter + + + RuleId + + The identifier for the data masking rule. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + Thhhe name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + Force + + Allows the action to complete without prompting you for confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + RuleId + + The identifier for the data masking rule. + + String + + String + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + Thhhe name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters.Cmdlet Remark + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Remove-AzureSqlDatabaseDataMaskingRule + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureSqlServerAuditing + + Disables auditing of all the databases that rely on the auditing policy of the given database server. + + + + + Remove + AzureSqlDatabaseServerAuditing + + + + The Remove-AzureSqlServerAuditing cmdlet disables auditing of all the databases that rely on the auditing policy of the given database server. To use the cmdlet, use the ResourceGroupName and ServerName parameters to identify the database server. After the successful execution of the cmdlet, auditing of the database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database server identifiers (i.e. ResourceGroupName and ServerName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlServerAuditing + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + ServerName + + The name of the server. + + String + + + ResourceGroupName + + The name of the resource group containing the server. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the server. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the server. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Remove-AzureSqlServerAuditing -Full + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureSqlElasticPool + + Deletes an Azure SQL elastic database pool. + + + + + Remove + AzureSqlElasticPool + + + + The Remove-AzureSqlElasticPool cmdlet deletes an elastic pool. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlElasticPool + + ElasticPoolName + + The name of the elastic pool to delete. + + String + + + Force + + Skip confirmation message for performing this action. + + SwitchParameter + + + ServerName + + Name of the Azure SQL Server containing the elastic pool to remove. + + String + + + ResourceGroupName + + Name of resource group of the Azure SQL Server containing the elastic pool to remove. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + ElasticPoolName + + The name of the elastic pool to delete. + + String + + String + + + none + + + Force + + Skip confirmation message for performing this action. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + Name of the Azure SQL Server containing the elastic pool to remove. + + String + + String + + + none + + + ResourceGroupName + + Name of resource group of the Azure SQL Server containing the elastic pool to remove. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>Remove-AzureSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following command deletes an elastic pool named "elasticpool1": + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlElasticPool + + + + Get-AzureSqlElasticPoolActivity + + + + Get-AzureSqlElasticPoolDatabase + + + + Get-AzureSqlDatabaseActivity + + + + New-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + Remove-AzureSqlServer + + Removes an Azure SQL Server. + + + + + Remove + AzureSqlServer + + + + The Remove-AzureSqlServer cmdlet removes an Azure SQL Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlServer + + ServerName + + The name of the Azure SQL Server to remove. + + String + + + Force + + Skip confirmation message and remove the Azure SQL Server. + + SwitchParameter + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server to remove. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + ServerName + + The name of the Azure SQL Server to remove. + + String + + String + + + none + + + Force + + Skip confirmation message and remove the Azure SQL Server. + + SwitchParameter + + SwitchParameter + + + none + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server to remove. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Remove-AzureSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" + + The following example removes "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureSqlServerActiveDirectoryAdministrator + + Removes an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Remove + AzureSqlServerActiveDirectoryAdministrator + + + + The Remove-AzureSqlServerActiveDirectoryAdministrator cmdlet removes an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlServerActiveDirectoryAdministrator + + Force + + Skip confirmation message and remove the Azure SQL Server. + + SwitchParameter + + + ServerName + + The name of the Azure SQL Server to remove. + + String + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server to remove. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + Force + + Skip confirmation message and remove the Azure SQL Server. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the Azure SQL Server to remove. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server to remove. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + + System.String + + + + + + + + OutputType + + + + + + System.Object + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS c:\> Remove-AzureSqlServerActiveDirectoryAdministrator -ResourceGroupName "Group-23" –ServerName "aad-managed-demo" + + This command removes an Azure Active Directory administrator for Azure SQL Database Server "aad_managed_demo" associated with resource group "Group-23" + + + + Confirm + Are you sure you want to remove the Azure Sql Server Active Directory Administrator on server 'aadtest'? + [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y -ResourceGroupName ServerName DatabaseName State ------------------ ---------- ------------ ----- -resourcegroup1 server1 database1 Disabled - - - - - - - - - - - - - Transparent Data Encryption with Azure SQL Database - https://msdn.microsoft.com/library/dn948096 - - - - - - - Set-AzureSqlElasticPool - - Updates properties for an Azure SQL elastic database pool. - - - - - Set - AzureSqlElasticPool - - - - The only properties of an existing pool that can be changed are its Pool DTUs, DTU min per database, and DTU max per database. - -Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlElasticPool - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - - Edition - - The edition cannot be changed. - - DatabaseEdition - - - Dtu - - The total shared DTU for the Azure SQL elastic pool. - - Int32 - - - StorageMB - - The storage limit for the Azure SQL elastic pool in MB. - - Int64 - - - DatabaseDtuMin - - The minimum DTU all Azure SQL Databases in the pool are guaranteed. - - Int32 - - - DatabaseDtuMax - - The maximum DTU any one Azure SQL Database in the pool can consume. - - Int32 - - - Tags - - The tags to associate with the Azure SQL elastic pool. - - Dictionary`2[String] - - - ServerName - - The name of the Azure SQL Server containing the elastic pool. - - String - - - ResourceGroupName - - Name of resource group of the Azure SQL Server containing the elastic pool to update. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ElasticPoolName - - The name of the Azure SQL elastic pool. - - String - - String - - - none - - - Edition - - The edition cannot be changed. - - DatabaseEdition - - DatabaseEdition - - - none - - - Dtu - - The total shared DTU for the Azure SQL elastic pool. - - Int32 - - Int32 - - - none - - - StorageMB - - The storage limit for the Azure SQL elastic pool in MB. - - Int64 - - Int64 - - - none - - - DatabaseDtuMin - - The minimum DTU all Azure SQL Databases in the pool are guaranteed. - - Int32 - - Int32 - - - none - - - DatabaseDtuMax - - The maximum DTU any one Azure SQL Database in the pool can consume. - - Int32 - - Int32 - - - none - - - Tags - - The tags to associate with the Azure SQL elastic pool. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerName - - The name of the Azure SQL Server containing the elastic pool. - - String - - String - - - none - - - ResourceGroupName - - Name of resource group of the Azure SQL Server containing the elastic pool to update. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlDatabaseElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" –Dtu 1000 –DatabaseDtuMax 100 –DatabaseDtuMin 20 - - The following command sets an elastic pool’s DTUs to 1000, DTU max per database to 100, and the DTU min per database to 20. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlElasticPool - - - - Get-AzureSqlElasticPoolActivity - - - - Get-AzureSqlElasticPoolDatabase - - - - Get-AzureSqlDatabaseActivity - - - - New-AzureSqlElasticPool - - - - Set-AzureSqlElasticPool - - - - - - - - Set-AzureSqlServer - - Update the properties for an Azure SQL Server. - - - - - Set - AzureSqlServer - - - - The Set-AzureSqlServer cmdlet updates the properties of an Azure SQL Server. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlServer - - ServerName - - The name of the Azure SQL Server. - - String - - - SqlAdministratorPassword - - - - SecureString - - - Tags - - The tags to associate with the Azure SQL Server. - - Dictionary`2[String] - - - ServerVersion - - The Azure SQL Server version to change to. - - String - - - Force - - Skip the confirmation message and update the Azure SQL Server. - - SwitchParameter - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - ServerName - - The name of the Azure SQL Server. - - String - - String - - - none - - - SqlAdministratorPassword - - - - SecureString - - SecureString - - - - - - Tags - - The tags to associate with the Azure SQL Server. - - Dictionary`2[String] - - Dictionary`2[String] - - - none - - - ServerVersion - - The Azure SQL Server version to change to. - - String - - String - - - none - - - Force - - Skip the confirmation message and update the Azure SQL Server. - - SwitchParameter - - SwitchParameter - - - none - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - SqlAdminPassword - - The new SQL administrator password for the server. - - securestring - - securestring - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Set-AzureSqlServer - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlServerActiveDirectoryAdministrator - - Provisions an Azure Active Directory administrator for Azure SQL Server in the current subscription. - - - - - Set - AzureSqlServerActiveDirectoryAdministrator - - - - The Set-AzureSqlServerActiveDirectoryAdministrator cmdlet provisions an Azure Active Directory administrator for Azure SQL Server in the current subscription. - At any given time only one administrator can be provisioned - The following members of Azure Active Directory can be provisioned as an administrator for Azure SQL Server - Native members of Azure Active Directory - Federated members of Azure Active Directory - Imported members from other Azure Active Directories who are native or federated members - Active directory groups created as security groups - - Microsoft accounts (i.e. outllok.com, hotmail.com, live.com) or other guest accounts (i.e. gmail.com, yahoo.com) are not supported as administrators - For manageability purpose it is recommended to provision a dedicated Azure Active Directory group as an administrator - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlServerActiveDirectoryAdministrator - - DisplayName - - Diplay name of the Azure AD administrator (user or group) to be provisioned for SQL Server. - - String - - - ObjectId - - The unique object ID of the Azure AD administrator to be provisioned for SQL Server. Required if Azure AD <DisplayName> parameter is not unique. - - - Guid - - - ServerName - - The name of the Azure SQL Server that contains the Azure Active Directory administrator you want to change. - - String - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server with the Azure Active Directory administrator to change. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - DisplayName - - Diplay name of the Azure AD administrator (user or group) to be provisioned for SQL Server. - - String - - String - - - - - - ObjectId - - The unique object ID of the Azure AD administrator to be provisioned for SQL Server. Required if Azure AD <DisplayName> parameter is not unique. - - - Guid - - Guid - - - - - - ServerName - - The name of the Azure SQL Server that contains the Azure Active Directory administrator you want to change. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server with the Azure Active Directory administrator to change. - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - - - - - - - Set-AzureSqlServerAuditingPolicy - - Sets an Azure SQL Database server's auditing policy. - - - - - Set - AzureSqlServerAuditingPolicy - - - - The Set-AzureSqlServerAuditingPolicy cmdlet changes the auditing policy of an Azure SQL Database server. To use the cmdlet, use the ResourceGroupName and ServerName parameters to identify the database server, the StorageAccountName parameter to specify the storage account to be used for the audit logs and the EventType parameter to define which event types to audit. The auditing policy of a database server apply to all the databases in this server that are marked as using the server's auditing policy, as well as all newly created databases.If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the server's identifiers (i.e. ResourceGroupName and ServerName). - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlServerAuditingPolicy - - PassThru - - Returns an object describing the auditing policy as well as the database server's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdletsucceeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - EventType - - Specifies the event types to audit. Valid values are: Default, DataAccess, DataChanges, SchemaChanges, SecurityExceptions, RevokePermissions, All, None. - It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. - - String[] - - - StorageAccountName - - Specifies the name of the storage account to be used when auditing the databases that rely on this server's auditing policy. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. - - String - - - StorageKeyType - - The type of storage key. Valid values are: Primary, Secondary. - - String - - - RetentionInDays - - - - Nullable`1[UInt32] - - - TableIdentifier - - - - String - - - ServerName - - The name of the server. - - String - - - ResourceGroupName - - The name of the resource group that contains the server. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database server's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdletsucceeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - EventType - - Specifies the event types to audit. Valid values are: Default, DataAccess, DataChanges, SchemaChanges, SecurityExceptions, RevokePermissions, All, None. - It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. - - String[] - - String[] - - - none - - - StorageAccountName - - Specifies the name of the storage account to be used when auditing the databases that rely on this server's auditing policy. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. - - String - - String - - - none - - - StorageKeyType - - The type of storage key. Valid values are: Primary, Secondary. - - String - - String - - - none - - - RetentionInDays - - - - Nullable`1[UInt32] - - Nullable`1[UInt32] - - - - - - TableIdentifier - - - - String - - String - - - - - - ServerName - - The name of the server. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the server. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example 1 -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" - - This command provisions an Azure Active Directory administrator group “DBAs” for Azure SQL Database Server “aad-managed-demo” associated with resource group "Group-23" - - - -ResourceGroupName ServerName DisplayName ObjectId ------------------ ---------- ----------- -------- -Group-23 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b - - - - - - - - - - - -------------------------- Code Example 2 -------------------------- - - PS C:\> - - PS C:\>Get-Help Set-AzureSqlServerAuditingPolicy - - Code Example Description - - -ResourceGroupName ServerName DisplayName ObjectId ------------------ ---------- ----------- -------- -Group-23 aad-managed-demo Bob Johns 11E95548-B179-4FE1-9AF4-ACA49D13ABB9 - - - - - - - - - - - -------------------------- Code Example 3 -------------------------- - - PS C:\> - - PS c:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" –ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353b" - - This command provisions an Azure Active Directory administrator group “DBAs” for Azure SQL Database Server “aad-managed-demo” associated with resource group "Group-23". To enforce <DisplayName> uniqueness, an optional parameter <–ObjectId > "40b79501-b343-44ed-9ce7-da4c8cc7353b" representing Azure AD ObjectID for the DBAs group is included - - - PS c:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" –ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353b" + ResourceGroupName ServerName DisplayName ObjectId + ----------------- ---------- ----------- -------- + Group-233 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b + + + + + + + + + + + + + + Get-AzureSqlServerActiveDirectoryAdministrator + + + + Set-AzureSqlServerActiveDirectoryAdministrator + + + + + + + + Remove-AzureSqlServerFirewallRule + + Deletes a firewall rule from an Azure SQL Database Server. + + + + + Remove + AzureSqlServerFirewallRule + + + + The Remove-AzureSqlDatabaseServerFirewallRule cmdlet deletes a firewall rule from the specified SQL Database Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlServerFirewallRule + + FirewallRuleName + + The SQL Database firewall rule name to be deleted. + + String + + + Force + + Allows the action to complete without prompting you for confirmation. + + SwitchParameter + + + ServerName + + The name of the server containing the firewall rule you want to delete. + + String + + + ResourceGroupName + + The name of the ARM resource group of the server containing the firewall rule you want to delete. + + String + + + Profile + + + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + FirewallRuleName + + The SQL Database firewall rule name to be deleted. + + String + + String + + + none + + + Force + + Allows the action to complete without prompting you for confirmation. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the server containing the firewall rule you want to delete. + + String + + String + + + none + + + ResourceGroupName + + The name of the ARM resource group of the server containing the firewall rule you want to delete. + + String + + String + + + none + + + Profile + + + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + New InputType + + + + + + + OutputType + + + + + New OutputType + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Remove-AzureSqlServerFirewallRule –FirewallRuleName "rule1" –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlServerFirewallRule + + + + New-AzureSqlServerFirewallRule + + + + Set-AzureSqlServerFirewallRule + + + + + + + + Set-AzureSqlDatabase + + Updates properties for an Azure SQL Database, or moves an existing database into an elastic pool. + + + + + Set + AzureSqlDatabase + + + + + The Set-AzureSqlDatabase cmdlet sets properties for an Azure SQL Database. + Set the ElasticPoolName parameter to move a database into an elastic pool. + + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabase + + DatabaseName + + The name of the Azure SQL Database to modify. + + String + + + MaxSizeBytes + + If specified, the new maximum size for the database in bytes. You can specify either this parameter or MaxSizeGB. See the MaxSizeGB parameter for acceptable values based on edition. + + Int64 + + + Edition + + If specified, the new edition for the Azure SQL Database. + + DatabaseEdition + + + RequestedServiceObjectiveName + + The name of the service objective to assign to the Azure SQL Database. + + String + + + ElasticPoolName + + The name of the Azure SQL elastic pool to put the database in. + + String + + + Tags + + The tags to associate with the Azure SQL Database. + + Dictionary`2[String] + + + ServerName + + Name of the Azure SQL Server that contains the Azure SQL Database. + + String + + + ResourceGroupName + + Name of resource group of the Azure SQL Server that contains the Azure SQL Database. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to modify. + + String + + String + + + none + + + MaxSizeBytes + + If specified, the new maximum size for the database in bytes. You can specify either this parameter or MaxSizeGB. See the MaxSizeGB parameter for acceptable values based on edition. + + Int64 + + Int64 + + + none + + + Edition + + If specified, the new edition for the Azure SQL Database. + + DatabaseEdition + + DatabaseEdition + + + none + + + RequestedServiceObjectiveName + + The name of the service objective to assign to the Azure SQL Database. + + String + + String + + + none + + + ElasticPoolName + + The name of the Azure SQL elastic pool to put the database in. + + String + + String + + + none + + + Tags + + The tags to associate with the Azure SQL Database. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerName + + Name of the Azure SQL Server that contains the Azure SQL Database. + + String + + String + + + none + + + ResourceGroupName + + Name of resource group of the Azure SQL Server that contains the Azure SQL Database. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example1 -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –DatabaseName "database1" –ServerName "server1" –Edition "Standard" –RequestedServiceObjectiveName "S2" + + The following command updates a database named "database1" to a Standard S2 database. + + + + + + + + + + + + + + -------------------------- Example2 -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlDatabase –ResourceGroupName "resourcegroup1" –DatabaseName "database1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following command adds a database named "database1" to the elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlDatabaseAuditingPolicy + + Sets an Azure SQL Database's auditing policy. + + + + + Set + AzureSqlDatabaseAuditingPolicy + + + + The Set-AzureSqlDatabaseAuditingPolicy cmdlet changes the auditing policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, the StorageAccountName parameter to specify the storage account to be used for the audit logs and the EventType parameter to define which event types to audit. After the successful execution of the cmdlet, auditing of the database is enabled. These settings override the server default auditing policy. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabaseAuditingPolicy + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + EventType + + Specifies the event types to audit. Valid values are: DataAccess, DataChanges, SchemaChanges, SecurityExcceptions, RevokePermissions, All, None. + It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. + + String[] + + + StorageAccountName + + Specifies the name of the storage account to be used when auditing the database. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. + + String + + + StorageKeyType + + Specifies which of the storage access keys to use (defaults to 'Primary'). Valid values are: Primary, Secondary. + + String + + + RetentionInDays + + + + Nullable`1[UInt32] + + + TableIdentifier + + + + String + + + ServerName + + The name of the server that contains the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group that contains the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + EventType + + Specifies the event types to audit. Valid values are: DataAccess, DataChanges, SchemaChanges, SecurityExcceptions, RevokePermissions, All, None. + It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. + + String[] + + String[] + + + none + + + StorageAccountName + + Specifies the name of the storage account to be used when auditing the database. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. + + String + + String + + + none + + + StorageKeyType + + Specifies which of the storage access keys to use (defaults to 'Primary'). Valid values are: Primary, Secondary. + + String + + String + + + none + + + RetentionInDays + + + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + + + + TableIdentifier + + + + String + + String + + + + + + ServerName + + The name of the server that contains the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group that contains the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Set-AzureSqlDatabaseAuditingPolicy -Full + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlDatabaseDataMaskingPolicy + + Sets an Azure SQL Database's data masking policy. + + + + + Set + AzureSqlDatabaseDataMaskingPolicy + + + + The Set-AzureSqlDatabaseDataMaskingPolicy cmdlet changes the auditing policy of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database, the DataMaskingState parameter to specify whether data masking operations are enabled or disabled, the MaskingLevel parameter to define whether masking is done in standard or extended mode and the PrivilegedLogins parameter to specify which users are allowed to see the unmasked data. If the command succeeds and the PassThru switch is on, it returns an object describing the current data masking policy used as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabaseDataMaskingPolicy + + PassThru + + Returns an object describing the data masking policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + PrivilegedLogins + + + + String + + + DataMaskingState + + Specifies whether data masking operation is enabled or disabled (defaults to 'Disabled'). Valid values are: Enabled, Disabled. + + String + + + MaskingLevel + + Specifies whether data masking operation is done in a standard or extended manner (defaults to 'Standard'). Valid values are: Standard, Extended. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the data masking policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + PrivilegedLogins + + + + String + + String + + + none + + + DataMaskingState + + Specifies whether data masking operation is enabled or disabled (defaults to 'Disabled'). Valid values are: Enabled, Disabled. + + String + + String + + + none + + + MaskingLevel + + Specifies whether data masking operation is done in a standard or extended manner (defaults to 'Standard'). Valid values are: Standard, Extended. + + String + + String + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Set-AzureSqlDatabaseDataMaskingPolicy -Full + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlDatabaseDataMaskingRule + + Sets an Azure SQL Database's data masking rule. + + + + + Set + AzureSqlDatabaseDataMaskingRule + + + + The Set-SetAzureSqlDatabaseDataMaskingRule cmdlet is used to set the properties of an already exisiting data masking rule of an Azure SQL Database. To use the cmdlet, use the ResourceGroupName, ServerName, DatabaseName and Rule parameters to identify the rule. Use either the TableName and ColumnName or the AliasName to specify the target of the rule and the MaskingFunction parameter to define how the data is masked. If the command succeeds and the PassThru switch is on, it returns an object describing the data masking rule as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName) + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabaseDataMaskingRule + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + + TableName + + The name of the table in the database that the masked column is part of. + + String + + + ColumnName + + The name of the column that is the target of this masking rule. + + String + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + RuleId + + The identifier for the data masking rule. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + Set-AzureSqlDatabaseDataMaskingRule + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + + AliasName + + The name of the alias that is the target of this masking rule. + + String + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + RuleId + + The identifier for the data masking rule. + + String + + + ServerName + + The name of the server containing the database. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + MaskingFunction + + Specifies the masking function to be used (defaults to 'Default'). Valid values are: Default, NoMasking, Text, Number, SocialSecurityNumber, CreditCardNumber, Email. + + String + + String + + + none + + + TableName + + The name of the table in the database that the masked column is part of. + + String + + String + + + none + + + ColumnName + + The name of the column that is the target of this masking rule. + + String + + String + + + none + + + PrefixSize + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the beginning of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + none + + + ReplacementString + + When setting the MaskingFunction to be 'Text', the PrefixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + String + + String + + + none + + + SuffixSize + + When setting the MaskingFunction to be 'Text', the SuffixSize represents the number of characters in the end of the text that are not masked, defaults to 0. + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + none + + + NumberFrom + + When setting the MaskingFunction to be 'Text', the ReplacementString represents the text that acts as a mask. + + Nullable`1[Double] + + Nullable`1[Double] + + + none + + + NumberTo + + When setting the MaskingFunction to be 'Number', the NumberFrom represents the upper bound of the interval from which a random value is selected, defaults to 0. + + Nullable`1[Double] + + Nullable`1[Double] + + + none + + + PassThru + + Returns an object describing the data masking rule as well as the rule's identifiers (i.e. ResourceGroupName, ServerName, DatabaseName, RuleId and either TableName and ColumnName or the AliasName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + RuleId + + The identifier for the data masking rule. + + String + + String + + + none + + + ServerName + + The name of the server containing the database. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the database. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + AliasName + + The name of the alias that is the target of this masking rule. + + String + + String + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseDataMaskingRuleModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Set-AzureSqlDatabaseDataMaskingRule -Full + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlServerAuditingPolicy + + Sets an Azure SQL Database server's auditing policy. + + + + + Set + AzureSqlServerAuditingPolicy + + + + The Set-AzureSqlServerAuditingPolicy cmdlet changes the auditing policy of an Azure SQL Database server. To use the cmdlet, use the ResourceGroupName and ServerName parameters to identify the database server, the StorageAccountName parameter to specify the storage account to be used for the audit logs and the EventType parameter to define which event types to audit. The auditing policy of a database server apply to all the databases in this server that are marked as using the server's auditing policy, as well as all newly created databases.If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the server's identifiers (i.e. ResourceGroupName and ServerName). + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlServerAuditingPolicy + + PassThru + + Returns an object describing the auditing policy as well as the database server's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdletsucceeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + EventType + + Specifies the event types to audit. Valid values are: Default, DataAccess, DataChanges, SchemaChanges, SecurityExceptions, RevokePermissions, All, None. + It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. + + String[] + + + StorageAccountName + + Specifies the name of the storage account to be used when auditing the databases that rely on this server's auditing policy. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. + + String + + + StorageKeyType + + The type of storage key. Valid values are: Primary, Secondary. + + String + + + RetentionInDays + + + + Nullable`1[UInt32] + + + TableIdentifier + + + + String + + + ServerName + + The name of the server. + + String + + + ResourceGroupName + + The name of the resource group that contains the server. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database server's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdletsucceeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + EventType + + Specifies the event types to audit. Valid values are: Default, DataAccess, DataChanges, SchemaChanges, SecurityExceptions, RevokePermissions, All, None. + It is possible to specify several event types. You can specify 'All' to audit all of the event types or 'None' to specify that none of the events will be audited. Specifying 'All' or 'None' alongside other event types would result in failure to execute the cmdlet. + + String[] + + String[] + + + none + + + StorageAccountName + + Specifies the name of the storage account to be used when auditing the databases that rely on this server's auditing policy. Wildcards are not permitted.Note that this parameter is not required. When this parameter is not provided, the cmdlet would use the storage account that was defined previously as part of the auditing policy of the database. If this is the first time an auditing policy is defined for the database and this parameter is not provided, the cmdlet will fail. + + String + + String + + + none + + + StorageKeyType + + The type of storage key. Valid values are: Primary, Secondary. + + String + + String + + + none + + + RetentionInDays + + + + Nullable`1[UInt32] + + Nullable`1[UInt32] + + + + + + TableIdentifier + + + + String + + String + + + + + + ServerName + + The name of the server. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group that contains the server. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.ServerAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Set-AzureSqlServerAuditingPolicy + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlDatabaseTransparentDataEncryption + + Updates properties for Transparent Data Encryption for an Azure SQL Database. + + + + + Set + AzureSqlDatabaseTransparentDataEncryption + + + + The Set-SetAzureSqlDatabaseTransparentDataEncryption cmdlet is used to set the Transparent Data Encryption (TDE) property of an already existing Azure SQL database. Use the ResourceGroupName, ServerName, and DatabaseName. Use "Enabled" or "Disabled" to specify the target state of TDE for an Azure SQL Database. If the command succeeds and the PassThru switch is on, it returns an object describing the TDE state as well as the database identifiers (ResourceGroupName, ServerName and DatabaseName). + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabaseTransparentDataEncryption + + State + + The state to set Transparent Data Encryption to for the Azure SQL Database. + + TransparentDataEncryptionStateType + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + State + + The state to set Transparent Data Encryption to for the Azure SQL Database. + + TransparentDataEncryptionStateType + + TransparentDataEncryptionStateType + + + + + + ServerName + + The name of the Azure SQL Database Server the database is in. + + String + + String + + + + + + DatabaseName + + The name of the Azure SQL Database to retrieve. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group of the server containing the database to retrieve. + + String + + String + + + + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + + System.String + + + + + + + + OutputType + + + + + + Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Model.AzureSqlDatabaseTransparentDataEncryptionModel + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -State Enabled + + The following command updates the transparent data encryption state for the Azure SQL database named "database1". + + + + PS C:\>Set-AzureSqlDatabaseTransparentDataEncryption –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" -State Enabled -ResourceGroupName ServerName DisplayName ObjectId ------------------ ---------- ----------- -------- -Group-23 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Set-AzureSqlServerFirewallRule - - Updates an Azure SQL Server firewall rule. - - - - - Set - AzureSqlServerFirewallRule - - - - The Set-AzureSqlServerFirewallRule cmdlet updates an Azure SQL Server firewall rule. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Set-AzureSqlServerFirewallRule - - FirewallRuleName - - The name of the Azure SQL Server firewall rule to update. - - String - - - StartIpAddress - - The new starting IP address for the firewall rule. - - String - - - EndIpAddress - - The new ending IP address for this rule. - - String - - - ServerName - - The name of the Azure SQL Server that contains the firewall rule you want to change. - - String - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server with the firewall rule to change. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - FirewallRuleName - - The name of the Azure SQL Server firewall rule to update. - - String - - String - - - none - - - StartIpAddress - - The new starting IP address for the firewall rule. - - String - - String - - - none - - - EndIpAddress - - The new ending IP address for this rule. - - String - - String - - - none - - - ServerName - - The name of the Azure SQL Server that contains the firewall rule you want to change. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group that contains the Azure SQL Server with the firewall rule to change. - - String - - String - - - none - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - -System.Object - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Set-AzureSqlServerFirewallRule - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Get-AzureSqlServerFirewallRule - - - - New-AzureSqlServerFirewallRule - - - - Remove-AzureSqlServerFirewallRule - - - - - - - - Start-AzureSqlDatabaseExecuteIndexRecommendation - - - - - - - Start - AzureSqlDatabaseExecuteIndexRecommendation - - - - - - - - Start-AzureSqlDatabaseExecuteIndexRecommendation - - ServerName - - - - String - - - DatabaseName - - - - String - - - IndexRecommendationName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - IndexRecommendationName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Start-AzureSqlServerUpgrade - - Starts upgrading an Azure SQL V11 server to a V12 server. - - - - - Start - AzureSqlServerUpgrade - - - - The Start-AzureSqlServerUpgrade cmdlet starts the upgrade of a SQL V11 server to V12. -Monitor the progress of an upgrade with the Get-AzureSqlServerUpgrade cmdlet. -You can stop the upgrade process with the Stop-AzureSqlServerUpgrade cmdlet. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode -Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Start-AzureSqlServerUpgrade - - ServerVersion - - The target version to upgrade the Azure SQL Server. Currently the version must be "12.0". - - String - - - ScheduleUpgradeAfterUtcDateTime - - The earliest time to upgrade the Azure SQL Server as a DateTime object. The time must be specified in the ISO8601 format and in UTC time zone. - - Nullable`1[DateTime] - - - DatabaseCollection - - Collection of RecommendedDatabaseProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. - - RecommendedDatabaseProperties[] - - - ElasticPoolCollection - - Collection of UpgradeRecommendedElasticPoolProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. - - UpgradeRecommendedElasticPoolProperties[] - - - ServerName - - The name of the Azure SQL Server to upgrade. - - String - - - ResourceGroupName - - The name of resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - - - - ServerVersion - - The target version to upgrade the Azure SQL Server. Currently the version must be "12.0". - - String - - String - - - - - - ScheduleUpgradeAfterUtcDateTime - - The earliest time to upgrade the Azure SQL Server as a DateTime object. The time must be specified in the ISO8601 format and in UTC time zone. - - Nullable`1[DateTime] - - Nullable`1[DateTime] - - - - - - DatabaseCollection - - Collection of RecommendedDatabaseProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. - - RecommendedDatabaseProperties[] - - RecommendedDatabaseProperties[] - - - - - - ElasticPoolCollection - - Collection of UpgradeRecommendedElasticPoolProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. - - UpgradeRecommendedElasticPoolProperties[] - - UpgradeRecommendedElasticPoolProperties[] - - - - - - ServerName - - The name of the Azure SQL Server to upgrade. - - String - - String - - - - - - ResourceGroupName - - The name of resource group containing the Azure SQL Server. - - String - - String - - - - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - - - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example 1: Simple server upgrade -------------------------- - - PS C:\> - - Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 - - Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0 -The server "MySqlServer" must have version 2.0, otherwise the command will fail. - - - - - - - - - - - - - - -------------------------- Example 2: Upgrade server with schedule time and target database properties -------------------------- - - PS C:\> - - $scheduleTime = (Get-Date).AddMinutes(5).ToUniversalTime() -$databaseMap = New-Object -TypeName Microsoft.Azure.Management.Sql.Models.RecommendedDatabaseProperties -$databaseMap.Name = "testdb" -$databaseMap.TargetEdition = "Standard" -$databaseMap.TargetServiceLevelObjective = "S0" -Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 -ScheduleUpgradeAfterUtcDateTime $scheduleTime -DatabaseCollection @($databaseMap) - - Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0. -The server "MySqlServer" must have version 2.0 and a database named "testdb", otherwise the command will fail. - - - - - - - - - - - - - - -------------------------- Example 3: Upgrade server with schedule time and target elastic pool properties -------------------------- - - PS C:\> - - $scheduleTime = (Get-Date).AddMinutes(5).ToUniversalTime() -$elasticPool = New-Object -TypeName Microsoft.Azure.Management.Sql.Models.UpgradeRecommendedElasticPoolProperties -$elasticPool.DatabaseDtuMax = 100 -$elasticPool.DatabaseDtuMin = 50 -$elasticPool.Dtu = 800 -$elasticPool.Edition = "Standard" -$elasticPool.IncludeAllDatabases = $true -$elasticPool.Name = "my_ep" -$elasticPool.StorageMb = 800 * 1024 -Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 -ScheduleUpgradeAfterUtcDateTime $scheduleTime -ElasticPoolCollection @($elasticPool) - - Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0. -The server "MySqlServer" must have version 2.0, otherwise the command will fail. - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Stop-AzureSqlServerUpgrade - - - - Get-AzureSqlServerUpgrade - - - - - - - - Stop-AzureSqlDatabaseExecuteIndexRecommendation - - - - - - - Stop - AzureSqlDatabaseExecuteIndexRecommendation - - - - - - - - Stop-AzureSqlDatabaseExecuteIndexRecommendation - - ServerName - - - - String - - - DatabaseName - - - - String - - - IndexRecommendationName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - IndexRecommendationName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stop-AzureSqlServerUpgrade - - Stops an Azure SQL Server Upgrade. - - - - - Stop - AzureSqlServerUpgrade - - - - The Stop-AzureSqlServerUpgrade cmdlet stops the upgrade process. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Stop-AzureSqlServerUpgrade - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - - ServerName - - The name of the Azure SQL Server to stop upgrading. - - String - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - - Profile - - In-memory profile. - - AzureProfile - - - WhatIf - - - - SwitchParameter - - - Confirm - - - - SwitchParameter - - - - - - Force - - Skip confirmation message for performing this action. - - SwitchParameter - - SwitchParameter - - - - - - ServerName - - The name of the Azure SQL Server to stop upgrading. - - String - - String - - - - - - ResourceGroupName - - The name of the resource group containing the Azure SQL Server. - - String - - String - - - - - - Profile - - In-memory profile. - - AzureProfile - - AzureProfile - - - - - - WhatIf - - - - SwitchParameter - - SwitchParameter - - - - - - Confirm - - - - SwitchParameter - - SwitchParameter - - - - - - - - - InputType - - - - - -System.String - - - - - - - OutputType - - - - - - - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Example 1: Stop a server upgrade -------------------------- - - PS C:\> - - Stop-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer - - Stop the request to upgrade server "MySqlServer" in resource group "MyResourceGroup". - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Start-AzureSqlServerUpgrade - - - - Get-AzureSqlServerUpgrade - - - - - - - - Suspend-AzureSqlDatabase - - - - - - - Suspend - AzureSqlDatabase - - - - - - - - Suspend-AzureSqlDatabase - - ServerName - - - - String - - - DatabaseName - - - - String - - - ResourceGroupName - - - - String - - - Profile - - - - AzureProfile - - - - - - ServerName - - - - String - - String - - - - - - DatabaseName - - - - String - - String - - - - - - ResourceGroupName - - - - String - - String - - - - - - Profile - - - - AzureProfile - - AzureProfile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use-AzureSqlServerAuditingPolicy - - Marks an Azure SQL Database as using its server's auditing policy. - - - - - Use - AzureSqlServerAuditingPolicy - - - - The Use-AzureSqlServerAuditingPolicy cmdlet marks an Azure SQL Database as using its server's auditing policy. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. If no auditing policy was defined already for the database server, this cmdlet would fail. - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - Use-AzureSqlServerAuditingPolicy - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - - ServerName - - The name of the server. - - String - - - DatabaseName - - The name of the database. - - String - - - ResourceGroupName - - The name of the resource group containing the server. - - String - - - Profile - - In-memory profile - - AzureProfile - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - SwitchParameter - - SwitchParameter - - - none - - - ServerName - - The name of the server. - - String - - String - - - none - - - DatabaseName - - The name of the database. - - String - - String - - - none - - - ResourceGroupName - - The name of the resource group containing the server. - - String - - String - - - none - - - Profile - - In-memory profile - - AzureProfile - - AzureProfile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Get-Help Use-AzureSqlDatabaseServerAuditPolicy - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - - - - - Disable-AzureSqlDatabaseDirectAccess - - Disables the option to directly access an Azure SQL Database (without auditing). - - - - - - - - - - The Disable-AzureSqlDatabaseDirectAccess cmdlet disables the possibility of accessing an Azure SQL Database without auditing. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. After the successful execution of the cmdlet, directly accessing an Azure Sql Database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - switchparameter - - switchparameter - - - none - - - ServerName - - Specifies the name of the database server holding the database. - - string - - string - - - none - - - DatabaseName - - Specifies the name of the database. Wildcards are not permitted. - - string - - string - - - none - - - ResourceGroupName - - Specifies the name of the resource group of the database. - - string - - string - - - none - - - Profile - - In-memory profile. - - azureprofile - - azureprofile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Disable-AzureSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Enable-AzureSqlDatabaseDirectAccess - - - - - - - - Enable-AzureSqlDatabaseDirectAccess - - Enables the option to directly access an Azure SQL Database (with auditing). - - - - - - - - - - The Enable-AzureSqlDatabaseDirectAccess cmdlet enables the possibility of accessing an Azure SQL Database without auditing. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database.After the successful execution of the cmdlet, directly accessing to an Azure SQL Database is disabled. If the command succeeds and the PassThru switch is on, it returns an object describing the current auditing policy used as well as the database identifiers (i.e. ResourceGroupName, ServerName and DatabaseName). - Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: -Switch-AzureMode –Name AzureResourceManager - For more information, see Using Windows PowerShell with Resource Manager. - - - - - - PassThru - - Returns an object describing the auditing policy as well as the database's identifiers (i.e., ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. - - switchparameter - - switchparameter - - - none - - - ServerName - - The name of the server containing the database. - - string - - string - - - none - - - DatabaseName - - The name of the database. - - string - - string - - - none - - - ResourceGroupName - - Specifies the name of the resource group of the database. - - string - - string - - - none - - - Profile - - In-memory profile. - - azureprofile - - azureprofile - - - none - - - - - - InputType - - - - - -None - - - - - - - OutputType - - - - - -Microsoft.Azure.Commands.Sql.Security.Model.DatabaseSecureConnectionPolicyModel - - - - - - - - - This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. - - - - - -------------------------- Code Example -------------------------- - - PS C:\> - - PS C:\>Enable-AzureSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" - - - - - - - - - - - - - - - - - - Azure_SqlDatabase - - - - Disable-AzureSqlDatabaseDirectAccess - - - - - - - - Get-AzureSqlElasticPoolRecommendationDatabase - - - - - - - - - - - - - - - - - - ElasticPoolRecommendation - - - - string - - string - - - - - - DatabaseName - - - - string - - string - - - - - - ServerName - - - - string - - string - - - - - - ResourceGroupName - - - - string - - string - - - - - - Profile - - - - azureprofile - - azureprofile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-AzureSqlElasticPoolRecommendationMetrics - - - - - - - - - - - - - - - - - - ElasticPoolRecommendation - - - - string - - string - - - - - - ServerName - - - - string - - string - - - - - - ResourceGroupName - - - - string - - string - - - - - - Profile - - - - azureprofile - - azureprofile - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + ResourceGroupName ServerName DatabaseName State + ----------------- ---------- ------------ ----- + resourcegroup1 server1 database1 Disabled + + + + + + + + + + + + + + Transparent Data Encryption with Azure SQL Database + https://msdn.microsoft.com/library/dn948096 + + + + + + + Set-AzureSqlElasticPool + + Updates properties for an Azure SQL elastic database pool. + + + + + Set + AzureSqlElasticPool + + + + The only properties of an existing pool that can be changed are its Pool DTUs, DTU min per database, and DTU max per database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlElasticPool + + ElasticPoolName + + The name of the Azure SQL elastic pool. + + String + + + Edition + + The edition cannot be changed. + + DatabaseEdition + + + Dtu + + The total shared DTU for the Azure SQL elastic pool. + + Int32 + + + StorageMB + + The storage limit for the Azure SQL elastic pool in MB. + + Int64 + + + DatabaseDtuMin + + The minimum DTU all Azure SQL Databases in the pool are guaranteed. + + Int32 + + + DatabaseDtuMax + + The maximum DTU any one Azure SQL Database in the pool can consume. + + Int32 + + + Tags + + The tags to associate with the Azure SQL elastic pool. + + Dictionary`2[String] + + + ServerName + + The name of the Azure SQL Server containing the elastic pool. + + String + + + ResourceGroupName + + Name of resource group of the Azure SQL Server containing the elastic pool to update. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + ElasticPoolName + + The name of the Azure SQL elastic pool. + + String + + String + + + none + + + Edition + + The edition cannot be changed. + + DatabaseEdition + + DatabaseEdition + + + none + + + Dtu + + The total shared DTU for the Azure SQL elastic pool. + + Int32 + + Int32 + + + none + + + StorageMB + + The storage limit for the Azure SQL elastic pool in MB. + + Int64 + + Int64 + + + none + + + DatabaseDtuMin + + The minimum DTU all Azure SQL Databases in the pool are guaranteed. + + Int32 + + Int32 + + + none + + + DatabaseDtuMax + + The maximum DTU any one Azure SQL Database in the pool can consume. + + Int32 + + Int32 + + + none + + + Tags + + The tags to associate with the Azure SQL elastic pool. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerName + + The name of the Azure SQL Server containing the elastic pool. + + String + + String + + + none + + + ResourceGroupName + + Name of resource group of the Azure SQL Server containing the elastic pool to update. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlDatabaseElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" –Dtu 1000 –DatabaseDtuMax 100 –DatabaseDtuMin 20 + + The following command sets an elastic pool’s DTUs to 1000, DTU max per database to 100, and the DTU min per database to 20. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlElasticPool + + + + Get-AzureSqlElasticPoolActivity + + + + Get-AzureSqlElasticPoolDatabase + + + + Get-AzureSqlDatabaseActivity + + + + New-AzureSqlElasticPool + + + + Set-AzureSqlElasticPool + + + + + + + + Set-AzureSqlServer + + Update the properties for an Azure SQL Server. + + + + + Set + AzureSqlServer + + + + The Set-AzureSqlServer cmdlet updates the properties of an Azure SQL Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlServer + + ServerName + + The name of the Azure SQL Server. + + String + + + SqlAdminPassword + + The new SQL administrator password for the server. + + SecureString + + + Tags + + The tags to associate with the Azure SQL Server. + + Dictionary`2[String] + + + ServerVersion + + The Azure SQL Server version to change to. + + String + + + Force + + Skip the confirmation message and update the Azure SQL Server. + + SwitchParameter + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + ServerName + + The name of the Azure SQL Server. + + String + + String + + + none + + + SqlAdminPassword + + The new SQL administrator password for the server. + + SecureString + + SecureString + + + none + + + Tags + + The tags to associate with the Azure SQL Server. + + Dictionary`2[String] + + Dictionary`2[String] + + + none + + + ServerVersion + + The Azure SQL Server version to change to. + + String + + String + + + none + + + Force + + Skip the confirmation message and update the Azure SQL Server. + + SwitchParameter + + SwitchParameter + + + none + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server. + + String + + String + + + none + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + none + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Set-AzureSqlServer + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureSqlServerActiveDirectoryAdministrator + + Provisions an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Set + AzureSqlServerActiveDirectoryAdministrator + + + + The Set-AzureSqlServerActiveDirectoryAdministrator cmdlet provisions an Azure Active Directory administrator for Azure SQL Server in the current subscription. + At any given time only one administrator can be provisioned + The following members of Azure Active Directory can be provisioned as an administrator for Azure SQL Server + Native members of Azure Active Directory + Federated members of Azure Active Directory + Imported members from other Azure Active Directories who are native or federated members + Active directory groups created as security groups + + Microsoft accounts (i.e. outllok.com, hotmail.com, live.com) or other guest accounts (i.e. gmail.com, yahoo.com) are not supported as administrators + For manageability purpose it is recommended to provision a dedicated Azure Active Directory group as an administrator + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlServerActiveDirectoryAdministrator + + DisplayName + + Diplay name of the Azure AD administrator (user or group) to be provisioned for SQL Server. + + String + + + ObjectId + + + The unique object ID of the Azure AD administrator to be provisioned for SQL Server. Required if Azure AD <DisplayName> parameter is not unique. + + + Guid + + + ServerName + + The name of the Azure SQL Server that contains the Azure Active Directory administrator you want to change. + + String + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server with the Azure Active Directory administrator to change. + + String + + + Profile + + In-memory profile. + + AzureProfile + + + + + + DisplayName + + Diplay name of the Azure AD administrator (user or group) to be provisioned for SQL Server. + + String + + String + + + + + + ObjectId + + + The unique object ID of the Azure AD administrator to be provisioned for SQL Server. Required if Azure AD <DisplayName> parameter is not unique. + + + Guid + + Guid + + + + + + ServerName + + The name of the Azure SQL Server that contains the Azure Active Directory administrator you want to change. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server with the Azure Active Directory administrator to change. + + String + + String + + + + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + + System.String + + + + + + + + OutputType + + + + + + System.Object + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example 1 -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" + + This command provisions an Azure Active Directory administrator group “DBAs” for Azure SQL Database Server “aad-managed-demo” associated with resource group "Group-23" + + + + ResourceGroupName ServerName DisplayName ObjectId + ----------------- ---------- ----------- -------- + Group-23 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b + + + + + + + + + + + + -------------------------- Code Example 2 -------------------------- + + PS C:\> + + PS C:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "Bob Johns" + + This command provisions an Azure Active Directory user "Bob Johns" as an administrator for Azure SQL Database Server “aad-managed-demo” associated with resource group "Group-23" + + + + ResourceGroupName ServerName DisplayName ObjectId + ----------------- ---------- ----------- -------- + Group-23 aad-managed-demo Bob Johns 11E95548-B179-4FE1-9AF4-ACA49D13ABB9 + + + + + + + + + + + + -------------------------- Code Example 3 -------------------------- + + PS C:\> + + PS c:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" –ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353b" + + This command provisions an Azure Active Directory administrator group “DBAs” for Azure SQL Database Server “aad-managed-demo” associated with resource group "Group-23". To enforce <DisplayName> uniqueness, an optional parameter <–ObjectId > "40b79501-b343-44ed-9ce7-da4c8cc7353b" representing Azure AD ObjectID for the DBAs group is included + + + + PS c:\>Set-AzureSqlServerActiveDirectoryAdministrator –ResourceGroupName "Group-23" –ServerName "aad-managed-demo" –DisplayName "DBAs" –ObjectId "40b79501-b343-44ed-9ce7-da4c8cc7353b" + + ResourceGroupName ServerName DisplayName ObjectId + ----------------- ---------- ----------- -------- + Group-23 aad-managed-demo DBAs 40b79501-b343-44ed-9ce7-da4c8cc7353b + + + + + + + + + + + + + + Get-AzureSqlServerActiveDirectoryAdministrator + + + + Remove-AzureSqlServerActiveDirectoryAdministrator + + + + + + + + Start-AzureSqlServerUpgrade + + + + + + + Start + AzureSqlServerUpgrade + + + + + + + + Start-AzureSqlServerUpgrade + + ServerVersion + + + + String + + + ScheduleUpgradeAfterUtcDateTime + + + + Nullable`1[DateTime] + + + DatabaseCollection + + + + RecommendedDatabaseProperties[] + + + ElasticPoolCollection + + + + UpgradeRecommendedElasticPoolProperties[] + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ServerVersion + + + + String + + String + + + + + + ScheduleUpgradeAfterUtcDateTime + + + + Nullable`1[DateTime] + + Nullable`1[DateTime] + + + + + + DatabaseCollection + + + + RecommendedDatabaseProperties[] + + RecommendedDatabaseProperties[] + + + + + + ElasticPoolCollection + + + + UpgradeRecommendedElasticPoolProperties[] + + UpgradeRecommendedElasticPoolProperties[] + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stop-AzureSqlServerUpgrade + + + + + + + Stop + AzureSqlServerUpgrade + + + + + + + + Stop-AzureSqlServerUpgrade + + Force + + + + SwitchParameter + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + Force + + + + SwitchParameter + + SwitchParameter + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use-AzureSqlServerAuditingPolicy + + Marks an Azure SQL Database as using its server's auditing policy. + + + + + Use + AzureSqlServerAuditingPolicy + + + + The Use-AzureSqlServerAuditingPolicy cmdlet marks an Azure SQL Database as using its server's auditing policy. To use the cmdlet, use the ResourceGroupName, ServerName and DatabaseName parameters to identify the database. If no auditing policy was defined already for the database server, this cmdlet would fail. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Use-AzureSqlServerAuditingPolicy + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + + ServerName + + The name of the server. + + String + + + DatabaseName + + The name of the database. + + String + + + ResourceGroupName + + The name of the resource group containing the server. + + String + + + Profile + + In-memory profile + + AzureProfile + + + + + + PassThru + + Returns an object describing the auditing policy as well as the database's identifiers (i.e. ResourceGroupName, ServerName and DatabaseName) when the cmdlet succeeds. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + none + + + ServerName + + The name of the server. + + String + + String + + + none + + + DatabaseName + + The name of the database. + + String + + String + + + none + + + ResourceGroupName + + The name of the resource group containing the server. + + String + + String + + + none + + + Profile + + In-memory profile + + AzureProfile + + AzureProfile + + + none + + + + + + InputType + + + + + None + + + + + + + OutputType + + + + + Microsoft.Azure.Commands.Sql.Security.Model.DatabaseAuditingPolicyModel + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Code Example -------------------------- + + PS C:\> + + PS C:\>Get-Help Use-AzureSqlDatabaseServerAuditPolicy + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureSqlDatabaseActivity + + Gets the status of database operations in an elastic database pool. + + + + + + + + + + Gets the status of moving elastic databases in and out of an elastic pool. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + + + ElasticPoolName + + The name of the Azure SQL elastic pool. + + system.string + + system.string + + + none + + + Profile + + In-memory profile. + + microsoft.azure.common.authentication.models.azureprofile + + microsoft.azure.common.authentication.models.azureprofile + + + none + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server that the elastic pool is in. + + system.string + + system.string + + + none + + + ServerName + + The name of the Azure SQL Server that the elastic pool is in. + + system.string + + system.string + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>Get-AzureSqlDatabaseActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following example returns the operation status of all databases in an elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + New-AzureSqlServerFirewallRule + + Creates a new firewall rule for an Azure SQL Database server. + + + + + + + + + + The New-AzureSqlServerFirewallRule cmdlet creates a new firewall rule for the specified SQL Database server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + + + AllowAllAzureIPs + + Allows other Azure services to connect to the server. This is a special firewall rule that allows all Azure IPs to access the server. + + switchparameter + + switchparameter + + + none + + + EndIpAddress + + End value of the IP address range. + + system.string + + system.string + + + none + + + FirewallRuleName + + The name of the new firewall rule. + + system.string + + system.string + + + none + + + Profile + + In-memory profile. + + microsoft.azure.common.authentication.models.azureprofile + + microsoft.azure.common.authentication.models.azureprofile + + + none + + + ResourceGroupName + + The name of the resource group that contains the Azure SQL Server this firewall rule will be created for. + + system.string + + system.string + + + none + + + ServerName + + The name of the Azure SQL Server where the new firewall rule is created. Specify only the server name, and not the fully qualified DNS name. + + system.string + + system.string + + + none + + + StartIpAddress + + Start value of the IP address range. + + system.string + + system.string + + + none + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example -------------------------- + + PS C:\> + + PS C:\>New-AzureSqlServerFirewallRule -ResourceGroupName "resourcegroup1" -ServerName "server1" -FirewallRuleName "rule1" -StartIpAddress "192.168.0.198" -EndIpAddress "192.168.0.199" + + The following example creates a new firewall rule. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureSqlServerFirewallRule + + + + Remove-AzureSqlServerFirewallRule + + + + Set-AzureSqlServerFirewallRule + + + + + + + + Start-AzureSqlServerUpgrade + + Starts upgrading an Azure SQL V11 server to a V12 server. + + + + + Start + AzureSqlServerUpgrade + + + + + The Start-AzureSqlServerUpgrade cmdlet starts the upgrade of a SQL V11 server to V12. + Monitor the progress of an upgrade with the Get-AzureSqlServerUpgrade cmdlet. + You can stop the upgrade process with the Stop-AzureSqlServerUpgrade cmdlet. + + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode -Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + + + ServerVersion + + The target version to upgrade the Azure SQL Server. Currently the version must be "12.0". + + String + + String + + + + + + ScheduleUpgradeAfterUtcDateTime + + The earliest time to upgrade the Azure SQL Server as a DateTime object. The time must be specified in the ISO8601 format and in UTC time zone. + + Nullable`1[DateTime] + + Nullable`1[DateTime] + + + + + + DatabaseCollection + + Collection of RecommendedDatabaseProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. + + RecommendedDatabaseProperties[] + + RecommendedDatabaseProperties[] + + + + + + ElasticPoolCollection + + Collection of UpgradeRecommendedElasticPoolProperties objects to be used for the server upgrade. Check the examples on how to construct a sample object. + + UpgradeRecommendedElasticPoolProperties[] + + UpgradeRecommendedElasticPoolProperties[] + + + + + + ServerName + + The name of the Azure SQL Server to upgrade. + + String + + String + + + + + + ResourceGroupName + + The name of resource group containing the Azure SQL Server. + + String + + String + + + + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example 1: Simple server upgrade -------------------------- + + PS C:\> + + Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 + + + Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0 + The server "MySqlServer" must have version 2.0, otherwise the command will fail. + + + + + + + + + + + + + + + -------------------------- Example 2: Upgrade server with schedule time and target database properties -------------------------- + + PS C:\> + + + $scheduleTime = (Get-Date).AddMinutes(5).ToUniversalTime() + $databaseMap = New-Object -TypeName Microsoft.Azure.Management.Sql.Models.RecommendedDatabaseProperties + $databaseMap.Name = "testdb" + $databaseMap.TargetEdition = "Standard" + $databaseMap.TargetServiceLevelObjective = "S0" + Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 -ScheduleUpgradeAfterUtcDateTime $scheduleTime -DatabaseCollection @($databaseMap) + + + + Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0. + The server "MySqlServer" must have version 2.0 and a database named "testdb", otherwise the command will fail. + + + The earliest time to upgrade is 5 minutes after the cmdlet invocation. + After upgrade, the database "testdb" will have edition "Standard" and Service Level Objective "S0". + + + + + + + + + + + + + + + -------------------------- Example 3: Upgrade server with schedule time and target elastic pool properties -------------------------- + + PS C:\> + + + $scheduleTime = (Get-Date).AddMinutes(5).ToUniversalTime() + $elasticPool = New-Object -TypeName Microsoft.Azure.Management.Sql.Models.UpgradeRecommendedElasticPoolProperties + $elasticPool.DatabaseDtuMax = 100 + $elasticPool.DatabaseDtuMin = 50 + $elasticPool.Dtu = 800 + $elasticPool.Edition = "Standard" + $elasticPool.IncludeAllDatabases = $true + $elasticPool.Name = "my_ep" + $elasticPool.StorageMb = 800 * 1024 + Start-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer -ServerVersion 12.0 -ScheduleUpgradeAfterUtcDateTime $scheduleTime -ElasticPoolCollection @($elasticPool) + + + + Upgrade the existing server "MySqlServer" in resource group "MyResourceGroup" to version 12.0. + The server "MySqlServer" must have version 2.0, otherwise the command will fail. + + + The earliest time to upgrade is 5 minutes after the cmdlet invocation. + After upgrade, all databases will be in the elastic pool "my_ep". + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Stop-AzureSqlServerUpgrade + + + + Get-AzureSqlServerUpgrade + + + + + + + + Stop-AzureSqlServerUpgrade + + Stops an Azure SQL Server Upgrade. + + + + + Stop + AzureSqlServerUpgrade + + + + The Stop-AzureSqlServerUpgrade cmdlet stops the upgrade process. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + + + Force + + Skip confirmation message for performing this action. + + SwitchParameter + + SwitchParameter + + + + + + ServerName + + The name of the Azure SQL Server to stop upgrading. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + String + + + + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example 1: Stop a server upgrade -------------------------- + + PS C:\> + + Stop-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer + + Stop the request to upgrade server "MySqlServer" in resource group "MyResourceGroup". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Start-AzureSqlServerUpgrade + + + + Get-AzureSqlServerUpgrade + + + + + + + + Get-AzureSqlServerUpgrade + + Gets the status of an Azure SQL Server Upgrade. + + + + + Get + AzureSqlServerUpgrade + + + + The Get-AzureSqlServerUpgrade cmdlet returns the status of an Azure SQL Server Upgrade. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + + + ServerName + + The name of the Azure SQL Server to get upgrade status. + + String + + String + + + + + + ResourceGroupName + + The name of the resource group containing the Azure SQL Server. + + String + + String + + + + + + Profile + + In-memory profile. + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + + + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + -------------------------- Example 1: Get status of a server upgrade -------------------------- + + PS C:\> + + Get-AzureSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer | Format-List + + Get the status of an upgrade request from server "MySqlServer" in resource group "MyResourceGroup". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Start-AzureSqlServerUpgrade + + + + Stop-AzureSqlServerUpgrade + + + + + + + + New-AzureSqlDatabaseCopy + + Creates a copy of an existing Azure SQL Database using the snapshot of the data at the time of the call. + + + + + New + AzureSqlDatabaseCopy + + + + This cmdlet replaces the Start-AzureSqlDatabaseCopy cmdlet when used to create a one-time database copy. It returns the database object of the copy. + Note: Use New-AzureSqlDatabaseSecondary for setting up geo-replication for a database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlDatabaseCopy + + DatabaseName + + The name of the Azure SQL Database to be copied. + + String + + + ServiceObjectiveName + + The name of the service objective to assign to the copy. + + String + + + ElasticPoolName + + The name of the Elastic Pool to put the copy in. + + String + + + Tags + + The tags to associate with the Azure SQL Database copy. + + Dictionary`2[String] + + + CopyResourceGroupName + + The name of the Azure Resource Group to create copy in. + + String + + + CopyServerName + + The name of the Azure SQL Server to create copy in. + + String + + + CopyDatabaseName + + The name of the Azure SQL Database copy. + + String + + + ServerName + + The name of the Azure SQL Server the database to be copied is in. + + String + + + ResourceGroupName + + The name of the Azure Resource Group the database to be copied is in. + + String + + + Profile + + + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to be copied. + + String + + String + + + + + + ServiceObjectiveName + + The name of the service objective to assign to the copy. + + String + + String + + + + + + ElasticPoolName + + The name of the Elastic Pool to put the copy in. + + String + + String + + + + + + Tags + + The tags to associate with the Azure SQL Database copy. + + Dictionary`2[String] + + Dictionary`2[String] + + + + + + CopyResourceGroupName + + The name of the Azure Resource Group to create copy in. + + String + + String + + + + + + CopyServerName + + The name of the Azure SQL Server to create copy in. + + String + + String + + + + + + CopyDatabaseName + + The name of the Azure SQL Database copy. + + String + + String + + + + + + ServerName + + The name of the Azure SQL Server the database to be copied is in. + + String + + String + + + + + + ResourceGroupName + + The name of the Azure Resource Group the database to be copied is in. + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + + + + + + + New-AzureSqlDatabaseSecondary + + Creates a new secondary database for an existing Azure SQL Database and starts data replication. + + + + + New + AzureSqlDatabaseSecondary + + + + This cmdlet replaces the Start-AzureSqlDatabaseCopy cmdlet when used for setting up geo-replication for a database. It returns the geo-replication link object from the primary to the secondary database. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + New-AzureSqlDatabaseSecondary + + DatabaseName + + The name of the Azure SQL Database to act as primary. + + String + + + SecondaryServiceObjectiveName + + The name of the service objective to assign to the secondary. + + String + + + SecondaryElasticPoolName + + The name of the Elastic Pool to put the secondary in. + + String + + + Tags + + The tags to associate with the Azure SQL Database replication link. + + Dictionary`2[String] + + + PartnerResourceGroupName + + The name of the Azure Resource Group to create secondary in. + + String + + + PartnerServerName + + The name of the Azure SQL Server to create secondary in. + + String + + + AllowConnections + + The read intent of the secondary Azure SQL Database. + + AllowConnections + + + ServerName + + The name of the Azure SQL Server of the primary Azure SQL Database. + + String + + + ResourceGroupName + + The name of the Azure Resource Group of the primary Azure SQL Database. + + String + + + Profile + + + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to act as primary. + + String + + String + + + + + + SecondaryServiceObjectiveName + + The name of the service objective to assign to the secondary. + + String + + String + + + + + + SecondaryElasticPoolName + + The name of the Elastic Pool to put the secondary in. + + String + + String + + + + + + Tags + + The tags to associate with the Azure SQL Database replication link. + + Dictionary`2[String] + + Dictionary`2[String] + + + + + + PartnerResourceGroupName + + The name of the Azure Resource Group to create secondary in. + + String + + String + + + + + + PartnerServerName + + The name of the Azure SQL Server to create secondary in. + + String + + String + + + + + + AllowConnections + + The read intent of the secondary Azure SQL Database. + + AllowConnections + + AllowConnections + + + + + + ServerName + + The name of the Azure SQL Server of the primary Azure SQL Database. + + String + + String + + + + + + ResourceGroupName + + The name of the Azure Resource Group of the primary Azure SQL Database. + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + + + + + + + Remove-AzureSqlDatabaseSecondary + + Terminates data replication between an Azure SQL Database and the specified secondary database. + + + + + Remove + AzureSqlDatabaseSecondary + + + + This cmdlet replaces the Stop-AzureSqlDatabaseCopy cmdlet. It will force terminates the geo-replication link. There is no replication synchronization prior to termination. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Remove-AzureSqlDatabaseSecondary + + DatabaseName + + The name of the primary Azure SQL Database with the replication link to remove. + + String + + + PartnerResourceGroupName + + The name of the partner Azure Resource Group. + + String + + + PartnerServerName + + The name of the partner Azure SQL Server. + + String + + + ServerName + + The name of the Azure SQL Server with the replication link to remove. + + String + + + ResourceGroupName + + The name of the Azure Resource Group with the replication link to remove. + + String + + + Profile + + + + AzureProfile + + + WhatIf + + + + SwitchParameter + + + Confirm + + + + SwitchParameter + + + + + + DatabaseName + + The name of the primary Azure SQL Database with the replication link to remove. + + String + + String + + + + + + PartnerResourceGroupName + + The name of the partner Azure Resource Group. + + String + + String + + + + + + PartnerServerName + + The name of the partner Azure SQL Server. + + String + + String + + + + + + ServerName + + The name of the Azure SQL Server with the replication link to remove. + + String + + String + + + + + + ResourceGroupName + + The name of the Azure Resource Group with the replication link to remove. + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + WhatIf + + + + SwitchParameter + + SwitchParameter + + + + + + Confirm + + + + SwitchParameter + + SwitchParameter + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + + + + + + + Get-AzureSqlDatabaseReplicationLink + + Gets the geo-replication links between an Azure SQL Database and the specified Azure Resource Group or Azure SQL Server. + + + + + Get + AzureSqlDatabaseReplicationLink + + + + This cmdlet replaces the Get-AzureSqlDatabaseCopy cmdlet. It will return all geo-replication links between the specified Azure Resource Group or Azure SQL Server. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Get-AzureSqlDatabaseReplicationLink + + DatabaseName + + The name of the Azure SQL Database to retrieve links for. + + String + + + PartnerResourceGroupName + + The name of the Azure Resource Group for the partner. + + String + + + ServerName + + The name of the Azure SQL Server for the database to retrieve links for. + + String + + + ResourceGroupName + + The name of the Azure Resource Group for the database to retrieve links for. + + String + + + Profile + + + + AzureProfile + + + + Get-AzureSqlDatabaseReplicationLink + + DatabaseName + + The name of the Azure SQL Database to retrieve links for. + + String + + + PartnerResourceGroupName + + The name of the Azure Resource Group for the partner. + + String + + + PartnerServerName + + The name of the Azure SQL Server for the partner. + + String + + + ServerName + + The name of the Azure SQL Server for the database to retrieve links for. + + String + + + ResourceGroupName + + The name of the Azure Resource Group for the database to retrieve links for. + + String + + + Profile + + + + AzureProfile + + + + + + DatabaseName + + The name of the Azure SQL Database to retrieve links for. + + String + + String + + + + + + PartnerResourceGroupName + + The name of the Azure Resource Group for the partner. + + String + + String + + + + + + ServerName + + The name of the Azure SQL Server for the database to retrieve links for. + + String + + String + + + + + + ResourceGroupName + + The name of the Azure Resource Group for the database to retrieve links for. + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + PartnerServerName + + The name of the Azure SQL Server for the partner. + + String + + String + + + + + + + + + InputType + + + + + System.String + + + + + + + OutputType + + + + + System.Object + + + + + + + + + This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters. + + + + + + + + + + + Set-AzureSqlDatabaseSecondary + + Switches a secondary Azure SQL Database to the primary in order to failover. + + + + + Set + AzureSqlDatabaseSecondary + + + + This cmdlet is designed as a general configuration command, but at the moment it is limited to initiating failover. Use it with the –AllowDataLoss parameter to initiate a force failover during an outage. You don’t have to specify it when performing a planned operation , such as DR drill. In the latter case the secondary databases will be synchronized with the primary before switching. + + Note: This cmdlet can only be executed in Azure Resource Manager mode. To enable Azure Resource Manager mode run the following command: + Switch-AzureMode –Name AzureResourceManager + + For more information, see Using Windows PowerShell with Resource Manager. + + + + Set-AzureSqlDatabaseSecondary + + DatabaseName + + + The name of the Azure SQL Database Secondary. + + + String + + + PartnerResourceGroupName + + + The name of the Azure Resource Group of the partner Azure SQL Database. + + + String + + + Failover + + Determines if this operation is a failover. + + SwitchParameter + + + AllowDataLoss + + Determines if this failover operation will allow data loss. + + SwitchParameter + + + ServerName + + + The name of the Azure SQL Server of the Azure SQL Database Secondary. + + + String + + + ResourceGroupName + + + The name of the Azure Resource Group of the Azure SQL Database Secondary. + + + String + + + Profile + + + + AzureProfile + + + + + + DatabaseName + + + The name of the Azure SQL Database Secondary. + + + String + + String + + + + + + PartnerResourceGroupName + + + The name of the Azure Resource Group of the partner Azure SQL Database. + + + String + + String + + + + + + Failover + + Determines if this operation is a failover. + + SwitchParameter + + SwitchParameter + + + + + + AllowDataLoss + + Determines if this failover operation will allow data loss. + + SwitchParameter + + SwitchParameter + + + + + + ServerName + + + The name of the Azure SQL Server of the Azure SQL Database Secondary. + + + String + + String + + + + + + ResourceGroupName + + + The name of the Azure Resource Group of the Azure SQL Database Secondary. + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ResourceManager/Storage/Commands.Management.Storage.Test/Commands.Management.Storage.Test.csproj b/src/ResourceManager/Storage/Commands.Management.Storage.Test/Commands.Management.Storage.Test.csproj index c667a95566c1..8fccb6b22519 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage.Test/Commands.Management.Storage.Test.csproj +++ b/src/ResourceManager/Storage/Commands.Management.Storage.Test/Commands.Management.Storage.Test.csproj @@ -119,9 +119,9 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {a50ab133-5c04-4a17-9054-f8343683ec23} diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj index cab70b2acb75..87362b542cd3 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj @@ -174,9 +174,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {9577252e-0a6b-4d61-86e8-95f7f309a987} diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj b/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj index 47a94fa62f60..4133b9e253c0 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj @@ -140,9 +140,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {270cbb5f-bb8a-4e33-b35b-95698e607d97} diff --git a/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj b/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj index d028238afb75..6d2bcbf6f4e1 100644 --- a/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj +++ b/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj @@ -155,9 +155,9 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {d470e50a-9607-48d6-a924-4f9f86502704} diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/Commands.ServiceManagement.csproj b/src/ServiceManagement/Compute/Commands.ServiceManagement/Commands.ServiceManagement.csproj index c759ebf5c362..51b94b66cac4 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/Commands.ServiceManagement.csproj +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/Commands.ServiceManagement.csproj @@ -171,6 +171,11 @@ + + + + + diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerKeyVaultCredentialSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerKeyVaultCredentialSettings.cs new file mode 100644 index 000000000000..e1de7a7f5349 --- /dev/null +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerKeyVaultCredentialSettings.cs @@ -0,0 +1,58 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Security; + +namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions +{ + /// + /// Autobackup settings to configure managed backup on SQL VM + /// + public class KeyVaultCredentialSettings + { + /// + /// Defines if the Key Vault Credentails feature is enabled or disabled + /// + public bool Enable { get; set; } + + /// + /// Key Vault credentails name + /// + public string CredentialName { get; set; } + + /// + /// Gets the azure key vault URL. + /// + /// + /// The azure key vault URL for Credential Management. + /// + public string AzureKeyVaultUrl { get; set; } + + /// + /// Gets the name of the principal. + /// + /// + /// The name of the service principal to access the Azure Key Vault. + /// + public string ServicePrincipalName { get; set; } + + /// + /// Gets the principal secret. + /// + /// + /// The service principal secret to access the Azure Key Vault. + /// + public string ServicePrincipalSecret { get; set; } + } +} \ No newline at end of file diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateKeyVaultCredentialSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateKeyVaultCredentialSettings.cs new file mode 100644 index 000000000000..09ea129a6c01 --- /dev/null +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateKeyVaultCredentialSettings.cs @@ -0,0 +1,48 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Security; + +namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions +{ + /// + /// Autobackup settings to configure managed backup on SQL VM + /// + public class PrivateKeyVaultCredentialSettings + { + /// + /// Gets the azure key vault URL. + /// + /// + /// The azure key vault URL for Credential Management. + /// + public string AzureKeyVaultUrl { get; set; } + + /// + /// Gets the name of the principal. + /// + /// + /// The name of the service principal to access the Azure Key Vault. + /// + public string ServicePrincipalName { get; set; } + + /// + /// Gets the principal secret. + /// + /// + /// The service principal secret to access the Azure Key Vault. + /// + public string ServicePrincipalSecret { get; set; } + } +} diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateSettings.cs index 8d56d8669d59..86faf7c07656 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateSettings.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPrivateSettings.cs @@ -34,5 +34,11 @@ public class SqlServerPrivateSettings /// Password required for certification when encryption is enabled /// public string Password; + + /// + /// Azure Key Vault Credential settings + /// + public PrivateKeyVaultCredentialSettings PrivateKeyVaultCredentialSettings; + } } diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicAutoBackupSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicAutoBackupSettings.cs new file mode 100644 index 000000000000..3c2f1c3c389e --- /dev/null +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicAutoBackupSettings.cs @@ -0,0 +1,39 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Security; + +namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions +{ + /// + /// Autobackup public settings to configure managed backup on SQL VM + /// + public class PublicAutoBackupSettings + { + /// + /// Defines if the Auto-backup feature is enabled or disabled + /// + public bool Enable { get; set; } + + /// + /// Defines if backups will be encrypted or not + /// + public bool EnableEncryption { get; set; } + + /// + /// Defines the number of days to keep the backups + /// + public int RetentionPeriod { get; set; } + } +} diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicKeyVaultCredentialSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicKeyVaultCredentialSettings.cs new file mode 100644 index 000000000000..1e710e2e42bd --- /dev/null +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicKeyVaultCredentialSettings.cs @@ -0,0 +1,34 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Security; + +namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions +{ + /// + /// Key Vault public settings to manage SQL VM credentials on configure Azure Key Vault + /// + public class PublicKeyVaultCredentialSettings + { + /// + /// Defines if the Key Vault Credentails feature is enabled or disabled + /// + public bool Enable { get; set; } + + /// + /// Key Vault credentails name + /// + public string CredentialName { get; set; } + } +} \ No newline at end of file diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicSettings.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicSettings.cs index ab7c69677d64..d9ea4221e169 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicSettings.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/AzureVMSqlServerPublicSettings.cs @@ -27,11 +27,16 @@ public class SqlServerPublicSettings /// /// Auto-backup settings /// - public AutoBackupSettings AutoBackupSettings { get; set; } + public PublicAutoBackupSettings AutoBackupSettings { get; set; } /// /// Auto-telemetry settings /// public AutoTelemetrySettings AutoTelemetrySettings { get; set; } + + /// + /// Azure Key Vault SQL Credentials settings + /// + public PublicKeyVaultCredentialSettings KeyVaultCredentialSettings { get; set; } } } diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/GetAzureVMSqlServerExtension.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/GetAzureVMSqlServerExtension.cs index 0b595acded84..d1bcacc00785 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/GetAzureVMSqlServerExtension.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/GetAzureVMSqlServerExtension.cs @@ -42,6 +42,7 @@ public class GetAzureVMSqlServerExtensionCommand : VirtualMachineSqlServerExtens protected const string GetSqlServerExtensionParamSetName = "GetSqlServerExtension"; protected const string AutoPatchingStatusMessageName = "Automated Patching"; protected const string AutoBackupStatusMessageName = "Automated Backup"; + protected const string KeyVaultCredentialStatusMessageName = "Key Vault Credential"; internal void ExecuteCommand() { @@ -59,7 +60,7 @@ internal void ExecuteCommand() protected override void ProcessRecord() { base.ProcessRecord(); - ExecuteCommand(); + this.ExecuteCommand(); } /// @@ -68,7 +69,7 @@ protected override void ProcessRecord() /// private VirtualMachineSqlServerExtensionContext GetExtensionContext(ResourceExtensionReference r) { - string extensionName= VirtualMachineSqlServerExtensionCmdletBase.ExtensionPublishedNamespace + "." + string extensionName = VirtualMachineSqlServerExtensionCmdletBase.ExtensionPublishedNamespace + "." + VirtualMachineSqlServerExtensionCmdletBase.ExtensionPublishedName; VirtualMachineSqlServerExtensionContext context = new VirtualMachineSqlServerExtensionContext @@ -116,11 +117,14 @@ private VirtualMachineSqlServerExtensionContext GetExtensionContext(ResourceExte { context.AutoPatchingSettings = DeSerializeAutoPatchingSettings(status.Name, formattedMessage); } - - if (status.Name.Equals(AutoBackupStatusMessageName, System.StringComparison.InvariantCulture)) + else if (status.Name.Equals(AutoBackupStatusMessageName, System.StringComparison.InvariantCulture)) { context.AutoBackupSettings = DeSerializeAutoBackupSettings(status.Name, formattedMessage); } + else if (status.Name.Equals(KeyVaultCredentialStatusMessageName, System.StringComparison.InvariantCulture)) + { + context.KeyVaultCredentialSettings = DeSerializeKeyVaultCredentialSettings(status.Name, formattedMessage); + } statusMessageList.Add(formattedMessage); } @@ -158,7 +162,7 @@ private VirtualMachineSqlServerExtensionContext GetExtensionContext(ResourceExte NSM.DeploymentSlot.Production); } catch (CloudException e) - { + { if (e.Response.StatusCode != HttpStatusCode.NotFound) { throw; @@ -212,13 +216,62 @@ private AutoPatchingSettings DeSerializeAutoPatchingSettings(string category, st private AutoBackupSettings DeSerializeAutoBackupSettings(string category, string input) { - AutoBackupSettings abs = new AutoBackupSettings(); + AutoBackupSettings autoBackupSettings = new AutoBackupSettings(); if (!string.IsNullOrEmpty(input)) { try { - abs = JsonConvert.DeserializeObject(input); + PublicAutoBackupSettings publicAutoBackupSettings = JsonConvert.DeserializeObject(input); + + if(publicAutoBackupSettings != null) + { + autoBackupSettings.Enable = publicAutoBackupSettings.Enable; + autoBackupSettings.EnableEncryption = publicAutoBackupSettings.EnableEncryption; + autoBackupSettings.RetentionPeriod = publicAutoBackupSettings.RetentionPeriod; + autoBackupSettings.StorageAccessKey = "***"; + autoBackupSettings.StorageUrl = "***"; + + if (autoBackupSettings.EnableEncryption) + { + autoBackupSettings.Password = "***"; + } + } + } + catch (JsonReaderException jre) + { + WriteVerboseWithTimestamp("Category:" + category); + WriteVerboseWithTimestamp("Message:" + input); + WriteVerboseWithTimestamp(jre.ToString()); + } + } + + return autoBackupSettings; + } + + private KeyVaultCredentialSettings DeSerializeKeyVaultCredentialSettings(string category, string input) + { + KeyVaultCredentialSettings kvtSettings = new KeyVaultCredentialSettings(); + + if (!string.IsNullOrEmpty(input)) + { + try + { + // we only print the public settings + PublicKeyVaultCredentialSettings publicSettings = JsonConvert.DeserializeObject(input); + + if (publicSettings != null) + { + kvtSettings.CredentialName = publicSettings.CredentialName; + kvtSettings.Enable = publicSettings.Enable; + + if (kvtSettings.Enable) + { + kvtSettings.ServicePrincipalName = "***"; + kvtSettings.ServicePrincipalSecret = "***"; + kvtSettings.AzureKeyVaultUrl = "***"; + } + } } catch (JsonReaderException jre) { @@ -228,7 +281,7 @@ private AutoBackupSettings DeSerializeAutoBackupSettings(string category, string } } - return abs; + return kvtSettings; } /// diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/NewAzureVMSqlServerKeyVaultCredentialConfig.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/NewAzureVMSqlServerKeyVaultCredentialConfig.cs new file mode 100644 index 000000000000..10b919f585c6 --- /dev/null +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/NewAzureVMSqlServerKeyVaultCredentialConfig.cs @@ -0,0 +1,116 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Management.Automation; +using System.Security; +using Microsoft.WindowsAzure.Commands.Common.Storage; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Properties; +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Helpers; +using Microsoft.WindowsAzure.Management.Storage; + +namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions +{ + /// + /// Helper cmdlet to construct instance of SQL Credential AKV based settings class + /// + [Cmdlet( + VerbsCommon.New, + AzureVMSqlServerKeyVaultCredentialConfigNoun), + OutputType( + typeof(PublicKeyVaultCredentialSettings))] + public class NewAzureVMSqlServerKeyVaultCredentialConfigCommand : ServiceManagementBaseCmdlet + { + /// + /// Configuration object friendly name + /// + protected const string AzureVMSqlServerKeyVaultCredentialConfigNoun = "AzureVMSqlServerKeyVaultCredentialConfig"; + + [Parameter( + Mandatory = false, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Enable Key Vault Credential.")] + [ValidateNotNullOrEmpty] + public SwitchParameter Enable { get; set; } + + [Parameter( + Mandatory = false, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "SQL Server credential name to create.")] + [ValidateNotNullOrEmpty] + public string CredentialName { get; set; } + + [Parameter( + Mandatory = false, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Azure Key Vault service URL")] + [ValidateNotNullOrEmpty] + public string AzureKeyVaultUrl { get; set; } + + [Parameter( + Mandatory = false, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Principal user client identifier.")] + [ValidateNotNullOrEmpty] + public string ServicePrincipalName { get; set; } + + [Parameter( + Mandatory = false, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "Principal user client secret.")] + [ValidateNotNullOrEmpty] + public SecureString ServicePrincipalSecret { get; set; } + + /// + /// Initialzies a new instance of the class. + /// + public NewAzureVMSqlServerKeyVaultCredentialConfigCommand() + { + } + + /// + /// Creates and returns object. + /// + protected override void ProcessRecord() + { + KeyVaultCredentialSettings settings = new KeyVaultCredentialSettings(); + + settings.Enable = (this.Enable.IsPresent) ? this.Enable.ToBool() : false; + + settings.CredentialName = (this.CredentialName == null) ? null : this.CredentialName; + + settings.ServicePrincipalName = (this.ServicePrincipalName == null) ? null : this.ServicePrincipalName; + + settings.ServicePrincipalSecret = (this.ServicePrincipalSecret == null) ? + null : + SecureStringHelper.ConvertToUnsecureString(this.ServicePrincipalSecret); + + settings.AzureKeyVaultUrl = (this.AzureKeyVaultUrl == null) ? null : this.AzureKeyVaultUrl; + + + WriteObject(settings); + } + } +} diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/SetAzureVMSqlServerExtension.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/SetAzureVMSqlServerExtension.cs index f9ed5f72e5ca..11feb83842a3 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/SetAzureVMSqlServerExtension.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/SetAzureVMSqlServerExtension.cs @@ -28,7 +28,7 @@ namespace Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions { /// /// Set-AzureVMSqlServerExtension implementation. - /// This cmdlet can be used to set AutoPatching / AutoBackup settings, disable, uninstalls Sql Extension + /// This cmdlet can be used to set AutoPatching / AutoBackup / Key Vault Credential settings, disable, uninstalls Sql Extension /// [Cmdlet( VerbsCommon.Set, @@ -91,16 +91,31 @@ public class SetAzureVMSqlServerExtensionCommand : VirtualMachineSqlServerExtens HelpMessage = "The Automatic Backup configuration.")] [ValidateNotNullOrEmpty] public override AutoBackupSettings AutoBackupSettings { get; set; } - + + [Parameter( + ParameterSetName = EnableExtensionParamSetName, + Mandatory = false, + Position = 5, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The Azure Key Vault SQL Credentials configuration.")] + [ValidateNotNullOrEmpty] + public override KeyVaultCredentialSettings KeyVaultCredentialSettings { get; set; } + protected override void ProcessRecord() { base.ProcessRecord(); - ExecuteCommand(); + this.ExecuteCommand(); } internal void ExecuteCommand() { ValidateParameters(); + + if ((this.KeyVaultCredentialSettings != null) && !this.KeyVaultCredentialSettings.Enable) + { + WriteVerboseWithTimestamp("SQL Server Azure key vault disabled. Previously configured credentials are not removed but no status will be reported"); + } + RemovePredicateExtensions(); AddResourceExtension(); WriteObject(VM); diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionCmdletBase.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionCmdletBase.cs index dc20d5941623..015de4470e24 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionCmdletBase.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionCmdletBase.cs @@ -50,6 +50,11 @@ public class VirtualMachineSqlServerExtensionCmdletBase : VirtualMachineExtensio /// public virtual AutoBackupSettings AutoBackupSettings { get; set; } + /// + /// Azure Key Vault SQL Credentials settings + /// + public virtual KeyVaultCredentialSettings KeyVaultCredentialSettings { get; set; } + /// /// value of Auto-telemetry settings object that can be set by derived classes /// @@ -70,12 +75,38 @@ public VirtualMachineSqlServerExtensionCmdletBase() /// protected string GetPublicConfiguration() { + // Create auto backup settings if set + PublicAutoBackupSettings autoBackupSettings = null; + + if (this.AutoBackupSettings != null) + { + autoBackupSettings = new PublicAutoBackupSettings() + { + Enable = this.AutoBackupSettings.Enable, + EnableEncryption = this.AutoBackupSettings.EnableEncryption, + RetentionPeriod = this.AutoBackupSettings.RetentionPeriod + }; + } + + // Create Key vault settings if set + PublicKeyVaultCredentialSettings akvSettings = null; + + if(this.KeyVaultCredentialSettings != null) + { + akvSettings = new PublicKeyVaultCredentialSettings() + { + Enable = this.KeyVaultCredentialSettings == null ? false : this.KeyVaultCredentialSettings.Enable, + CredentialName = this.KeyVaultCredentialSettings == null ? null : this.KeyVaultCredentialSettings.CredentialName + }; + } + return JsonUtilities.TryFormatJson(JsonConvert.SerializeObject( new SqlServerPublicSettings { AutoPatchingSettings = this.AutoPatchingSettings, - AutoBackupSettings = this.AutoBackupSettings, - AutoTelemetrySettings = this.AutoTelemetrySettings + AutoTelemetrySettings = this.AutoTelemetrySettings, + AutoBackupSettings = autoBackupSettings, + KeyVaultCredentialSettings = akvSettings })); } @@ -85,14 +116,25 @@ protected string GetPublicConfiguration() /// protected string GetPrivateConfiguration() { + + PrivateKeyVaultCredentialSettings akvPrivateSettings = null; + + if(this.KeyVaultCredentialSettings != null) + { + akvPrivateSettings = new PrivateKeyVaultCredentialSettings { AzureKeyVaultUrl = this.KeyVaultCredentialSettings.AzureKeyVaultUrl, + ServicePrincipalName = this.KeyVaultCredentialSettings.ServicePrincipalName, + ServicePrincipalSecret = this.KeyVaultCredentialSettings.ServicePrincipalSecret + }; + } + return JsonUtilities.TryFormatJson(JsonConvert.SerializeObject( new SqlServerPrivateSettings { StorageUrl = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.StorageUrl, StorageAccessKey = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.StorageAccessKey, - Password = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.Password + Password = (this.AutoBackupSettings == null) ? string.Empty : this.AutoBackupSettings.Password, + PrivateKeyVaultCredentialSettings = (akvPrivateSettings == null) ? null : akvPrivateSettings })); - } } } diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionContext.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionContext.cs index 15e60bb4a39e..3362246ee9e7 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionContext.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/Extensions/SqlServer/VirtualMachineSqlServerExtensionContext.cs @@ -33,6 +33,11 @@ public class VirtualMachineSqlServerExtensionContext : VirtualMachineExtensionCo /// public AutoBackupSettings AutoBackupSettings; + /// + /// Key Vault Credential settings + /// + public KeyVaultCredentialSettings KeyVaultCredentialSettings; + /// /// Status messages reported by extension /// diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/IaaSDeploymentManagementCmdletBase.cs b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/IaaSDeploymentManagementCmdletBase.cs index edeb4947b8b2..a4289b86d8f7 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/IaaSDeploymentManagementCmdletBase.cs +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/IaaS/IaaSDeploymentManagementCmdletBase.cs @@ -79,12 +79,7 @@ protected virtual void ExecuteCommand() } else { - WriteError(new ErrorRecord( - new InvalidOperationException(string.Format(CultureInfo.CurrentUICulture, - Properties.Resources.NoDeploymentFoundInService, ServiceName)), - string.Empty, - ErrorCategory.ResourceUnavailable, - null)); + WriteWarning(string.Format(CultureInfo.CurrentUICulture, Resources.NoDeploymentFoundInService, ServiceName)); } } }); diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.dll-Help.xml b/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.dll-Help.xml index c68b80fc1b7b..738db9efe47a 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.dll-Help.xml +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.dll-Help.xml @@ -35071,228 +35071,481 @@ PS C:\> Get-AzureVM -ServiceName "ContosoService03" -Name "Con - - - - Get-AzureVMSqlServerExtension - - - Gets the settings of the SQL Server IaaS Agent on a particular VM. - - - - - Get - AzureVMSqlServerExtension - - - - Gets the settings of the SQL Server IaaS Agent on a particular virtual machine. - - - - - Get-AzureVMSqlServerExtension - - VM - - The virtual machine to get the settings from. - - IPersistentVM - - - Version - - The specific version of the SQL Server IaaS Agent. - - string - - - - - - - Version - - The specific version of the SQL Server IaaS Agent. - - string - - string - - - - - - VM - - The virtual machine to get the settings from. - - IPersistentVM - - IPersistentVM - - - - - - - - - - - - - - - - + + + + + Get-AzureVMSqlServerExtension + + + Gets the settings of the SQL Server extension on a particular VM. + + + + + Get + AzureVMSqlServerExtension + + + + This cmdlet gets the settings of the SQL Server extension on a particular VM. + + + + + Get-AzureVMSqlServerExtension + + VM + + The virtual machine to get the settings from. + + IPersistentVM + + + Version + + The specific version of the Sql Server extension. + + string + + + + + + + Version + + The specific version of the Sql Server extension. + + + string + + string + + + + + + VM + + The virtual machine to get the settings from. + + + IPersistentVM + + IPersistentVM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + -------------------------- EXAMPLE 1 -------------------------- + + + C:\PS> + + +Get-AzureVM -ServiceName "service" -Name "vmname" | Get-AzureVMSqlServerExtension + +ExtensionName : SqlIaaSAgent +Publisher : Microsoft.SqlServer.Management +Version : 1.* +State : Enable +RoleName : afexttest +AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings +AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings +KeyVaultCredentialSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.KeyVaultCredentialSettings + + Description + ----------- + Gets the settings of the Sql Server extension on a particular VM using piped input. + + + + + + + + + + + - - - - - - - - - - - - + + + -------------------------- EXAMPLE 2 -------------------------- + + + C:\PS> + + +Get-AzureVMSqlServerExtension-VM $vm + +ExtensionName : SqlIaaSAgent +Publisher : Microsoft.SqlServer.Management +Version : 1.0 +State : Enable +RoleName : vmname +AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings +AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings +KeyVaultCredentialSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.KeyVaultCredentialSettings + + Description + ----------- + Gets the settings of the Sql Server extension on a particular VM. + + + + + + + + + + + + + + + -------------------------- EXAMPLE 3 -------------------------- + + + C:\PS> + + +Get-AzureVMSqlServerExtension -VM $vm -Version "1.0" + +ExtensionName : SqlIaaSAgent +Publisher : Microsoft.SqlServer.Management +Version : 1.0 +State : Enable +RoleName : vmname +AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings +AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings +KeyVaultCredentialSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.KeyVaultCredentialSettings + + Description + ----------- + Gets the settings of the particular version of Sql Server extension on a VM. + + + + + + + + + + + + + + + + + + + + + + + + + + New-AzureVMSqlServerKeyVaultCredentialConfig + + + Creates configuration object for SQL Server Azure Key Vault credential + + + + + New + AzureVMSqlServerKeyVaultCredentialConfig + + + + Creates configuration object for SQL Server Azure Key Vault credential + + + + + New-AzureVMSqlServerKeyVaultCredentialConfig + + Enable + + Enable is an optional value with a default value of false. If set to true, a SQL Server credential using Azure key vault is created when the configuration is used in Set-AzureVMSqlServerExtension. Otherwise, all SQL Server Azure key vault credential status reporting is disabled. Disabling this feature does not remove previously created SQL Server credential using Azure key vault. + + bool + + + CredentialName + + The name to use when creating the new SQL Server credential. If the operation succeeds, a new SQL Server credential with the given name is created. If a SQL Server credential with similar name already exists, then the operation will fail. + + string + + + AzureKeyVaultUrl + + Azure Key Vault absolute URL path to use when creating the SQL Server credential. The Azure key vault must be created before using to create a SQL Server credential. + + string + + + ServicePrincipalName + + Azure key vault client identifier given the principal user access to the Azure key vault set in AzureKeyVaultUrl. + + string + + + ServicePrincipalSecret + + Azure key vault principal access secret to the Azure key vault set in AzureKeyVaultUrl. + + SecureString + + + + + + + AzureKeyVaultUrl + + Azure Key Vault absolute URL path to use when creating the SQL Server credential. The Azure key vault must be created before using to create a SQL Server credential. + + + string + + string + + + + + + CredentialName + + The name to use when creating the new SQL Server credential. If the operation succeeds, a new SQL Server credential with the given name is created. If a SQL Server credential with similar name already exists, then the operation will fail. + + + string + + string + + + + + + Enable + + Enable is an optional value with a default value of false. If set to true, a SQL Server credential using Azure key vault is created when the configuration is used in Set-AzureVMSqlServerExtension. Otherwise, all SQL Server Azure key vault credential status reporting is disabled. Disabling this feature does not remove previously created SQL Server credential using Azure key vault. + + + bool + + bool + + + + + + ServicePrincipalName + + Azure key vault client identifier given the principal user access to the Azure key vault set in AzureKeyVaultUrl. + + + string + + string + + + + + + ServicePrincipalSecret + + Azure key vault principal access secret to the Azure key vault set in AzureKeyVaultUrl. + + + SecureString + + SecureString + + + + + + + + + + + + + + + + + + + + + + + + + KeyVaultCredentialSettings + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + -------------------------- EXAMPLE 1 -------------------------- + + + C:\PS> + + +$akvs = New-AzureVMSqlServerKeyVaultCredentialConfig -Enable -CredentialName sqlcredname -AzureKeyVaultUrl "http://myvaultsample.vault.azure.net" -ServicePrincipalName "myvaultsample-principal-client-identifier" -ServicePrincipalSecret $secureSecret - - - -------------------------- EXAMPLE 1 -------------------------- - - - - - - C:\PS> Get-AzureVMSqlServerExtension-VM $vm - - ExtensionName : SqlIaaSAgent - Publisher : Microsoft.SqlServer.Management - Version : 1.0 - State : Enable - RoleName : vmname - AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings - AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings - - - Gets the settings of the Sql Server extension on a particular virtual machine. - - - - - - - - - - - +Enable : True +CredentialName : sqlcredname +AzureKeyVaultUrl : http://afSqlKVT.vault.azure.net +ServicePrincipalName : dsds-33dd-4d4c-9d2d-42428eeb1fd7 +ServicePrincipalSecret : LnT+7aXAdafy1VdSo3z8YnZ5pzGU1h3Y7prrwdlUDVc= + + Description + ----------- + Creates Azure key vault credential configuration object that can be used to enable and configure KeyVaultCredential using Set-AzureVMSqlServerExtension + + + + + + + + + + + - - - -------------------------- EXAMPLE 2 -------------------------- - - - - - - C:\PS> Get-AzureVM -ServiceName "service" -Name "vmname" | Get-AzureVMSqlServerExtension - - ExtensionName : SqlIaaSAgent - Publisher : Microsoft.SqlServer.Management - Version : 1.0 - State : Enable - RoleName : vmname - AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings - AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings - - - Gets the settings of the SQL Server IaaS Agent on a particular virtual machine using piped input. - - - - - - - - - - - + + + -------------------------- EXAMPLE 2 -------------------------- + + + C:\PS> + + + $akvs = New-AzureVMSqlServerKeyVaultCredentialConfig - - - -------------------------- EXAMPLE 3 -------------------------- - - - - - - C:\PS> Get-AzureVMSqlServerExtension -VM $vm -Version "1.0" - - ExtensionName : SqlIaaSAgent - Publisher : Microsoft.SqlServer.Management - Version : 1.0 - State : Enable - RoleName : vmname - AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings - AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings - - - Gets the settings of the particular version of SQL Server IaaS Agent on a virtual machine. - - - - - - - - - - - - - - - - Set-AzureVMSqlServerExtension - - - - Remove-AzureVMSqlServerExtension - - - - + Enable : False + CredentialName : + AzureKeyVaultUrl : + ServicePrincipalName : + ServicePrincipalSecret : + + Description + ----------- + Creates Azure key vault credential configuration object that can be used to disable KeyVaultCredential using Set-AzureVMSqlServerExtension + + + + + + + + + + + + + + + + + + + + @@ -35873,305 +36126,354 @@ RetentionPeriodInDays : 10 - - - - + + + + Set-AzureVMSqlServerExtension - - - Configure the Sql Server extension on a VM. - - - - - Set - AzureVMSqlServerExtension - - - - Configure the Sql Server extension on a VM. - - - - - Set-AzureVMSqlServerExtension - - VM - - The Virtual Machine to get the settings from. - - IPersistentVM - - - Version - - The specific version of the SQL Server extension that Get-AzureVMSqlServerExtension will get the settings from. - - string - - - AutoBackupSettings - - Automatic SQL Server backup settings - - AutoBackupSettings - - - AutoPatchingSetttings - - Automatic patching settings - - AutoPatchingSetttings - - - Confirm - - Prompts you for confirmation before executing the command. - - - - WhatIf - - Describes what would happen if you executed the command without actually executing the command. - - - - - - - - AutoBackupSettings - - Automatic SQL Server backup settings - - AutoBackupSettings - - AutoBackupSettings - - - - - - AutoPatchingSetttings - - Automatic patching settings - - AutoPatchingSetttings - - AutoPatchingSetttings - - - - - - Version - - The specific version of the SQL Server extension that Get-AzureVMSqlServerExtension will get the settings from. - - - string - - string - - - - - - VM - - The Virtual Machine to get the settings from. - - IPersistentVM - - IPersistentVM - - - - - - Confirm - - Prompts you for confirmation before executing the command. - - SwitchParameter - - SwitchParameter - - - - - - WhatIf - - Describes what would happen if you executed the command without actually executing the command. - - SwitchParameter - - SwitchParameter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Configure the Sql Server extension on a VM. + + + + + Set + AzureVMSqlServerExtension + + + + Configure the Sql Server extension on a VM. + + + + + Set-AzureVMSqlServerExtension + + VM + + The Virtual Machine to get the settings from. + + IPersistentVM + + + Version + + The specific version of the SQL Server extension that Get-AzureVMSqlServerExtension will get the settings from. + + string + + + AutoBackupSettings + + Automatic SQL Server backup settings + + AutoBackupSettings + + + AutoPatchingSetttings + + Automatic patching settings + + AutoPatchingSetttings + + + KeyVaultCredentialSettings + + + + KeyVaultCredentialSettings + + + Confirm + + Prompts you for confirmation before executing the command. + + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + + + + + + + AutoBackupSettings + + Automatic SQL Server backup settings + + + AutoBackupSettings + + AutoBackupSettings + + + + + + AutoPatchingSetttings + + Automatic patching settings + + + AutoPatchingSetttings + + AutoPatchingSetttings + + + + + + KeyVaultCredentialSettings + + + + + KeyVaultCredentialSettings + + KeyVaultCredentialSettings + + + + + + Version + + The specific version of the SQL Server extension that Get-AzureVMSqlServerExtension will get the settings from. + + + string + + string + + + + + + VM + + The Virtual Machine to get the settings from. + + + IPersistentVM + + IPersistentVM + + + + + + Confirm + + Prompts you for confirmation before executing the command. + + SwitchParameter + + SwitchParameter + + + + + + WhatIf + + Describes what would happen if you executed the command without actually executing the command. + + SwitchParameter + + SwitchParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - -------------------------- EXAMPLE 1 -------------------------- - - - C:\PS> - - + + + -------------------------- EXAMPLE 1 -------------------------- + + + C:\PS> + + Get-AzureVM -ServiceName serviceName -Name vmName | Set-AzureVMSqlServerExtension -AutoPatchingSettings $aps | Update-AzureVM - + Description ----------- - Sets auto-patching settings on Azure VM. - - - - - - - - - - - + Sets auto-patching settings on Azure VM. + + + + + + + + + + + - - - -------------------------- EXAMPLE 2 -------------------------- - - - C:\PS> - - + + + -------------------------- EXAMPLE 2 -------------------------- + + + C:\PS> + + Get-AzureVM -ServiceName serviceName -Name vmName | Set-AzureVMSqlServerExtension -AutoBackupSettings $abs | Update-AzureVM - + Description ----------- - Sets auto-backup settings on Azure VM. - - - - - - - - - - - + Sets auto-backup settings on Azure VM. + + + + + + + + + + + - - - -------------------------- EXAMPLE 3 -------------------------- - - - C:\PS> - - + + + -------------------------- EXAMPLE 3 -------------------------- + + + C:\PS> + + +Get-AzureVM -ServiceName $serviceName -Name $vmName | Set-AzureVMSqlServerExtension -KeyVaultCredentialSettings $akvs | Update-AzureVM + +Sets SQL Server credential Azure key vault settings + + Description + ----------- + + + + + + + + + + + + + + + + -------------------------- EXAMPLE 4 -------------------------- + + + C:\PS> + + Get-AzureVM -ServiceName service -Name vmName| Set-AzureVMSqlServerExtension -Disable - + Description ----------- - Disables SQL Server VM extension on a given VM - - - - - - - - - - - + Disables SQL Server VM extension on a given VM + + + + + + + + + + + - - - -------------------------- EXAMPLE 4 -------------------------- - - - C:\PS> - - - Get-AzureVM -ServiceName service -Name vmName| Set-AzureVMSqlServerExtension -Uninstall - - + + + -------------------------- EXAMPLE 5 -------------------------- + + + C:\PS> + + +Get-AzureVM -ServiceName service -Name vmName| Set-AzureVMSqlServerExtension -UnInstall + Description ----------- - Uninstalls SQL Server VM extension on a given VM - - - - - - - - - - - - - - - - - - - + Uninstalls SQL Server VM extension on a given VM + + + + + + + + + + + + + + + + + + + - + diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.format.ps1xml b/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.format.ps1xml index eb82a1ae2b0a..c2191d544578 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.format.ps1xml +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/Microsoft.WindowsAzure.Commands.ServiceManagement.format.ps1xml @@ -610,6 +610,10 @@ AutoBackupSettings + + + KeyVaultCredentialSettings + diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj index 83ef3d381dcb..05d7db7a12c9 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj @@ -81,13 +81,13 @@ ..\..\..\packages\Microsoft.Data.Services.Client.5.6.0\lib\net40\Microsoft.Data.Services.Client.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.Hadoop.Client.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.Hadoop.Client.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.HDInsight.Net.Http.Formatting.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.HDInsight.Net.Http.Formatting.dll False @@ -122,21 +122,21 @@ ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll - + False - ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.dll + ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.dll - + False - ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Contracts.dll + ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Contracts.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.dll False diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/ConnectClusterCommandCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/ConnectClusterCommandCmdletTests.cs index cabc1428631d..07489a2f4e8e 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/ConnectClusterCommandCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/ConnectClusterCommandCmdletTests.cs @@ -95,7 +95,7 @@ public void ICanCallThe_Connect_ClusterHDInsightClusterCmdlet_MoreThanOnce() } } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] [TestCategory("Integration")] [TestCategory("PowerShell")] diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetCommandCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetCommandCmdletTests.cs index 28aa920fc37c..112ab904bf79 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetCommandCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetCommandCmdletTests.cs @@ -72,7 +72,7 @@ public void ICanCallThe_Get_ClusterHDInsightClusterCmdlet_WithADnsName() } } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] public void ICanCallThe_Get_ClusterHDInsightClusterCmdlet_WithDebug() { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetJobsCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetJobsCmdletTests.cs index c0fc983e3e5f..1da6279d908e 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetJobsCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetJobsCmdletTests.cs @@ -86,7 +86,7 @@ public void ICanCallThe_Get_HDInsightJobsCmdletWithJobId() } } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] [TestCategory("Integration")] diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetPropertiesCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetPropertiesCmdletTests.cs index 412672a67a43..f0d319817ca6 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetPropertiesCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/GetPropertiesCmdletTests.cs @@ -51,7 +51,7 @@ public void CanCallTheGetHDInsightPropertiesCmdlet() } } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] public void CanCallTheGetHDInsightPropertiesCmdletWithDebugSwitch() { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/NewClusterCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/NewClusterCmdletTests.cs index 3613ccaea6df..87067b320aec 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/NewClusterCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/NewClusterCmdletTests.cs @@ -597,7 +597,7 @@ public void ICanCreateAClusterUsingPowerShellAndConfig_New_Set_Add_ScriptAction( } } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] [TestCategory("Integration")] [TestCategory("PowerShell")] diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/StartJobsCmdletTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/StartJobsCmdletTests.cs index 09456e7864ef..49b7ffca28dc 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/StartJobsCmdletTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CmdLetTests/StartJobsCmdletTests.cs @@ -96,7 +96,7 @@ public override void ICanCallThe_Start_HDInsightJobsCmdlet() } - [TestMethod] + //[TestMethod] [TestCategory("CheckIn")] [TestCategory("Integration")] diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config index 1644676722e9..94d71bd48a56 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config @@ -14,14 +14,14 @@ - + - + diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightConfigValuesCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightConfigValuesCmdlet.cs index fd175d2d7658..14aac360e13a 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightConfigValuesCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightConfigValuesCmdlet.cs @@ -161,6 +161,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightMetastoreCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightMetastoreCmdlet.cs index bc0bfc5a6883..e6b0482ca44f 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightMetastoreCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightMetastoreCmdlet.cs @@ -106,6 +106,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightScriptActionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightScriptActionCmdlet.cs index 62ca10305f8f..672c05824904 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightScriptActionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightScriptActionCmdlet.cs @@ -105,6 +105,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightStorageCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightStorageCmdlet.cs index c51612580cdd..ec633e25a0b2 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightStorageCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AddAzureHDInsightStorageCmdlet.cs @@ -82,6 +82,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs index db4c68235f99..1f56c1d9655f 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs @@ -38,6 +38,7 @@ public abstract class AzureHDInsightCmdlet : AzureSMCmdlet private ILogWriter logger; + /// /// Gets or sets a value indicating whether logging should be enabled. /// diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHdInsightPowerShellHardCodes.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHdInsightPowerShellHardCodes.cs index 685c08c7310f..d9b182b753b2 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHdInsightPowerShellHardCodes.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHdInsightPowerShellHardCodes.cs @@ -104,5 +104,8 @@ internal class AzureHdInsightPowerShellConstants public const string Show = "Show"; public const string Skip = "Skip"; public const string ToDateTime = "To"; + + public const string AsmWarning = + "WARNING: The Azure Service Management (ASM) cmdlets for HDInsight are deprecated and will be non-default in a future release, and they will be removed soon thereafter. Please use Switch-AzureMode AzureResourceManager to use the Azure Resource Manager cmdlets for HDInsight."; } } diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightClusterCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightClusterCmdlet.cs index ba90e36e0099..149855546b15 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightClusterCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightClusterCmdlet.cs @@ -108,6 +108,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.CurrentSubscription = this.GetCurrentSubscription(this.Subscription, this.Certificate); this.command.Logger = this.Logger; Task task = this.command.EndProcessing(); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobCmdlet.cs index b06de1fb73cd..6cc20146356c 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobCmdlet.cs @@ -128,6 +128,7 @@ protected override void EndProcessing() { try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.CurrentSubscription = this.GetCurrentSubscription(this.Subscription, this.Certificate); this.command.Logger = this.Logger; Task task = this.command.EndProcessing(); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobOutputCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobOutputCmdlet.cs index a44e112ca06f..112ecfdbadb4 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobOutputCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightJobOutputCmdlet.cs @@ -140,6 +140,7 @@ public string TaskLogsDirectory /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Logger = this.Logger; this.command.CurrentSubscription = this.GetCurrentSubscription(this.Subscription, this.Certificate); this.AssertTaskLogsDirectorySpecified(this.TaskLogsDirectory); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightPropertiesCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightPropertiesCmdlet.cs index e95bbb6a07f0..c346efef255b 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightPropertiesCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GetAzureHDInsightPropertiesCmdlet.cs @@ -106,6 +106,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Logger = this.Logger; try { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHDInsightHttpServicesAccessCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHDInsightHttpServicesAccessCmdlet.cs index 7cdb66d4c14f..137e24c4d996 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHDInsightHttpServicesAccessCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHDInsightHttpServicesAccessCmdlet.cs @@ -130,6 +130,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Enable = true; try { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHdinsightRdpAccessCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHdinsightRdpAccessCmdlet.cs index ac92c9dbc5a3..293e2aaede78 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHdinsightRdpAccessCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/GrantAzureHdinsightRdpAccessCmdlet.cs @@ -136,6 +136,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Enable = true; try { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/InvokeHiveCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/InvokeHiveCmdlet.cs index 2fad60725cd7..817353e69cf0 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/InvokeHiveCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/InvokeHiveCmdlet.cs @@ -138,6 +138,7 @@ protected override void EndProcessing() this.command.Connection = currentConnection; try { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Logger = this.Logger; this.command.CurrentSubscription = this.GetCurrentSubscription(string.Empty, null); Task task = this.command.EndProcessing(); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterCmdlet.cs index 17a58c45876b..6c204fb5d5b0 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterCmdlet.cs @@ -436,6 +436,7 @@ protected override void BeginProcessing() /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); DateTime start = DateTime.Now; string msg = string.Format(CultureInfo.CurrentCulture, "Create Cluster Started : {0}", start.ToString(CultureInfo.CurrentCulture)); this.Logger.Log(Severity.Informational, Verbosity.Detailed, msg); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterConfigCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterConfigCmdlet.cs index 715edd67618e..85584d210856 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterConfigCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightClusterConfigCmdlet.cs @@ -107,6 +107,7 @@ public string ZookeeperNodeVMSize /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightHiveJobDefinitionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightHiveJobDefinitionCmdlet.cs index cc37dfd51f62..73a1d21309f9 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightHiveJobDefinitionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightHiveJobDefinitionCmdlet.cs @@ -116,6 +116,7 @@ public string StatusFolder /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); if (this.File.IsNullOrEmpty() && this.Query.IsNullOrEmpty()) { throw new PSArgumentException("Either File or Query should be specified for Hive jobs."); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightMapReduceDefinitionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightMapReduceDefinitionCmdlet.cs index 1241bbaeb213..e87bf391d69d 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightMapReduceDefinitionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightMapReduceDefinitionCmdlet.cs @@ -118,6 +118,7 @@ public string StatusFolder /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightMapReduceJobDefinition output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightPigJobDefinitionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightPigJobDefinitionCmdlet.cs index f831f16d2562..8abda341481c 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightPigJobDefinitionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightPigJobDefinitionCmdlet.cs @@ -90,6 +90,7 @@ public string StatusFolder /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); if (this.File.IsNullOrEmpty() && this.Query.IsNullOrEmpty()) { throw new PSArgumentException("Either File or Query should be specified for Pig jobs."); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightSqoopJobDefinitionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightSqoopJobDefinitionCmdlet.cs index 83be88812484..70ba7c78a290 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightSqoopJobDefinitionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightSqoopJobDefinitionCmdlet.cs @@ -79,6 +79,7 @@ public string StatusFolder /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); if (this.File.IsNullOrEmpty() && this.Command.IsNullOrEmpty()) { throw new PSArgumentException("Either File or Command should be specified for Sqoop jobs."); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightStreamingJobDefinitionCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightStreamingJobDefinitionCmdlet.cs index 28908089d58d..6f0b3be609f9 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightStreamingJobDefinitionCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/NewAzureHDInsightStreamingJobDefinitionCmdlet.cs @@ -142,6 +142,7 @@ public string StatusFolder /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightStreamingMapReduceJobDefinition output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RemoveClusterHDInsightClusterCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RemoveClusterHDInsightClusterCmdlet.cs index d262576da487..1c5e4ebb478d 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RemoveClusterHDInsightClusterCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RemoveClusterHDInsightClusterCmdlet.cs @@ -105,6 +105,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); try { this.command.CurrentSubscription = this.GetCurrentSubscription(this.Subscription, this.Certificate); diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightHttpServicesAccessCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightHttpServicesAccessCmdlet.cs index 9ee72f2e85b9..a5ceb9ddc153 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightHttpServicesAccessCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightHttpServicesAccessCmdlet.cs @@ -129,6 +129,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Enable = false; try { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightRdpAccessCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightRdpAccessCmdlet.cs index 3cbcff1d7eb5..aceda2af9568 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightRdpAccessCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/RevokeAzureHDInsightRdpAccessCmdlet.cs @@ -134,6 +134,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.Enable = false; try { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightClusterSizeCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightClusterSizeCmdlet.cs index 1bfa29a88682..abe769cd360e 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightClusterSizeCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightClusterSizeCmdlet.cs @@ -124,6 +124,7 @@ public SetAzureHDInsightClusterSizeCmdlet() protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); if (Cluster != null) { Name = Cluster.Name; diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightDefaultStorageCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightDefaultStorageCmdlet.cs index 630980f02129..8175d4dbebcd 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightDefaultStorageCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/SetAzureHDInsightDefaultStorageCmdlet.cs @@ -88,6 +88,7 @@ public string StorageContainerName /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); this.command.EndProcessing().Wait(); foreach (AzureHDInsightConfig output in this.command.Output) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StartAzureHDInsightJobCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StartAzureHDInsightJobCmdlet.cs index 7ffcbbbf4d25..ae4f5f008513 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StartAzureHDInsightJobCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StartAzureHDInsightJobCmdlet.cs @@ -126,6 +126,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); try { this.command.Logger = this.Logger; diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StopAzureHDInsightJobCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StopAzureHDInsightJobCmdlet.cs index c382e85680ae..6ecfd33af2a7 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StopAzureHDInsightJobCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/StopAzureHDInsightJobCmdlet.cs @@ -123,6 +123,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); try { this.command.Logger = this.Logger; diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/UseAzureHDInsightClusterCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/UseAzureHDInsightClusterCmdlet.cs index 63be227578f9..8a72e678e941 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/UseAzureHDInsightClusterCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/UseAzureHDInsightClusterCmdlet.cs @@ -109,6 +109,7 @@ public string Subscription /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); try { this.command.Logger = this.Logger; diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/WaitAzureHDInsightJobCmdlet.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/WaitAzureHDInsightJobCmdlet.cs index 7c18b0e6af94..07ac42fceb89 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/WaitAzureHDInsightJobCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/WaitAzureHDInsightJobCmdlet.cs @@ -158,6 +158,7 @@ public double WaitTimeoutInSeconds /// protected override void EndProcessing() { + this.WriteWarning(AzureHdInsightPowerShellConstants.AsmWarning); try { this.command.Logger = this.Logger; diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj b/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj index ab37e1ac04f1..89e95534df86 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj @@ -80,13 +80,13 @@ ..\..\..\packages\Microsoft.Data.Services.Client.5.6.0\lib\net40\Microsoft.Data.Services.Client.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.Hadoop.Client.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.Hadoop.Client.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.HDInsight.Net.Http.Formatting.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.HDInsight.Net.Http.Formatting.dll ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll @@ -121,21 +121,21 @@ False ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll - + False - ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.dll + ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.dll - + False - ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Contracts.dll + ..\..\..\packages\Microsoft.WindowsAzure.Management.HDInsight.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Contracts.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.dll - + False - ..\..\..\packages\Microsoft.Hadoop.Client.1.5.10\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.dll + ..\..\..\packages\Microsoft.Hadoop.Client.1.5.11\lib\net45\Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.dll False diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight/packages.config b/src/ServiceManagement/HDInsight/Commands.HDInsight/packages.config index e5225e28917f..43d5b8966ef3 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/packages.config +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/packages.config @@ -12,14 +12,14 @@ - + - + diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Commands.RemoteAppScenarioTest.csproj b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Commands.RemoteAppScenarioTest.csproj new file mode 100644 index 000000000000..ebaebece48c3 --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Commands.RemoteAppScenarioTest.csproj @@ -0,0 +1,132 @@ + + + + + Debug + AnyCPU + {C2FA83A2-8668-49DD-A1A0-0359653571CA} + Library + Properties + Commands.RemoteAppScenarioTests + Commands.RemoteAppScenarioTests + v4.5 + 512 + ..\..\..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\packages\Hyak.Common.1.0.2\lib\net45\Hyak.Common.dll + + + False + ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll + + + False + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + + + False + ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5571.32271-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + + + False + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + + + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.0.9.3\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + + + False + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll + + + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll + + + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + + False + ..\..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll + + + + + False + ..\..\..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll + + + + + ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll + + + ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll + + + + + + + + + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + + + + + + + + {c1bda476-a5cc-4394-914d-48b0ec31a710} + Commands.ScenarioTests.Common + + + + + + + + + PreserveNewest + + + + + + \ No newline at end of file diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/CreateCloudCollection.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/CreateCloudCollection.cs new file mode 100644 index 000000000000..2a5116eb3cb1 --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/CreateCloudCollection.cs @@ -0,0 +1,64 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + + +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Test; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.IO; +using System.Linq; +using System.Management.Automation; +using Xunit; + + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTests +{ + + public class CreateCloudCollection + { + protected Collection RunPowerShellTest(params string[] scripts) + { + using (UndoContext context = UndoContext.Current) + { + context.Start(TestUtilities.GetCallingClass(1), TestUtilities.GetCurrentMethodName(2)); + List modules = null; + Collection pipeLineObjects = null; + Collection result = new Collection(); + EnvironmentSetupHelper helper = new EnvironmentSetupHelper(); + + modules = Directory.GetFiles(@"..\..\Scripts", "*.ps1").ToList(); + helper.SetupSomeOfManagementClients(); + helper.SetupEnvironment(AzureModule.AzureServiceManagement); + helper.SetupModules(AzureModule.AzureServiceManagement, modules.ToArray()); + + pipeLineObjects = helper.RunPowerShellTest(scripts); + foreach (PSObject obj in pipeLineObjects) + { + T item = LanguagePrimitives.ConvertTo(obj); + result.Add(item); + } + return result; + } + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestRemoteAppEndToEnd() + { + System.Environment.SetEnvironmentVariable("rdfeNameSpace", "rdsr8"); + RunPowerShellTest("TestRemoteAppEndToEnd"); + } + } +} diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Scripts/RemoteAppCI_Test.ps1 b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Scripts/RemoteAppCI_Test.ps1 new file mode 100644 index 000000000000..f3da3f38ce72 --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/Scripts/RemoteAppCI_Test.ps1 @@ -0,0 +1,255 @@ + +function PollingInterval() +{ + if ($env:AZURE_TEST_MODE -eq 'Playback') + { + $pollingIntervalSecs = 5 + } + else + { + $pollingIntervalSecs = 60 * 5 + } + $pollingIntervalSecs +} + +function Assert([ScriptBlock] $Condition) +{ + if ((& $Condition) -eq $false) + { + throw "Assertion Failed $($Condition.ToString()): $(Get-PSCallStack | Out-String)" + } +} + +<# + This will pick a location, image, billing plan and create a ARA App collection and returns the collection name. +#> +function CreateCloudCollection([string] $Collection) +{ + + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + [PSObject[]] $locationList = Get-AzureRemoteAppLocation | % Name + Assert -Condition {$locationList -ne $null -or $locationList.Count -lt 1} + + [PSObject[]] $templateImageList = Get-AzureRemoteAppTemplateImage | ? {$_.Type -eq 'Platform' -and $_.OfficeType -ne 'Office365'} + Assert -Condition {$templateImageList -ne $null -or $templateImageList.Count -lt 1} + + $templateImage = $null + $locCounter = 0 + $imageCounter = 0 + $found = $false + do + { + $location = $locationList[$locCounter] + do + { + $templateImage = $templateImageList[$imageCounter] + if ($templateImage.RegionList -contains $location) + { + $found = $true + } + + $imageCounter++ + } while ($imageCounter -lt $templateImageList.Count -and -not $found) + + $locCounter++ + } while ($locCounter -lt $locationList.Count -and -not $found) + + Assert -Condition {$found} + + $billingPlans = Get-AzureRemoteAppPlan | % Name + $billingPlan = $billingPlans[0] + Assert -Condition {-not [String]::IsNullOrWhiteSpace($billingPlan)} + + Write-Verbose "New-AzureRemoteAppCollection -CollectionName $Collection -ImageName $($templateImage.Name) -Plan $billingPlan -Location $location -Description 'Test Collection'" + $trackIdCollection = New-AzureRemoteAppCollection -CollectionName $Collection -ImageName $templateImage.Name -Plan $billingPlan -Location $location -Description 'Test Collection' -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + do + { + Write-Verbose "Waiting current time: $(Get-Date)" + sleep -Seconds (PollingInterval) + + $collectionState = Get-AzureRemoteAppOperationResult -TrackingId $trackIdCollection.TrackingId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Write-Verbose "Collection state: $($collectionState.Status)" + } while ($collectionState.Status -eq 'InProgress' -or $collectionState.Status -eq 'Pending') + + Assert -Condition {$collectionState.Status -eq 'Success'} + Write-Verbose "$($MyInvocation.MyCommand.name) succsssfully created this collection $Collection" +} + + +<# + This will pick a 5 applications to publish, verifies that they've been published and returns the Publishing Info. +#> +function PublishRemoteApplications([string] $Collection) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $numOfApps = 5 + $availablePrograms = Get-AzureRemoteAppStartMenuProgram $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert({$availablePrograms.Count -ge $numOfApps}) + + $currentPrograms = Get-AzureRemoteAppProgram -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $programsToPublish = $availablePrograms[0..2] + $programsToPublish += $availablePrograms[$($availablePrograms.Count-2)..$($availablePrograms.Count-1)] + Assert({$programsToPublish.Count -eq $numOfApps}) + $applications = $programsToPublish | % { + Publish-AzureRemoteAppProgram -CollectionName $Collection -StartMenuAppId $_.StartMenuAppId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $publishedPrograms = Get-AzureRemoteAppProgram -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert -Condition {($publishedPrograms.Count - $currentPrograms.Count) -eq $numOfApps} + + $applications | % {Write-Verbose "($([IO.FileInfo]$_.ApplicationVirtualPath))"} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" + + $applications +} + + +<# + This will pick a add the given users to the collection. +#> +function AddRemoteAppUsers([string] $Collection, [string[]] $msaUsers) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $previousUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $msaUsers | % { + Add-AzureRemoteAppUser -CollectionName $Collection -Type MicrosoftAccount -UserUpn $_ -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $currentUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Assert -Condition {($previousUsers.Count + $msaUsers.Count) -eq $currentUsers.Count} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" + + $currentUsers | % {Write-Verbose "Username: $($_.Name),and Type: $($_.UserIdType)" } +} + +<# + This will remove the given users from the collection. +#> +function RemoveRemoteAppUsers([string] $Collection, [string[]] $msaUsers) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $previousUsers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + $msaUsers | % { + Remove-AzureRemoteAppUser -CollectionName $Collection -Type MicrosoftAccount -UserUpn $_ -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + } + + $currentUssers = Get-AzureRemoteAppUser -CollectionName $Collection -ErrorAction SilentlyContinue -ErrorVariable er + Assert -Condition {$currentUsers -eq $null} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + +<# + This will unpublish the specified applications from the collection. +#> +function UnpublishRemoteApplications([string] $Collection, [string[]] $applications) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $applications | % { + Unpublish-AzureRemoteAppProgram -CollectionName $Collection -Alias $_ -ErrorAction SilentlyContinue -ErrorVariable er | Out-Null + if ($? -eq $false) + { + throw $er + } + } + + Sleep 60 # seconds + $remainingApps = Get-AzureRemoteAppProgram $Collection | % Alias + + $failedToUnpublish = $remainingApps | ? {$applications -contains $_} + Assert -Condition {$failedToUnpublish -eq $null} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + +<# + This delete the collection +#> +function DeleteRemoteAppCollection([string] $Collection) +{ + Write-Verbose "Entering $($MyInvocation.MyCommand.name)" + $trackIdCollection = Remove-AzureRemoteAppCollection -CollectionName $Collection + + do + { + Write-Verbose "Waiting current time: $(Get-Date)" + sleep -Seconds (PollingInterval) + + $collectionState = Get-AzureRemoteAppOperationResult -TrackingId $trackIdCollection.TrackingId -ErrorAction SilentlyContinue -ErrorVariable er + if ($? -eq $false) + { + throw $er + } + + Write-Verbose "Collection state: $($collectionState.Status)" + } while ($collectionState.Status -eq 'InProgress' -or $collectionState.Status -eq 'Pending') + + Assert -Condition {$collectionState.Status -eq 'Success'} + Write-Verbose "$($MyInvocation.MyCommand.name) completed succsssfully" +} + + +function TestRemoteAppEndToEnd() +{ + $collection = 'CICollection' + $msaUsers = "auxtm259@live.com", "auxtm260@live.com", "auxtm261@live.com" + Set-Variable -Name VerbosePreference -Value Continue + + Write-Verbose "Starting current time: $(Get-Date)" + CreateCloudCollection $collection + $applications = PublishRemoteApplications $collection + AddRemoteAppUsers $collection $msaUsers + RemoveRemoteAppUsers $collection $msaUsers + UnpublishRemoteApplications $collection ($applications | % {$_.ApplicationAlias}) + DeleteRemoteAppCollection $collection +} diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTests.CreateCloudCollection/TestRemoteAppEndToEnd.json b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTests.CreateCloudCollection/TestRemoteAppEndToEnd.json new file mode 100644 index 000000000000..b012adbd57da --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTests.CreateCloudCollection/TestRemoteAppEndToEnd.json @@ -0,0 +1,2046 @@ +{ + "Entries": [ + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/locations?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9sb2NhdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"DisplayName\": \"West US\",\r\n \"Name\": \"West US\"\r\n },\r\n {\r\n \"DisplayName\": \"East US\",\r\n \"Name\": \"East US\"\r\n },\r\n {\r\n \"DisplayName\": \"East Asia\",\r\n \"Name\": \"East Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"Southeast Asia\",\r\n \"Name\": \"Southeast Asia\"\r\n },\r\n {\r\n \"DisplayName\": \"North Europe\",\r\n \"Name\": \"North Europe\"\r\n },\r\n {\r\n \"DisplayName\": \"West Europe\",\r\n \"Name\": \"West Europe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "295" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "bc63553bb95fa57db8cd5045aa171781" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:26:45 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/templateImages?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC90ZW1wbGF0ZUltYWdlcz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Id\": \"9a920fd4-f697-4e98-9c48-671642c39888\",\r\n \"Name\": \"asuploaded\",\r\n \"NumberOfLinkedCollections\": 1,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": null,\r\n \"RegionList\": [\r\n \"West US\"\r\n ],\r\n \"Sas\": \"?sv=2012-02-12&sr=b&si=9a920fd4-f697-4e98-9c48-671642c39888&sig=s1Hf1e2aKJV76DTAoYsfdsuSop3A1OxJTD%2BHfzXIEnw%3D\",\r\n \"SasExpiry\": \"2015-05-25T21:32:34.508Z\",\r\n \"Size\": 42949673472,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 0,\r\n \"UploadCompleteTime\": \"2015-05-22T21:59:16.541Z\",\r\n \"UploadSetupTime\": \"2015-05-22T21:32:34.714Z\",\r\n \"UploadStartTime\": \"2015-05-22T21:58:06.791Z\",\r\n \"Uri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/goldimages/9a920fd4-f697-4e98-9c48-671642c39888.vhd\"\r\n },\r\n {\r\n \"Id\": \"d650edb6-718c-4e62-9fd7-fa244ad23230\",\r\n \"Name\": \"uitestimported\",\r\n \"NumberOfLinkedCollections\": 0,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": null,\r\n \"RegionList\": [\r\n \"West US\"\r\n ],\r\n \"Sas\": null,\r\n \"SasExpiry\": \"1900-01-01T00:00:00Z\",\r\n \"Size\": 136367309312,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 0,\r\n \"UploadCompleteTime\": \"2015-05-22T22:48:18.717Z\",\r\n \"UploadSetupTime\": \"2015-05-22T22:33:39.841Z\",\r\n \"UploadStartTime\": \"2015-05-22T22:46:55.234Z\",\r\n \"Uri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/goldimages/d650edb6-718c-4e62-9fd7-fa244ad23230.vhd\"\r\n },\r\n {\r\n \"Id\": \"ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150514-2210\",\r\n \"Name\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"NumberOfLinkedCollections\": 0,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": \"\",\r\n \"RegionList\": [\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"Central US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"West US\"\r\n ],\r\n \"Sas\": \"\",\r\n \"SasExpiry\": \"1899-12-31T16:00:00-08:00\",\r\n \"Size\": 0,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 1,\r\n \"UploadCompleteTime\": \"2015-05-14T23:02:10.156Z\",\r\n \"UploadSetupTime\": \"2015-05-14T23:02:10.156Z\",\r\n \"UploadStartTime\": \"1899-12-31T16:00:00-08:00\",\r\n \"Uri\": \"\"\r\n },\r\n {\r\n \"Id\": \"ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150513-1800\",\r\n \"Name\": \"Windows Server RDSHwO365P on Windows Server 2012 R2\",\r\n \"NumberOfLinkedCollections\": 0,\r\n \"OfficeType\": 0,\r\n \"PathOnClient\": \"\",\r\n \"RegionList\": [\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"North Europe\",\r\n \"West Europe\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"Central US\",\r\n \"East US\",\r\n \"East US 2\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"West US\"\r\n ],\r\n \"Sas\": \"\",\r\n \"SasExpiry\": \"1899-12-31T16:00:00-08:00\",\r\n \"Size\": 0,\r\n \"Status\": 8,\r\n \"TrialOnly\": false,\r\n \"Type\": 1,\r\n \"UploadCompleteTime\": \"2015-05-13T20:37:23.415Z\",\r\n \"UploadSetupTime\": \"2015-05-13T20:37:23.415Z\",\r\n \"UploadStartTime\": \"1899-12-31T16:00:00-08:00\",\r\n \"Uri\": \"\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "2573" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "18079624a242a83cb6542dad91bfd08e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:26:47 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/BillingPlans?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9CaWxsaW5nUGxhbnM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"19d0f014-6ead-4a5c-bd2b-ee5ae6c7f5c2\",\r\n \"PlanName\": \"Standard\"\r\n },\r\n {\r\n \"AddOns\": \"\",\r\n \"CoresPerUser\": 0.25,\r\n \"MinimumBilledUserCount\": 20,\r\n \"PlanId\": \"493d3553-a732-4764-b18c-a239982fdbec\",\r\n \"PlanName\": \"Basic\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "262" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "ee65114e7743a1e3a08c43c20edc0886" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:26:49 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services?service=rdsr8&action=register", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcz9zZXJ2aWNlPXJkc3I4JmFjdGlvbj1yZWdpc3Rlcg==", + "RequestMethod": "PUT", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n ConflictError\r\n The resource type rdsr8 is already registered for this subscription.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "230" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9e516e5ed0bdafdda683cce8950fb769" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:26:53 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 409 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections?PopulateOnly=false&api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucz9Qb3B1bGF0ZU9ubHk9ZmFsc2UmYXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"Name\": \"CICollection\",\r\n \"Description\": \"Test Collection\",\r\n \"TemplateImageName\": \"Windows Server RDSHwO13P on Windows Server 2012 R2\",\r\n \"BillingPlanName\": \"Standard\",\r\n \"ReadyForPublishing\": false,\r\n \"Mode\": 1,\r\n \"Region\": \"West US\",\r\n \"PublishedApplications\": [],\r\n \"AllowedPrincipals\": []\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "309" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4" + ], + "x-remoteapp-operation-tracking-id": [ + "21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4" + ], + "x-ms-request-id": [ + "c9e82e35282ba9c0956b74f1baaa37d1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:26:57 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzLzIxYjc3ZDEzLWNhMWItNGY5Zi05YzY2LWU4ZGZlYTdhMjNkND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "933b38d4739aa6869248a0ad6e449280" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:31:59 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzLzIxYjc3ZDEzLWNhMWItNGY5Zi05YzY2LWU4ZGZlYTdhMjNkND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5f044d4e0afaa4f0b3d4f3f18209d74a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:37:02 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzLzIxYjc3ZDEzLWNhMWItNGY5Zi05YzY2LWU4ZGZlYTdhMjNkND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "88" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "d1653e5995b8a9b3adaa70f326815276" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:42:05 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/21b77d13-ca1b-4f9f-9c66-e8dfea7a23d4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzLzIxYjc3ZDEzLWNhMWItNGY5Zi05YzY2LWU4ZGZlYTdhMjNkND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"CreateFreshDeployment_Domain\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "85" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2ad482e88defa95b9077f36899190038" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:08 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/a297f2a6-a708-4aa4-af73-1f5901db22bf.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=PRDpiH6AOQut60shbRW9AqO1DdynH%2F3WQJHIJtwzrbI%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/17a5c61f-98b8-4e7b-9810-d008afd16474.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=3tLcFDKEA6QIKwX5VGMtRjYFyFImD1r8JlyZR3QyLos%3D\",\r\n \"Id\": \"230e0b5b-45f3-480a-b8d8-18b7e431d42e\",\r\n \"Name\": \"OneNote\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\ONENOTE.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/7bd109ee-f5ab-4127-91cf-371fc43940b6.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=NXNnbysN%2FtrOVeOLOB0r3M%2BOO0gL%2BVJ7SFqjOY7519c%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/40c2cfac-f2db-48aa-94d7-0a1bf499927c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=YGrFS%2Flk2sJ0rCwIR0oipkHV%2F1lD2n3NLhQAEdnlQEA%3D\",\r\n \"Id\": \"2736d2ce-0afe-4085-acb7-19cd214a2b76\",\r\n \"Name\": \"PowerShell\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c3f85baf-8640-404c-bf13-96174e7f80ba.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=KOnmOctNs2bLYyt%2FcBaSxSKA5r0h5tbZtHF9yEUUf6Y%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/12384e20-0252-4ad1-b87a-512a4539a5c3.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=5LaNtBI49i3pkhwX2%2F%2F%2BQSv1nSU3zM8g71Wb7TB2N9o%3D\",\r\n \"Id\": \"2d97c080-59ba-4ce5-818a-4f7a7b46705f\",\r\n \"Name\": \"MediaPlayer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Windows Media Player\\\\wmplayer.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/dfbb262b-a7c2-45d7-a21f-352239bec608.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=bsR660CobFGzsYme18FCydseVAQg8Bpk%2BCjH6AgVq0g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/aa357ad8-c2c9-4486-8da2-5d42c89b9e22.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=uYDAc8iPqYoe6Hn%2FH%2B4sdmRrmZDwV%2FnA8DJoOaGAj6Y%3D\",\r\n \"Id\": \"3c84069d-8c27-4f8b-9ce6-3e0832f53586\",\r\n \"Name\": \"Outlook\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\OUTLOOK.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/ef8ad6a9-59ba-4e63-a994-496ded66e6fe.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=vEsxhpEIUKj8z8hMdqMjHaZ6aKN9YbAaKM%2B1Df4JhEk%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/970bfc6b-8782-4d6f-af5e-631ca11a2b69.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=zgl7tI6u9MKTyMdYTtjnvJNFzXK7DjG0aqosn0gqFwY%3D\",\r\n \"Id\": \"56dc7a9c-ece0-4c31-94d8-b58526637dee\",\r\n \"Name\": \"InternetExplorer\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Internet Explorer\\\\iexplore.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/1bc40e92-d6f9-4a8b-a0c8-09ab4e53bef8.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=qF5mJ5tBVxru32r8MHJGUGtOpyH3GNRIVpdelfEE2sQ%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/f9387193-24f9-4cf9-b90f-7b123c183382.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=V6jWcNrL7IVMtncc5X6ChU5tTpVgjOJrub7fVZhlDwY%3D\",\r\n \"Id\": \"5f8b9797-3f6c-45cf-85e9-7e7bdb9dd9ca\",\r\n \"Name\": \"Lync\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\lync.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/aaa17678-1e8f-42b6-b741-3a87761078ce.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=7%2B8szZi3a72M%2FyKXrLzNhnNJUXQ98gqDa629N2KJ%2BiU%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/9d4c1680-9b19-499f-85b1-f93b14dc034c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=PArQNcufYWu99zj5OWqcWVfzSjuUwsgfyyZJD1bWGVg%3D\",\r\n \"Id\": \"608ec71e-4f30-476d-8f81-fe38638bb0ab\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/5de824e9-efaf-468f-8eda-e4edf9cf437c.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=FSQlO8EtPsfUx1wL%2FdMNFfNT%2FtEkCeTPQjW0gaVZ4Sg%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c9e9165c-50cd-4615-bd66-86b9086633f3.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=G7KYBjUDfh1c7JB2sjimmhIu0FMl4DS2EBH7jZKuwAo%3D\",\r\n \"Id\": \"68850412-3592-4cf8-a9e3-41e845e6f9cd\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/d8363c25-ffb3-4e5a-b747-d5fe86d3a371.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=EZyWroR4WBurhDjfGAGzQeeez99QXVlbIkK0izJqjnY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c7c6d895-0a35-45d5-91d6-a91a88d84ee9.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=5U3YZfgA2BxXaUECp93YbyoyvY1Z9Rj6Mj63CPNlaS0%3D\",\r\n \"Id\": \"830072f3-84cb-4b63-84ce-1e1c904d04bf\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/7692feba-5784-4148-93b1-d2b6a7914bd0.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=suI1%2F38txvkPSAe7%2BRGj5D4cFSICwRHhLMi1kYdM5yA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/d3839470-5113-4200-9534-13a6b50e0ba7.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=yGoKsogq8yYSnEd%2FJJv8oTbDZXhidjBZsnJmQVSjIfw%3D\",\r\n \"Id\": \"83541a22-179e-4ded-a042-af9557da897a\",\r\n \"Name\": \"Project\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINPROJ.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/dd8e633f-2913-49dc-af83-2d2d29914889.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=97l55zEK8vUWpsk03B%2Fi6Mr7%2BpFEgPKmZSx5Ki937no%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/83dd48ee-426b-4f7e-af52-55520652372c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=qd9Mp8jyq820ik%2FZbMeGgiHXb5IGJEkQHsvcY4Sox3I%3D\",\r\n \"Id\": \"8f1ced01-5081-41b4-9d4c-3dc2a33ac92c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/ec86ce2b-d9cd-4db6-87ef-fa1636fd684d.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=I2gHBFQb1snT%2FMY0ZKGYbETWA1DxT%2BHg07CblXzxByE%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/9b7d39ce-32d5-4ab1-9e2d-d7665c899203.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=kntB9p2cqBG5gxQ7TtOWwauLQ5zZLGawLmj%2BJ%2B4GnJA%3D\",\r\n \"Id\": \"9758f483-ee6a-4622-ba22-494291ee6851\",\r\n \"Name\": \"PowerPoint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\POWERPNT.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/b32a6a1d-2279-4c34-9ebd-4835678a584d.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=1pezOgkS2R122G1ZK5%2F%2FUo1ZU048nRU7CNNP0vuE4dY%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/554d7882-09d9-4868-b912-ed9de6e89d90.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=kZR9nRQNV5jKeeMlWLWB%2FHzJLwsFZKKWzJefKGoYpYk%3D\",\r\n \"Id\": \"c140cb4f-6118-4171-960a-3c9f6b8a8ab1\",\r\n \"Name\": \"Paint\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/31ce03f1-a670-4c7c-990b-d19896e530f3.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=GLIsL7T0FZobDGHgCapK5v%2Fic1%2FUF3Nhw6OaKvQkP00%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/24b66c12-1b28-4922-b730-67543ba3934e.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=N45%2BUIGiiG6YmN4bO5ZkK4ZpUUboeb2AN2nmGMO2OQQ%3D\",\r\n \"Id\": \"d6ce5365-a323-4d4c-b00a-3f68f0c1adad\",\r\n \"Name\": \"Excel\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\EXCEL.EXE\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/617f7b95-56bf-4609-bcd5-9205c9857945.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=jzmuXA1qRYBcIzVJ2d96Vl4EDPUjv%2Br7ADV4NUH8M8Q%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/3afa0cd6-5f61-423d-ae62-29dc10f0b2b1.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=K0kqVZNdZi1Xucqa1BLAzuKOpTvI1AKRgqcWjYfCBEc%3D\",\r\n \"Id\": \"dee0ec9e-3138-4be8-8402-01317456675d\",\r\n \"Name\": \"PowerShellISE\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell_ise.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c047fc28-136c-4f5a-a20b-fd76284e7f11.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=CfXi17wShsPyJ0%2FPA%2BsN6r%2F8WWNm9NjpX63OR6m02Bk%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/03ee9238-80da-4226-b1f7-b3782f43bc51.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=7i%2FRTB3ybrRVYGBex%2FQ%2Fyu2YOHXJTk2LzG24akAOhsY%3D\",\r\n \"Id\": \"e16dcecb-bf16-4e69-8f37-2606136ce69c\",\r\n \"Name\": \"cmd\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\cmd.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/884e061e-efd4-4444-b007-c64be8c54fc3.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=RXeY%2FF2HyTeFWXv3TMtSaBtG%2BDotF5Fc1LrDKtcDTB8%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/e1478308-2ae4-49ef-a369-087dc512ad79.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=Vzlc1I6ucMnVCU7kmyhs6pRAV2HaB0YsAXWRLLs4HB8%3D\",\r\n \"Id\": \"f3b817b0-92ea-4136-8100-72e7607aefcc\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c69883a9-66a1-45eb-ba12-8d59830e9240.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=Lc%2BeCURv9jyzoZXHGGaQ5ezLgK6dg5j%2B0tBB85EgYf4%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/2744f590-73b4-4829-bc13-27589bc0344b.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A11Z&sr=b&sp=r&sig=IrToen2BCwiRtvYpEiuj9gkY7CU%2B2U53a0WtsPTpUi4%3D\",\r\n \"Id\": \"f46658df-aed3-4ae4-beea-05cd3f4f5888\",\r\n \"Name\": \"OneDriveBusiness\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\GROOVE.EXE\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "11392" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "038d739cfe3cad1b818147ed1d7dda4f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:10 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"95b5c89c-9184-475a-8d61-d3634b480da1\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/529ca55c-bd41-4986-90cc-dfbab0a27e93.png?se=2015-06-08T03%3A17%3A13Z&sr=b&sp=r&sig=X7Gm2ipWyd0b6bjD%2F37HuxDhcSp9jBt90BZDtTw4hZ0%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/c6a5f646-ffb4-469f-af01-929a18f65de7.ico?se=2015-06-08T03%3A17%3A13Z&sr=b&sp=r&sig=WC7gPLE2bb27zkiaUZFj83F8EdJWAsqMrcLPB5HbzOY%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "603" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a3d250f5eb88af0589cdaca37ec40d4a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:13 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"1320b99e-bc90-429d-be8c-318ee72708cc\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default32.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7tFa230qqOjsXGqMs17el%2B49Isl7lnEBUcaMTHf4rns%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7H9h8mymVtorm9P18nBmr0DdJGk4qYeXho7IxGXYSXA%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n },\r\n {\r\n \"Alias\": \"5500af8a-41a8-46c4-8360-b1e462a97a72\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default32.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7tFa230qqOjsXGqMs17el%2B49Isl7lnEBUcaMTHf4rns%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7H9h8mymVtorm9P18nBmr0DdJGk4qYeXho7IxGXYSXA%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n },\r\n {\r\n \"Alias\": \"6500e321-e09a-4945-8b01-d16a635a4ab9\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default32.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7tFa230qqOjsXGqMs17el%2B49Isl7lnEBUcaMTHf4rns%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7H9h8mymVtorm9P18nBmr0DdJGk4qYeXho7IxGXYSXA%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n },\r\n {\r\n \"Alias\": \"95b5c89c-9184-475a-8d61-d3634b480da1\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/529ca55c-bd41-4986-90cc-dfbab0a27e93.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=xYezFUVkv9Q08M9nsYsxzcMioUCWDdJr7We%2BuOQ7N2I%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/c6a5f646-ffb4-469f-af01-929a18f65de7.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=qaT9sy%2FaXQIxfvGaCa7a2OxaoRiOU97LQvjLWGhDeFY%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n },\r\n {\r\n \"Alias\": \"bb4e8fa0-1154-4b66-b96d-0e8ac5373724\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default32.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7tFa230qqOjsXGqMs17el%2B49Isl7lnEBUcaMTHf4rns%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7H9h8mymVtorm9P18nBmr0DdJGk4qYeXho7IxGXYSXA%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n },\r\n {\r\n \"Alias\": \"c1b2cafb-ed91-4eb5-aebe-5542a035eb14\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": null,\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default32.png?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7tFa230qqOjsXGqMs17el%2B49Isl7lnEBUcaMTHf4rns%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/default.ico?se=2015-06-08T03%3A17%3A37Z&sr=b&sp=r&sig=7H9h8mymVtorm9P18nBmr0DdJGk4qYeXho7IxGXYSXA%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "3459" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e84579b5e25aa110a7c95f661f14cc7c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:36 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Alias\": \"95b5c89c-9184-475a-8d61-d3634b480da1\",\r\n \"AvailableToUsers\": true,\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvred8rdcx.blob.core.windows.net/icons/529ca55c-bd41-4986-90cc-dfbab0a27e93.png?se=2015-06-08T03%3A19%3A14Z&sr=b&sp=r&sig=ROq6oQAVWRpJ8%2FbVBGUdBtWgTuXwk4yV5uPouYWWHLk%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvred8rdcx.blob.core.windows.net/icons/c6a5f646-ffb4-469f-af01-929a18f65de7.ico?se=2015-06-08T03%3A19%3A14Z&sr=b&sp=r&sig=4wTuQy8JjOQ47DYILoJoqwpnt%2FaeDJZg%2FFJRdzuDXgw%3D\",\r\n \"Name\": \"Paint\",\r\n \"Status\": 1,\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\mspaint.exe\"\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "607" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9eeae89ccbb9a36cab1965aa64ebdcdc" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:49:13 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps/8f1ced01-5081-41b4-9d4c-3dc2a33ac92c?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcy84ZjFjZWQwMS01MDgxLTQxYjQtOWQ0Yy0zZGMyYTMzYWM5MmM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/dd8e633f-2913-49dc-af83-2d2d29914889.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A15Z&sr=b&sp=r&sig=FOhhEEUFipDnm457JwOQ9EOVgeeU6SoWJbhixUoeBXk%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/83dd48ee-426b-4f7e-af52-55520652372c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A15Z&sr=b&sp=r&sig=tT2IQmlmc0G0AQxUBwCc4qlfQCr02hpCnmZ1RpIDRuU%3D\",\r\n \"Id\": \"8f1ced01-5081-41b4-9d4c-3dc2a33ac92c\",\r\n \"Name\": \"Access\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "629" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0f93770a500ba432898fbec091e98aba" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:14 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/83dd48ee-426b-4f7e-af52-55520652372c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A15Z&sr=b&sp=r&sig=tT2IQmlmc0G0AQxUBwCc4qlfQCr02hpCnmZ1RpIDRuU%3D\",\r\n \"Name\": \"Access\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/dd8e633f-2913-49dc-af83-2d2d29914889.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A15Z&sr=b&sp=r&sig=FOhhEEUFipDnm457JwOQ9EOVgeeU6SoWJbhixUoeBXk%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "745" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c1b2cafb-ed91-4eb5-aebe-5542a035eb14\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\MSACCESS.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "194" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e8ce02bcb43aa537a1085fe14fe11544" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/e1478308-2ae4-49ef-a369-087dc512ad79.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A19Z&sr=b&sp=r&sig=7OtSgLJTsbyYYaLjzgj6Sk8%2FynuhNlwdAsbatHq7gMk%3D\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/884e061e-efd4-4444-b007-c64be8c54fc3.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A19Z&sr=b&sp=r&sig=JU72h4lMbqzgrASIOPMc5uWEQb1Cwaijx8PMV%2FKV83g%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "764" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"1320b99e-bc90-429d-be8c-318ee72708cc\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "200" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "3bd1ef610959a7da97895c51460bf6bf" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:21 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c7c6d895-0a35-45d5-91d6-a91a88d84ee9.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A23Z&sr=b&sp=r&sig=st7NqJ915wiY3TgSQfiZAMU5Pgn6zR1ahJ4293P2%2Bm4%3D\",\r\n \"Name\": \"Calculator\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/d8363c25-ffb3-4e5a-b747-d5fe86d3a371.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A23Z&sr=b&sp=r&sig=kftd68hYKBuLBqoouXb%2FxvoHypcTGCaaqahinoXsaGE%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "725" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"bb4e8fa0-1154-4b66-b96d-0e8ac5373724\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "166" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "6a8ec669b46eaba18bccfeb0924c98d8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:25 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/9d4c1680-9b19-499f-85b1-f93b14dc034c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A28Z&sr=b&sp=r&sig=4nr50D2rAXhN29oF2QOZkz0%2BfVQGIr9xpXSg0%2F46ruc%3D\",\r\n \"Name\": \"Visio\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/aaa17678-1e8f-42b6-b741-3a87761078ce.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A28Z&sr=b&sp=r&sig=gvARbA0x1qjb%2BzA%2Fz1yPQ1pyU0qHsvrw2siEZyv8mGA%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "749" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"5500af8a-41a8-46c4-8360-b1e462a97a72\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "288a9649fbb6a846bb035ecdeb59f73f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:30 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"AvailableToUsers\": true,\r\n \"Alias\": \"\",\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c9e9165c-50cd-4615-bd66-86b9086633f3.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A33Z&sr=b&sp=r&sig=RrRNQcD3LsY6%2By449%2FJkyyDX1S%2FxWhWgbFkgHfrRv4w%3D\",\r\n \"Name\": \"Word\",\r\n \"Status\": 0,\r\n \"IconPngUris\": {\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": \"32\",\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/5de824e9-efaf-468f-8eda-e4edf9cf437c.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A33Z&sr=b&sp=r&sig=GfzVWkaNoB3awAxc9nJQfVSJcLMuL0eq%2FSUJqLfmKSo%3D\"\r\n }\r\n ]\r\n },\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "750" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"6500e321-e09a-4945-8b01-d16a635a4ab9\",\r\n \"ApplicationVirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\",\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "193" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "119976734ff7a1b68531ca6d0ccb68a9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:34 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps/f3b817b0-92ea-4136-8100-72e7607aefcc?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcy9mM2I4MTdiMC05MmVhLTQxMzYtODEwMC03MmU3NjA3YWVmY2M/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/884e061e-efd4-4444-b007-c64be8c54fc3.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A19Z&sr=b&sp=r&sig=JU72h4lMbqzgrASIOPMc5uWEQb1Cwaijx8PMV%2FKV83g%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/e1478308-2ae4-49ef-a369-087dc512ad79.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A19Z&sr=b&sp=r&sig=7OtSgLJTsbyYYaLjzgj6Sk8%2FynuhNlwdAsbatHq7gMk%3D\",\r\n \"Id\": \"f3b817b0-92ea-4136-8100-72e7607aefcc\",\r\n \"Name\": \"Adobe Reader XI\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files (x86)\\\\Adobe\\\\Reader 11.0\\\\Reader\\\\AcroRd32.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "648" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "3134e1c48a6dac2eae6b97d0eb844dd9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:18 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps/830072f3-84cb-4b63-84ce-1e1c904d04bf?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcy84MzAwNzJmMy04NGNiLTRiNjMtODRjZS0xZTFjOTA0ZDA0YmY/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/d8363c25-ffb3-4e5a-b747-d5fe86d3a371.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A23Z&sr=b&sp=r&sig=kftd68hYKBuLBqoouXb%2FxvoHypcTGCaaqahinoXsaGE%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c7c6d895-0a35-45d5-91d6-a91a88d84ee9.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A23Z&sr=b&sp=r&sig=st7NqJ915wiY3TgSQfiZAMU5Pgn6zR1ahJ4293P2%2Bm4%3D\",\r\n \"Id\": \"830072f3-84cb-4b63-84ce-1e1c904d04bf\",\r\n \"Name\": \"Calculator\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Windows\\\\System32\\\\calc.exe\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "609" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "206fb46fee2fa9e1804e4baf24b4c2b2" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:23 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps/608ec71e-4f30-476d-8f81-fe38638bb0ab?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcy82MDhlYzcxZS00ZjMwLTQ3NmQtOGY4MS1mZTM4NjM4YmIwYWI/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/aaa17678-1e8f-42b6-b741-3a87761078ce.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A28Z&sr=b&sp=r&sig=gvARbA0x1qjb%2BzA%2Fz1yPQ1pyU0qHsvrw2siEZyv8mGA%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/9d4c1680-9b19-499f-85b1-f93b14dc034c.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A28Z&sr=b&sp=r&sig=4nr50D2rAXhN29oF2QOZkz0%2BfVQGIr9xpXSg0%2F46ruc%3D\",\r\n \"Id\": \"608ec71e-4f30-476d-8f81-fe38638bb0ab\",\r\n \"Name\": \"Visio\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\VISIO.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "633" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2ba39d455544a99aa6a1ac22cdd2cc88" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:28 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/startMenuApps/68850412-3592-4cf8-a9e3-41e845e6f9cd?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc3RhcnRNZW51QXBwcy82ODg1MDQxMi0zNTkyLTRjZjgtYTllMy00MWU4NDVlNmY5Y2Q/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"CommandLineArguments\": \"\",\r\n \"IconPngUris\": [\r\n {\r\n \"Key\": 32,\r\n \"Value\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/5de824e9-efaf-468f-8eda-e4edf9cf437c.png?sv=2012-02-12&se=2015-06-08T03%3A17%3A33Z&sr=b&sp=r&sig=GfzVWkaNoB3awAxc9nJQfVSJcLMuL0eq%2FSUJqLfmKSo%3D\"\r\n }\r\n ],\r\n \"IconUri\": \"https://cdvwu215454498rdcm.blob.core.windows.net/icons/c9e9165c-50cd-4615-bd66-86b9086633f3.ico?sv=2012-02-12&se=2015-06-08T03%3A17%3A33Z&sr=b&sp=r&sig=RrRNQcD3LsY6%2By449%2FJkyyDX1S%2FxWhWgbFkgHfrRv4w%3D\",\r\n \"Id\": \"68850412-3592-4cf8-a9e3-41e845e6f9cd\",\r\n \"Name\": \"Word\",\r\n \"VirtualPath\": \"%SYSTEMDRIVE%\\\\Program Files\\\\Microsoft Office\\\\Office15\\\\WINWORD.EXE\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "634" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "6c0370fca78caa47871bd6f1dd78f585" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:32 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[]", + "ResponseHeaders": { + "Content-Length": [ + "2" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "a208276d892ea43181657034f5d65edd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:38 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm259@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm260@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm261@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "373" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "afcca5c818fca6fc9344e5d0082bb8a2" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:48 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm259@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm260@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n },\r\n {\r\n \"Status\": 1,\r\n \"User\": {\r\n \"AadObjectId\": \"\",\r\n \"Description\": \"\",\r\n \"Name\": \"auxtm261@live.com\",\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1\r\n }\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "373" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "86e460b2708ea75498faf39539c8435e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:51 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[]", + "ResponseHeaders": { + "Content-Length": [ + "2" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "afb760b517caac0cb68cf874c025400f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:00 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm259@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "c1e9ccf3ba8aa54fad9d888421b3ac98" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:40 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm260@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0d5ce9b23238ab3db80687c3b2898908" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:43 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm261@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "5577ae91be44a4dea9a9cdb9e44ba090" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:47 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm259@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "69db66c4e172a676bdd4f9034552b65d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:53 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm260@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "52e2e4ab9195a4a0ab937c37c6608c8a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:55 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/securityPrincipals?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vc2VjdXJpdHlQcmluY2lwYWxzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n {\r\n \"SecurityPrincipalType\": 0,\r\n \"UserIdType\": 1,\r\n \"Name\": \"auxtm261@live.com\"\r\n }\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"FailedSecurityPrincipals\": []\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "31" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "7933bad7b940af7baac9804ae8e11fdf" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:47:57 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"c1b2cafb-ed91-4eb5-aebe-5542a035eb14\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"c1b2cafb-ed91-4eb5-aebe-5542a035eb14\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "0a44063f0dbfa960a8f7c020168a9477" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:02 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"1320b99e-bc90-429d-be8c-318ee72708cc\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"1320b99e-bc90-429d-be8c-318ee72708cc\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "9ac88eacf703ab81822ce98a6cfca8a9" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:04 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"bb4e8fa0-1154-4b66-b96d-0e8ac5373724\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"bb4e8fa0-1154-4b66-b96d-0e8ac5373724\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "6a1b72f1c874a7ccaa03ee2473c7c94b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:06 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"5500af8a-41a8-46c4-8360-b1e462a97a72\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"5500af8a-41a8-46c4-8360-b1e462a97a72\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "d9968a0c2a7ea4eca55355fabcd3d714" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:09 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection/applications?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24vYXBwbGljYXRpb25zP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=", + "RequestMethod": "DELETE", + "RequestBody": "[\r\n \"6500e321-e09a-4945-8b01-d16a635a4ab9\"\r\n]", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "46" + ], + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "[\r\n {\r\n \"ApplicationAlias\": \"6500e321-e09a-4945-8b01-d16a635a4ab9\",\r\n \"ApplicationVirtualPath\": null,\r\n \"ErrorMessage\": null,\r\n \"Success\": true\r\n }\r\n]", + "ResponseHeaders": { + "Content-Length": [ + "126" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "556b34616306ab8eb54b3b143b480bba" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:48:10 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/collections/CICollection?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9jb2xsZWN0aW9ucy9DSUNvbGxlY3Rpb24/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-clouddv-tracking-id": [ + "d58af98f-969e-4fa9-89ab-49ddf10abaf4" + ], + "x-remoteapp-operation-tracking-id": [ + "d58af98f-969e-4fa9-89ab-49ddf10abaf4" + ], + "x-ms-request-id": [ + "2085d292a7f3af1fb0e31064879f5610" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:49:15 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/d58af98f-969e-4fa9-89ab-49ddf10abaf4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzL2Q1OGFmOThmLTk2OWUtNGZhOS04OWFiLTQ5ZGRmMTBhYmFmND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "e150d91cb220a4e0b0f2cbf92cc30870" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:54:17 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/d58af98f-969e-4fa9-89ab-49ddf10abaf4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzL2Q1OGFmOThmLTk2OWUtNGZhOS04OWFiLTQ5ZGRmMTBhYmFmND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "3a911c9a9749afffb3f4b18c1f504e8b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 02:59:20 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/d58af98f-969e-4fa9-89ab-49ddf10abaf4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzL2Q1OGFmOThmLTk2OWUtNGZhOS04OWFiLTQ5ZGRmMTBhYmFmND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2092522f3b48a0bd81a8d1be413e7f98" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 03:04:22 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/d58af98f-969e-4fa9-89ab-49ddf10abaf4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzL2Q1OGFmOThmLTk2OWUtNGZhOS04OWFiLTQ5ZGRmMTBhYmFmND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"InProgress\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "84" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "2aa3fff09301a922ab8e23e0b49e615d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 03:09:24 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/30da001a-1a9e-48a1-8b77-e5abcfe38bdc/services/rdsr8/operationResults/d58af98f-969e-4fa9-89ab-49ddf10abaf4?api-version=2014-09-01", + "EncodedRequestUri": "LzMwZGEwMDFhLTFhOWUtNDhhMS04Yjc3LWU1YWJjZmUzOGJkYy9zZXJ2aWNlcy9yZHNyOC9vcGVyYXRpb25SZXN1bHRzL2Q1OGFmOThmLTk2OWUtNGZhOS04OWFiLTQ5ZGRmMTBhYmFmND9hcGktdmVyc2lvbj0yMDE0LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "Accept": [ + "application/json; charset=utf-8" + ], + "x-ms-version": [ + "2014-08-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.RemoteApp.RemoteAppManagementClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"Description\": \"DeleteExistingDeployment\",\r\n \"ErrorDetails\": null,\r\n \"Status\": \"Success\"\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "81" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "uswest" + ], + "x-ms-request-id": [ + "fa8ffb89e9f3a9bf90a77c24dab268b7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Mon, 08 Jun 2015 03:14:26 GMT" + ], + "Server": [ + "1.0.6190.5955", + "(rd_rdfe_n.150416-1241)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "30da001a-1a9e-48a1-8b77-e5abcfe38bdc" + } +} \ No newline at end of file diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Collection/NewAzureRemoteAppCollection.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Collection/NewAzureRemoteAppCollection.cs index d0473cbac97a..bb970ba556ca 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Collection/NewAzureRemoteAppCollection.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Collection/NewAzureRemoteAppCollection.cs @@ -12,6 +12,7 @@ // limitations under the License. // ---------------------------------------------------------------------------------- + namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { using Microsoft.WindowsAzure.Commands.RemoteApp; @@ -24,11 +25,9 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets using System.Net; using System.Threading.Tasks; - [Cmdlet(VerbsCommon.New, "AzureRemoteAppCollection", DefaultParameterSetName = NoDomain), OutputType(typeof(TrackingResult))] + [Cmdlet(VerbsCommon.New, "AzureRemoteAppCollection", DefaultParameterSetName = "AllParameterSets"), OutputType(typeof(TrackingResult))] public class NewAzureRemoteAppCollection : RdsCmdlet { - private const string DomainJoined = "DomainJoined"; - private const string NoDomain = "NoDomain"; private const string AzureVNet = "AzureVNet"; [Parameter(Mandatory = true, @@ -53,62 +52,54 @@ public class NewAzureRemoteAppCollection : RdsCmdlet )] public string Plan { get; set; } - [Parameter(Mandatory = true, + [Parameter(Mandatory = false, Position = 3, ValueFromPipelineByPropertyName = true, - ParameterSetName = NoDomain, HelpMessage = "Location in which this collection will be created. Use Get-AzureRemoteAppLocation to see the locations available." )] public string Location { get; set; } - [Parameter( + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, + ParameterSetName = AzureVNet, HelpMessage = "The name of the RemoteApp or Azure VNet to create the collection in." )] - [Parameter(Mandatory = true, Position = 3, ParameterSetName = DomainJoined)] - [Parameter(Mandatory = true, Position = 3, ParameterSetName = AzureVNet)] public string VNetName { get; set; } - [Parameter(Mandatory = false, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVNet, - HelpMessage = "For Azure VNets only, a comma-separated list of DNS servers for the VNet." + HelpMessage = "For Azure VNets only, the name of the subnet." )] - [ValidateNotNullOrEmpty] - public string DnsServers { get; set; } + public string SubnetName { get; set; } - [Parameter(Mandatory = true, - Position = 6, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVNet, - HelpMessage = "For Azure VNets only, the name of the subnet." + HelpMessage = "For Azure VNets only, a comma-separated list of DNS servers for the VNet." )] [ValidateNotNullOrEmpty] - public string SubnetName { get; set; } + public string DnsServers { get; set; } - [Parameter( + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, + ParameterSetName = AzureVNet, HelpMessage = "The name of the on-premise domain to join the RD Session Host servers to." )] - [Parameter(Mandatory = true, Position = 4, ParameterSetName = DomainJoined)] - [Parameter(Mandatory = true, Position = 4, ParameterSetName = AzureVNet)] [ValidatePattern(DomainNameValidatorString)] public string Domain { get; set; } - [Parameter( + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, - HelpMessage = "The users credentials that has permission to add computers to the domain." - )] - [Parameter(Mandatory = true, Position = 5, ParameterSetName = DomainJoined)] - [Parameter(Mandatory = true, Position = 5, ParameterSetName = AzureVNet)] + ParameterSetName = AzureVNet, + HelpMessage = "The credentials of a user who has permission to add computers to the domain. The user's domain must be supplied as an FQDN, (e.g. home.local\\username or username@home.local).")] public PSCredential Credential { get; set; } [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, + ParameterSetName = AzureVNet, HelpMessage = "The name of your organizational unit to join the RD Session Host servers, e.g. OU=MyOu,DC=MyDomain,DC=ParentDomain,DC=com. Attributes such as OU, DC, etc. must be in uppercase." )] - [Parameter(ParameterSetName = DomainJoined)] - [Parameter(ParameterSetName = AzureVNet)] [ValidatePattern(OrgIDValidatorString)] public string OrganizationalUnit { get; set; } @@ -152,39 +143,33 @@ public override void ExecuteCmdlet() OperationResultWithTrackingId response = null; - switch (ParameterSetName) + if (ParameterSetName == "AzureVNet") { - case DomainJoined: - case AzureVNet: + details.VNetName = VNetName; + details.SubnetName = SubnetName; + ValidateCustomerVNetParams(details.VNetName, details.SubnetName); + + if (DnsServers != null) { - creds = Credential.GetNetworkCredential(); - details.VNetName = VNetName; + details.DnsServers = DnsServers.Split(new char[] { ',' }); + } - if (SubnetName != null) + if (!String.IsNullOrWhiteSpace(Domain) || Credential != null) + { + if (String.IsNullOrWhiteSpace(Domain) || Credential == null) { - if (!IsFeatureEnabled(EnabledFeatures.azureVNet)) - { - ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromString( - string.Format(Commands_RemoteApp.LinkAzureVNetFeatureNotEnabledMessage), - String.Empty, - Client.Account, - ErrorCategory.InvalidOperation - ); - - ThrowTerminatingError(er); - } - - details.SubnetName = SubnetName; - ValidateCustomerVNetParams(details.VNetName, details.SubnetName); - - if (DnsServers != null) - { - details.DnsServers = DnsServers.Split(new char[] { ',' }); - } - - details.Region = Location; + // you supplied either a domain or a cred, but not both. + ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromString( + Commands_RemoteApp.InvalidADArguments, + String.Empty, + Client.Collections, + ErrorCategory.InvalidArgument + ); + + ThrowTerminatingError(er); } + creds = Credential.GetNetworkCredential(); details.AdInfo = new ActiveDirectoryConfig() { DomainName = Domain, @@ -192,13 +177,20 @@ public override void ExecuteCmdlet() UserName = creds.UserName, Password = creds.Password, }; - break; } - case NoDomain: - default: + } + else + { + if (String.IsNullOrEmpty(details.Region)) { - details.Region = Location; - break; + ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromString( + Commands_RemoteApp.InvalidLocationArgument, + String.Empty, + Client.Collections, + ErrorCategory.InvalidArgument + ); + + ThrowTerminatingError(er); } } diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.Designer.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.Designer.cs index d020b43b18ca..770ed185b232 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.Designer.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.Designer.cs @@ -168,6 +168,15 @@ internal static string ImportImageFeatureNotEnabledError { } } + /// + /// Looks up a localized string similar to Both domain name and credentials must be specified. + /// + internal static string InvalidADArguments { + get { + return ResourceManager.GetString("InvalidADArguments", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid Argument SubnetName: {0} not found. /// @@ -186,6 +195,15 @@ internal static string InvalidArgumentVNetNameNotFoundMessageFormat { } } + /// + /// Looks up a localized string similar to Location must be supplied for Cloud only environtments. + /// + internal static string InvalidLocationArgument { + get { + return ResourceManager.GetString("InvalidLocationArgument", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid Argument: OS Image type is {0}. It must be Windows.. /// @@ -385,7 +403,7 @@ internal static string TemplateImageUploadFailedMessage { } /// - /// Looks up a localized string similar to Uploading Template Image. + /// Looks up a localized string similar to Uploading template image. /// internal static string TemplateImageUploadingStatusMessage { get { @@ -448,7 +466,7 @@ internal static string UploadScriptFailedError { } /// - /// Looks up a localized string similar to Upload RemoteApp Template Image. + /// Looks up a localized string similar to Upload RemoteApp template image. /// internal static string UploadTemplateImageJobDescriptionMessage { get { @@ -474,6 +492,24 @@ internal static string UseageNotFound { } } + /// + /// Looks up a localized string similar to https://azure.microsoft.com/documentation/articles/remoteapp-migratevnet/. + /// + internal static string VNetDeprecatedUrl { + get { + return ResourceManager.GetString("VNetDeprecatedUrl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This cmdlet {0} has been deprecated. See x {1}. + /// + internal static string VNetDeprecateed { + get { + return ResourceManager.GetString("VNetDeprecateed", resourceCulture); + } + } + /// /// Looks up a localized string similar to This operation will reset the shared key for the VNet's VPN device. This will interrupt connectivity to the on-premises network until you configure the VPN device to use the new shared key.. /// @@ -502,7 +538,7 @@ internal static string VNetTimeout { } /// - /// Looks up a localized string similar to Waiting for Storage verification to complete. + /// Looks up a localized string similar to Waiting for storage verification to complete. /// internal static string WaitingForStorageVerificationToCompleteMessage { get { diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.csproj b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.csproj index cea42516f8d4..df51d43d458e 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.csproj +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.csproj @@ -214,6 +214,7 @@ + diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.resx b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.resx index 38f3f3822cb1..49ce0516c82d 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.resx +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Commands.RemoteApp.resx @@ -196,7 +196,7 @@ Upload template image failed. - Uploading Template Image + Uploading template image Upload template image completed successfully. @@ -211,7 +211,7 @@ Template image upload script failed - Upload RemoteApp Template Image + Upload RemoteApp template image This operation will reset the shared key for the VNet's VPN device. This will interrupt connectivity to the on-premises network until you configure the VPN device to use the new shared key. @@ -220,7 +220,7 @@ Resetting the VPN shared key on {0} - Waiting for Storage verification to complete + Waiting for storage verification to complete Pending upload template image @@ -255,6 +255,18 @@ Get usage details + + Both domain name and credentials must be specified + + + Location must be supplied for Cloud only environtments + + + https://azure.microsoft.com/documentation/articles/remoteapp-migratevnet/ + + + This cmdlet {0} has been deprecated. See x {1} + Please save your work and logoff. You will be logged off automatically after {0} seconds. diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/SecurityPrincipals/GetAzureRemoteAppUser.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/SecurityPrincipals/GetAzureRemoteAppUser.cs index 61a6ecf33dd8..a7cef1a5674e 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/SecurityPrincipals/GetAzureRemoteAppUser.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/SecurityPrincipals/GetAzureRemoteAppUser.cs @@ -40,6 +40,8 @@ public class GetAzureRemoteAppUser : RdsCmdlet [ValidateNotNullOrEmpty()] public string UserUpn { get; set; } + private bool showAllUsers = false; + public class ServicePrincipalComparer : IComparer { public int Compare(SecurityPrincipalInfo first, SecurityPrincipalInfo second) @@ -67,71 +69,81 @@ public int Compare(SecurityPrincipalInfo first, SecurityPrincipalInfo second) } } - public override void ExecuteCmdlet() + private bool ProccessUsers(SecurityPrincipalInfoListResult response) { - SecurityPrincipalInfoListResult response = null; ConsentStatusModel model = null; - bool showAllUsers = String.IsNullOrWhiteSpace(UserUpn); bool found = false; - if (showAllUsers == false) + if (ExactMatch) { - CreateWildcardPattern(UserUpn); - } + SecurityPrincipalInfo userconsent = null; - response = CallClient(() => Client.Principals.List(CollectionName), Client.Principals); + userconsent = response.SecurityPrincipalInfoList.FirstOrDefault(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User && + String.Equals(user.SecurityPrincipal.Name, UserUpn, StringComparison.OrdinalIgnoreCase)); - if (response != null && response.SecurityPrincipalInfoList != null) - { - if (ExactMatch) + if (userconsent == null) { - SecurityPrincipalInfo userconsent = null; - - userconsent = response.SecurityPrincipalInfoList.FirstOrDefault(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User && - String.Equals(user.SecurityPrincipal.Name, UserUpn, StringComparison.OrdinalIgnoreCase)); + WriteErrorWithTimestamp("User: " + UserUpn + " does not exist in collection " + CollectionName); + found = false; + } + else + { + model = new ConsentStatusModel(userconsent); + WriteObject(model); + found = true; + } + } + else + { + IEnumerable spList = null; - if (userconsent == null) - { - WriteErrorWithTimestamp("User: " + UserUpn + " does not exist in collection " + CollectionName); - found = false; - } - else - { - model = new ConsentStatusModel(userconsent); - WriteObject(model); - found = true; - } + if (showAllUsers) + { + spList = response.SecurityPrincipalInfoList.Where(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User); } else { - IEnumerable spList = null; + spList = response.SecurityPrincipalInfoList.Where(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User && + Wildcard.IsMatch(user.SecurityPrincipal.Name)); + } - if (showAllUsers) - { - spList = response.SecurityPrincipalInfoList.Where(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User); - } - else - { - spList = response.SecurityPrincipalInfoList.Where(user => user.SecurityPrincipal.SecurityPrincipalType == PrincipalType.User && - Wildcard.IsMatch(user.SecurityPrincipal.Name)); - } + if (spList != null && spList.Count() > 0) + { + List userConsents = new List(spList); + IComparer comparer = new ServicePrincipalComparer(); - if (spList != null && spList.Count() > 0) + userConsents.Sort(comparer); + foreach (SecurityPrincipalInfo consent in userConsents) { - List userConsents = new List(spList); - IComparer comparer = new ServicePrincipalComparer(); - - userConsents.Sort(comparer); - foreach (SecurityPrincipalInfo consent in spList) - { - model = new ConsentStatusModel(consent); - WriteObject(model); - } - found = true; + model = new ConsentStatusModel(consent); + WriteObject(model); } + found = true; } } + return found; + } + public override void ExecuteCmdlet() + { + SecurityPrincipalInfoListResult response = null; + bool found = false; + + showAllUsers = String.IsNullOrWhiteSpace(UserUpn); + + if (showAllUsers == false) + { + CreateWildcardPattern(UserUpn); + } + + // You must pass in an empty string to this call. After that pass in the token returned by the previous call + response = CallClient(() => Client.Principals.List(CollectionName), Client.Principals); + + if (response != null && response.SecurityPrincipalInfoList != null) + { + found = ProccessUsers(response); + } + if (!found && !showAllUsers) { WriteVerboseWithTimestamp(String.Format("User '{0}' is not assigned to Collection '{1}'.", UserUpn, CollectionName)); diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/TemplateImage/NewAzureRemoteAppTemplateImage.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/TemplateImage/NewAzureRemoteAppTemplateImage.cs index 83654b6a80b3..5256aead97e5 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/TemplateImage/NewAzureRemoteAppTemplateImage.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/TemplateImage/NewAzureRemoteAppTemplateImage.cs @@ -463,22 +463,7 @@ public override void ExecuteCmdlet() } case AzureVmUpload: { - if (IsFeatureEnabled(EnabledFeatures.goldImageImport)) - { - ImportTemplateImage(); - } - else - { - ErrorRecord er = RemoteAppCollectionErrorState.CreateErrorRecordFromString( - string.Format(Commands_RemoteApp.ImportImageFeatureNotEnabledError), - String.Empty, - Client.Account, - ErrorCategory.InvalidOperation - ); - - ThrowTerminatingError(er); - } - + ImportTemplateImage(); break; } } diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVnet.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVnet.cs index adc01ec98493..229cc4d6b26e 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVnet.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVnet.cs @@ -20,7 +20,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Get, "AzureRemoteAppVNet"), OutputType(typeof(VNetResult))] - public class GetAzureRemoteAppVNet : RdsCmdlet + public class GetAzureRemoteAppVNet : VNetDeprecated { [Parameter(Mandatory = false, Position = 0, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDevice.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDevice.cs index b953d2b2f7c1..11e0220f47a3 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDevice.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDevice.cs @@ -19,7 +19,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Get, "AzureRemoteAppVpnDevice"), OutputType(typeof(Vendor))] - public class GetAzureRemoteAppVpnDevice : RdsCmdlet + public class GetAzureRemoteAppVpnDevice : VNetDeprecated { [Parameter(Mandatory = true, Position = 0, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDeviceConfigScript.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDeviceConfigScript.cs index d4dba54d3ee9..f23c2235f6f6 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDeviceConfigScript.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/GetAzureRemoteAppVpnDeviceConfigScript.cs @@ -20,7 +20,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Get, "AzureRemoteAppVpnDeviceConfigScript"), OutputType(typeof(String))] - public class GetAzureRemoteAppVpnDeviceConfigScript : RdsCmdlet + public class GetAzureRemoteAppVpnDeviceConfigScript : VNetDeprecated { [Parameter(Mandatory = true, Position = 0, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/NewAzureRemoteAppVnet.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/NewAzureRemoteAppVnet.cs index 543ab0663af3..2a368dbeddc9 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/NewAzureRemoteAppVnet.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/NewAzureRemoteAppVnet.cs @@ -20,7 +20,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.New, "AzureRemoteAppVNet"), OutputType(typeof(TrackingResult))] - public class NewAzureRemoteAppVNet : RdsCmdlet + public class NewAzureRemoteAppVNet : VNetDeprecated { [Parameter(Mandatory = true, ValueFromPipeline = true, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/RemoveAzureAppVnet.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/RemoveAzureAppVnet.cs index b0c2127e1d98..c8ff6c9a15a6 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/RemoveAzureAppVnet.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/RemoveAzureAppVnet.cs @@ -19,7 +19,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Remove, "AzureRemoteAppVNet"), OutputType(typeof(TrackingResult))] - public class RemoveAzureRemoteAppVNet : RdsCmdlet + public class RemoveAzureRemoteAppVNet : VNetDeprecated { [Parameter(Mandatory = true, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/ResetAzureRemoteAppVpnSharedKey.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/ResetAzureRemoteAppVpnSharedKey.cs index 95b46336382d..8620682d829e 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/ResetAzureRemoteAppVpnSharedKey.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/ResetAzureRemoteAppVpnSharedKey.cs @@ -22,7 +22,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Reset, "AzureRemoteAppVpnSharedKey", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High), OutputType(typeof(VNet))] - public class ResetAzureRemoteAppVpnSharedKey : RdsCmdlet + public class ResetAzureRemoteAppVpnSharedKey : VNetDeprecated { [Parameter(Mandatory = true, Position = 0, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/SetAzureRemoteAppVnet.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/SetAzureRemoteAppVnet.cs index abf7fadb0f0b..8cbf6f39f87b 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/SetAzureRemoteAppVnet.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/SetAzureRemoteAppVnet.cs @@ -20,7 +20,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { [Cmdlet(VerbsCommon.Set, "AzureRemoteAppVNet"), OutputType(typeof(TrackingResult))] - public class SetAzureRemoteAppVNet : RdsCmdlet + public class SetAzureRemoteAppVNet : VNetDeprecated { [Parameter(Mandatory = true, ValueFromPipeline = true, diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/VNetDeprecated.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/VNetDeprecated.cs new file mode 100644 index 000000000000..f55adc085959 --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vnet/VNetDeprecated.cs @@ -0,0 +1,35 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using Microsoft.WindowsAzure.Commands.RemoteApp; +using Microsoft.WindowsAzure.Management.RemoteApp; +using Microsoft.WindowsAzure.Management.RemoteApp.Models; +using System; +using System.Management.Automation; + +namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets +{ + public class VNetDeprecated : RdsCmdlet + { + protected override void ProcessRecord() + { + string message = String.Format(Commands_RemoteApp.VNetDeprecateed, + this.GetType().Name, Commands_RemoteApp.VNetDeprecatedUrl); + + WriteErrorWithTimestamp(Commands_RemoteApp.VNetTimeout); + + throw new RemoteAppServiceException(message, ErrorCategory.InvalidOperation); + } + } +}