diff --git a/.gitignore b/.gitignore index ac45c755c73f..d469a9bfdad7 100644 --- a/.gitignore +++ b/.gitignore @@ -192,3 +192,6 @@ UpgradeLog*.htm # Microsoft Fakes FakesAssemblies/ + +.vs/ +/tools/*.dll diff --git a/AzurePowershell.Test.targets b/AzurePowershell.Test.targets index 44bf29123ff1..62daee482588 100644 --- a/AzurePowershell.Test.targets +++ b/AzurePowershell.Test.targets @@ -5,8 +5,8 @@ .\src\Local.testsettings .\src\Local.x64.testsettings - .\src\Common\Commands.ScenarioTest\bin\Debug\Microsoft.WindowsAzure.Commands.ScenarioTest.dll - .\src\Common\Commands.Common.Test\bin\Debug\Microsoft.WindowsAzure.Commands.Common.Test.dll + .\src\ServiceManagement\Common\Commands.ScenarioTest\bin\Debug\Microsoft.WindowsAzure.Commands.ScenarioTest.dll + .\src\ServiceManagement\Common\Commands.Common.Test\bin\Debug\Microsoft.WindowsAzure.Commands.Common.Test.dll .\src\ResourceManager\AzureBackup\Commands.AzureBackup.Test\bin\Debug\Microsoft.Azure.Commands.AzureBackup.Test.dll .\src\ResourceManager\SiteRecovery\Commands.SiteRecovery.Test\bin\Debug\Microsoft.Azure.Commands.SiteRecovery.Test.dll .\src\ResourceManager\Sql\Commands.Sql.Test\bin\Debug\Microsoft.Azure.Commands.Sql.Test.dll @@ -16,7 +16,7 @@ .\src\AzureRT.testsettings .\src\AzureRTSeq.testsettings .\src\ServiceManagement\Compute\Commands.ServiceManagement.Test\bin\Debug\Microsoft.WindowsAzure.Commands.ServiceManagement.Test.dll - src\ServiceManagement\Storage\Commands.Storage.ScenarioTest\bin\Debug\CLITest.dll + src\Common\Storage\Commands.Storage.ScenarioTest\bin\Debug\CLITest.dll .\src\ServiceManagement\Services\Commands.Test\bin\Debug\Microsoft.WindowsAzure.Commands.Test.dll .\src\ResourceManager\Resources\Commands.Resources.Test\bin\Debug\Microsoft.Azure.Commands.Resources.Test.dll .\src\ResourceManager\DataFactories\Commands.DataFactories.Test\bin\Debug\Microsoft.Azure.Commands.DataFactories.Test.dll @@ -28,9 +28,9 @@ .\src\ServiceManagement\Compute\Commands.ServiceManagement.Test\bin\Debug\Microsoft.WindowsAzure.Commands.ServiceManagement.Test.dll .\src\ServiceManagement\Sql\Commands.SqlDatabase.Test\bin\Debug\Microsoft.WindowsAzure.Commands.SqlDatabase.Test.dll .\src\ServiceManagement\HDInsight\Commands.HDInsight.Test\bin\Debug\Microsoft.WindowsAzure.Commands.HDInsight.Test.dll - .\src\ServiceManagement\Storage\Commands.Storage.Test\bin\Debug\Microsoft.WindowsAzure.Commands.Storage.Test.dll + .\src\Common\Storage\Commands.Storage.Test\bin\Debug\Microsoft.WindowsAzure.Commands.Storage.Test.dll .\src\ResourceManager\KeyVault\Commands.KeyVault.Test\bin\Debug\Microsoft.Azure.Commands.KeyVault.Test.dll - .\src\ResourceManager\Commerce\Commands.UsageAggregates.Test\bin\Debug\Microsoft.Azure.Commands.UsageAggregates.Test.dll + .\src\ResourceManager\UsageAggregates\Commands.UsageAggregates.Test\bin\Debug\Microsoft.Azure.Commands.UsageAggregates.Test.dll "!Functional&!Scenario&!AzureRTScenario&!Sequential&!PIRTest&!Preview&!ADDomain&!Network&!AzureRTUpload&!AzureRTCleanUp" All "OneSDK&CIT" @@ -44,8 +44,8 @@ - - + + @@ -59,14 +59,15 @@ - + - + + @@ -81,7 +82,7 @@ diff --git a/ChangeLog.md b/ChangeLog.md index 539297984543..b58764902dc7 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,4 +1,6 @@ ## 2015.09.03 version 0.9.8 +* Azure Redis Cache cmdlets + * New-AzureRMRedisCache - 'RedisVersion' parameter is deprecated. * Azure Compute (ARM) Cmdlets * Added -Launch parameter for Get-AzureRemoteDesktopFile cmdlet * Added Id parameter for VM cmdlets to support piping scenario without ResourceGroupName parameter @@ -7,7 +9,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 @@ -35,6 +36,21 @@ * Stop-AzureBatchJob * Stop-AzureBatchJobSchedule * Stop-AzureBatchTask +* Azure Data Factory + * Update SDK reference to 3.0.0 to use API version 2015-09-01 + * Imposes message size limits for all authoring types. Pipelines must be 200 KB or less in size and all others must be 30 KB or less. + * TeradataLinkedService no longer accepts the obsolete properties "database" and "schema". + * Obsolete copy-related properties are no longer returned from the service. +* Azure Sql (ARM) Cmdlets - added the following cmdlets + * 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/README.md b/README.md index 455e0aabbf99..1a5369247b63 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ This repository contains a set of PowerShell cmdlets for developers and administ * PowerShell remoting * Manage extension * BG Info + * Chef * Puppet * Custom Script * Access diff --git a/build.proj b/build.proj index 6a272b56a3e9..aa9c8ced86ea 100644 --- a/build.proj +++ b/build.proj @@ -1,31 +1,64 @@ - + + + - .\src\ServiceManagement\Services\Commands\bin - .\src\ServiceManagement\Services\Commands.Test\bin - Microsoft.WindowsAzure.Commands.Test.dll - .\setup\build - .\src\Publish - .\src\Package + $(MSBuildThisFileDirectory) + $(LibraryRoot)src + $(LibraryRoot)tools + $(LibrarySourceFolder)\Publish + $(LibrarySourceFolder)\Package + Debug + false + + false $(PublishDirectory)\Build $(PublishDirectory)\Setup $(PublishDirectory)\TestResults - Configuration=Debug;Platform=Any CPU - Configuration=Release;Platform=Any CPU true - + + + + + + + + $(OnPremiseBuildTasks) + true + false + + + + @@ -33,21 +66,26 @@ - + + @@ -74,22 +112,21 @@ - $(MSBuildProjectDirectory)\src\.nuget\NuGet.exe - $(MSBuildProjectDirectory)\restore.config - -ConfigFile "$(NuGetRestoreConfigFile)" + $(MSBuildProjectDirectory)\src\.nuget\NuGet.exe + $(MSBuildProjectDirectory)\restore.config + -ConfigFile "$(NuGetRestoreConfigFile)" - - + + + - + --> - + + @@ -110,94 +148,154 @@ - + + Properties="Configuration=$(Configuration);Platform=Any CPU" + BuildInParallel="$(BuildInParallel)" ContinueOnError="false" /> - - - - - - + Properties="Configuration=$(Configuration);Platform=Any CPU" + BuildInParallel="$(BuildInParallel)" ContinueOnError="false" /> + + + + - - - - - - + + - - - + + DependsOnTargets="Clean;Build;Test" /> + + + + + + + + + + + + 31bf3856ad364e35 + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + 31bf3856ad364e35 + + + + - - - - + + + + + + + + + + false AcceptanceType=CheckIn + - + @@ -205,14 +303,14 @@ + DependsOnTargets="Clean;Build;Test;RunOneSDKCIT" /> + DependsOnTargets="Clean;Build;LiveTestsFilter" /> - + diff --git a/setup-powershellget/Setup/CustomAction.config b/setup-powershellget/Setup/CustomAction.config new file mode 100644 index 000000000000..de951b78d854 --- /dev/null +++ b/setup-powershellget/Setup/CustomAction.config @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + diff --git a/setup-powershellget/Setup/CustomAction.cs b/setup-powershellget/Setup/CustomAction.cs new file mode 100644 index 000000000000..916f0a70211e --- /dev/null +++ b/setup-powershellget/Setup/CustomAction.cs @@ -0,0 +1,110 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Setup +{ + using System; + using System.IO; + using Deployment.WindowsInstaller; + using System.Threading; + + public class CustomAction + { + // The exception object which will store (if) exception which is occured in our sta thread + private static Exception _STAThreadException; + + private static uint[] powerShellDefaultColorTable = new uint[] + { + 0x0, 0x800000, 0x8000, 0x808000, 0x80, 0x562401, 0xF0EDEE, 0xC0C0C0, + 0x808080, 0xFF0000, 0xFF00, 0xFFFF00, 0xFF, 0xFF00FF, 0xFFFF, 0xFFFFFF + }; + + // Method which contains our custom action behaviour + private static void RunSTAThread(object sessionObject) + { + try + { + Session session = sessionObject as Session; + + string powerShellShortcutPath = session.CustomActionData["ShortcutPath"]; + string powerShellDefaultShortcutPath = session.CustomActionData["DefaultShortcutPath"]; + + if (!File.Exists(powerShellShortcutPath)) + { + _STAThreadException = new Exception(string.Format("UpdatePSShortcut: file {0} does not exist", powerShellShortcutPath)); + return; + } + + ShellLink powerShellShellLink = new ShellLink(powerShellShortcutPath); + if (File.Exists(powerShellDefaultShortcutPath)) + { + session.Log("UpdatePSShortcut: found default Windows PowerShell shortcut at {0}", powerShellDefaultShortcutPath); + ShellLink powerShellDefaultShellLink = new ShellLink(powerShellDefaultShortcutPath); + powerShellShellLink.ConsoleProperties = powerShellDefaultShellLink.ConsoleProperties; + } + else + { + session.Log("UpdatePSShortcut: default Windows PowerShell shortcut does not exist at {0}", powerShellDefaultShortcutPath); + + for (int i = 0; i < powerShellShellLink.ConsoleProperties.ColorTable.Length; i++) + { + powerShellShellLink.ConsoleProperties.ColorTable[i] = powerShellDefaultColorTable[i]; + } + powerShellShellLink.AutoPosition = true; + powerShellShellLink.CommandHistoryBufferSize = 50; + powerShellShellLink.CommandHistoryBufferCount = 4; + + powerShellShellLink.InsertMode = true; + + powerShellShellLink.PopUpBackgroundColor = 15; + powerShellShellLink.PopUpTextColor = 3; + + powerShellShellLink.QuickEditMode = true; + + powerShellShellLink.ScreenBackgroundColor = 5; + powerShellShellLink.ScreenTextColor = 6; + + powerShellShellLink.SetScreenBufferSize(120, 3000); + powerShellShellLink.SetWindowSize(120, 50); + } + powerShellShellLink.SetFont(); + powerShellShellLink.Save(); + session.Log("UpdatePSShortcut: success"); + } + catch (Exception ex) + { + _STAThreadException = new Exception(string.Format("UpdatePSShortcut: failed with exception {0}", ex.Message)); + } + } + + [CustomAction] + public static ActionResult UpdatePSShortcut(Session session) + { + Thread staThread = new Thread(RunSTAThread); + staThread.SetApartmentState(ApartmentState.STA); + staThread.Start(session); + // Wait for the new thread to finish its operations + staThread.Join(); + + // If there is any exception in the new thread pass it to the installer + if (_STAThreadException != null) + { + session.Log(_STAThreadException.Message); + return ActionResult.Failure; + } + + return ActionResult.Success; + } + } +} \ No newline at end of file diff --git a/setup-powershellget/Setup/Properties/AssemblyInfo.cs b/setup-powershellget/Setup/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..6d3ae6c5b4e0 --- /dev/null +++ b/setup-powershellget/Setup/Properties/AssemblyInfo.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.Reflection; +using System.Runtime.InteropServices; + +// 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("Setup")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Setup")] +[assembly: AssemblyCopyright("Copyright © Microsoft")] +[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("f4aa30f2-d2ce-4aef-88ed-a048b771c272")] + +// 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/setup-powershellget/Setup/Setup.csproj b/setup-powershellget/Setup/Setup.csproj new file mode 100644 index 000000000000..6a7a64f7c639 --- /dev/null +++ b/setup-powershellget/Setup/Setup.csproj @@ -0,0 +1,50 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {EA5BD11B-10B3-433D-A250-92AE76669D8D} + Library + Properties + Microsoft.WindowsAzure.Setup + Microsoft.WindowsAzure.Setup + v4.5 + 512 + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.CA.targets + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + diff --git a/setup-powershellget/Setup/ShellLink.cs b/setup-powershellget/Setup/ShellLink.cs new file mode 100644 index 000000000000..80144cca986d --- /dev/null +++ b/setup-powershellget/Setup/ShellLink.cs @@ -0,0 +1,455 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Setup +{ + using System; + using System.Diagnostics.CodeAnalysis; + using System.IO; + using System.Runtime.InteropServices; + using System.Text; + + // IShellLink.ShowCmd fFlags + [Flags] + public enum ShowCmd + { + SW_SHOWNORMAL = 1, + SW_SHOWMAXIMIZED = 3, + SW_SHOWMINNOACTIVE = 7 + } + + // IShellLink.Resolve fFlags + [Flags] + public enum SLR_FLAGS + { + SLR_NO_UI = 0x1, + SLR_ANY_MATCH = 0x2, + SLR_UPDATE = 0x4, + SLR_NOUPDATE = 0x8, + SLR_NOSEARCH = 0x10, + SLR_NOTRACK = 0x20, + SLR_NOLINKINFO = 0x40, + SLR_INVOKE_MSI = 0x80 + } + + // IShellLink.GetPath fFlags + [Flags] + public enum SLGP_FLAGS + { + SLGP_SHORTPATH = 0x1, + SLGP_UNCPRIORITY = 0x2, + SLGP_RAWPATH = 0x4 + } + + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Matching COM Names")] + [ComImport, + InterfaceType(ComInterfaceType.InterfaceIsIUnknown), + Guid("000214F9-0000-0000-C000-000000000046")] + public interface IShellLinkW + { + void GetPath( + [Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile, + int cchMaxPath, + out WIN32_FIND_DATAW pfd, + SLGP_FLAGS fFlags); + + void GetIDList( + out IntPtr ppidl); + + void SetIDList( + IntPtr pidl); + + void GetDescription( + [Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszName, + int cchMaxName); + + void SetDescription( + [MarshalAs(UnmanagedType.LPWStr)] string pszName); + + void GetWorkingDirectory( + [Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir, + int cchMaxPath); + + void SetWorkingDirectory( + [MarshalAs(UnmanagedType.LPWStr)] string pszDir); + + void GetArguments( + [Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs, + int cchMaxPath); + + void SetArguments( + [MarshalAs(UnmanagedType.LPWStr)] string pszArgs); + + void GetHotkey( + out short pwHotkey); + + void SetHotkey( + short wHotkey); + + void GetShowCmd( + out int piShowCmd); + + void SetShowCmd( + int iShowCmd); + + void GetIconLocation( + [Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath, + int cchIconPath, + out int piIcon); + + void SetIconLocation( + [MarshalAs(UnmanagedType.LPWStr)] string pszIconPath, + int iIcon); + + void SetRelativePath( + [MarshalAs(UnmanagedType.LPWStr)] string pszPathRel, + int dwReserved); + + void Resolve( + IntPtr hwnd, + SLR_FLAGS fFlags); + + void SetPath( + [MarshalAs(UnmanagedType.LPWStr)] string pszFile); + } + + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Matching COM Names")] + [ComImport, + InterfaceType(ComInterfaceType.InterfaceIsIUnknown), + Guid("45E2b4AE-B1C3-11D0-B92F-00A0C90312E1")] + public interface IShellLinkDataList + { + void AddDataBlock( + IntPtr pDataBlock); + + void CopyDataBlock( + uint dwSig, + out IntPtr ppDataBlock); + + void RemoveDataBlock( + uint dwSig); + + void GetFlags( + out int dwFlags); + + void SetFlags( + uint dwFlags); + } + + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Matching COM Names")] + [ComImport, + InterfaceType(ComInterfaceType.InterfaceIsIUnknown), + Guid("0000010B-0000-0000-C000-000000000046")] + public interface IPersistFile + { + #region Methods inherited from IPersist + + void GetClassID( + out Guid pClassID); + + #endregion + + [PreserveSig] + int IsDirty(); + + void Load( + [MarshalAs(UnmanagedType.LPWStr)] string pszFileName, + int dwMode); + + void Save( + [MarshalAs(UnmanagedType.LPWStr)] string pszFileName, + [MarshalAs(UnmanagedType.Bool)] bool fRemember); + + void SaveCompleted( + [MarshalAs(UnmanagedType.LPWStr)] string pszFileName); + + void GetCurFile( + out IntPtr ppszFileName); + } + + // Win32 COORD + [StructLayout(LayoutKind.Sequential)] + public struct COORD + { + public short X; + public short Y; + } + + // IShellDataLink NT_CONSOLE_PROPS + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Matching Windows Struct Names")] + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter", Justification = "Matching Windows Struct Names")] + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + public struct NT_CONSOLE_PROPS + { + public int cbSize; // Size of this extra data block + public uint dwSignature; // signature of this extra data block + public ushort wFillAttribute; // fill attribute for console + public ushort wPopupFillAttribute; // fill attribute for console popups + public COORD dwScreenBufferSize; // screen buffer size for console + public COORD dwWindowSize; // window size for console + public COORD dwWindowOrigin; // window origin for console + public int nFont; + public int nInputBufferSize; + public COORD dwFontSize; + public uint uFontFamily; + public uint uFontWeight; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + public string FaceName; + public uint uCursorSize; + public bool bFullScreen; + public bool bQuickEdit; + public bool bInsertMode; + public bool bAutoPosition; + public uint uHistoryBufferSize; + public uint uNumberOfHistoryBuffers; + public bool bHistoryNoDup; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public uint[] ColorTable; + } + + // WIN32_FIND_DATA + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1305:FieldNamesMustNotUseHungarianNotation", Justification = "Matching Windows Struct Names")] + [SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter", Justification = "Matching Windows Struct Names")] + public struct WIN32_FIND_DATAW + { + public int dwFileAttributes; + public System.Runtime.InteropServices.ComTypes.FILETIME ftCreationTime; + public System.Runtime.InteropServices.ComTypes.FILETIME ftLastAccessTime; + public System.Runtime.InteropServices.ComTypes.FILETIME ftLastWriteTime; + public int nFileSizeHigh; + public int nFileSizeLow; + public int dwReserved0; + public int dwReserved1; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAXPATH)] + public string cFileName; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)] + public string cAlternateFileName; + private const int MAXPATH = 260; + } + + public class ShellLink + { + private IShellLinkW shellLink; + private NT_CONSOLE_PROPS consoleProperties; + + public ShellLink(string path) + { + this.shellLink = Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("00021401-0000-0000-C000-000000000046"))) as IShellLinkW; + if (File.Exists(path)) + { + IntPtr consoleProperties = IntPtr.Zero; + ((IPersistFile)this.shellLink).Load(path, 0); + + try + { + ((IShellLinkDataList)this.shellLink).CopyDataBlock(0xA0000002, out consoleProperties); + this.consoleProperties = (NT_CONSOLE_PROPS)Marshal.PtrToStructure(consoleProperties, typeof(NT_CONSOLE_PROPS)); + } + catch (Exception) + { + } + } + else + { + ((IPersistFile)this.shellLink).Save(path, true); + } + + // Initialize default Console Properties (TODO: Fix this bug too) + if (this.consoleProperties.dwSignature != 0xA0000002) + { + this.consoleProperties = new NT_CONSOLE_PROPS(); + this.consoleProperties.cbSize = Marshal.SizeOf(this.consoleProperties); + this.consoleProperties.dwSignature = 0xA0000002; + this.consoleProperties.ColorTable = new uint[16]; + for (int i = 0; i < 16; i++) + { + this.consoleProperties.ColorTable[i] = 0xffffffff; + } + } + } + + public IShellLinkW IShellLink + { + get { return this.shellLink; } + } + + public string Path + { + get + { + StringBuilder sb = new StringBuilder(260); + WIN32_FIND_DATAW pfd = new WIN32_FIND_DATAW(); + this.IShellLink.GetPath(sb, 260, out pfd, SLGP_FLAGS.SLGP_RAWPATH); + return sb.ToString(); + } + set + { + this.IShellLink.SetPath(value); + } + } + + public string Description + { + get + { + StringBuilder sb = new StringBuilder(2048); + this.IShellLink.GetDescription(sb, 2048); + return sb.ToString(); + } + set { this.IShellLink.SetDescription(value); } + } + + public string WorkingDirectory + { + get + { + StringBuilder sb = new StringBuilder(260); + this.IShellLink.GetWorkingDirectory(sb, 260); + return sb.ToString(); + } + set { this.IShellLink.SetWorkingDirectory(value); } + } + + public ShowCmd ShowCmd + { + get + { + int showCmd; + this.IShellLink.GetShowCmd(out showCmd); + return (ShowCmd)Enum.ToObject(typeof(ShowCmd), showCmd); + } + set + { + this.IShellLink.SetShowCmd((int)value); + } + } + + public NT_CONSOLE_PROPS ConsoleProperties + { + get { return this.consoleProperties; } + set { this.consoleProperties = value; } + } + + public bool QuickEditMode + { + get { return this.consoleProperties.bQuickEdit; } + set { this.consoleProperties.bQuickEdit = value; } + } + + public bool InsertMode + { + get { return this.consoleProperties.bInsertMode; } + set { this.consoleProperties.bInsertMode = value; } + } + + public bool AutoPosition + { + get { return this.consoleProperties.bAutoPosition; } + set { this.consoleProperties.bAutoPosition = value; } + } + + public uint CommandHistoryBufferSize + { + get { return this.consoleProperties.uHistoryBufferSize; } + set { this.consoleProperties.uHistoryBufferSize = value; } + } + + public uint CommandHistoryBufferCount + { + get { return this.consoleProperties.uNumberOfHistoryBuffers; } + set { this.consoleProperties.uNumberOfHistoryBuffers = value; } + } + + public byte ScreenBackgroundColor + { + set + { + this.consoleProperties.wFillAttribute &= 0x000f; + this.consoleProperties.wFillAttribute += (ushort)(value << 4); + } + } + + public byte ScreenTextColor + { + set + { + this.consoleProperties.wFillAttribute &= 0x00f0; + this.consoleProperties.wFillAttribute += value; + } + } + + public byte PopUpBackgroundColor + { + set + { + this.consoleProperties.wPopupFillAttribute &= 0x000f; + this.consoleProperties.wPopupFillAttribute += (ushort)(value << 4); + } + } + + public byte PopUpTextColor + { + set + { + this.consoleProperties.wPopupFillAttribute &= 0x00f0; + this.consoleProperties.wPopupFillAttribute += value; + } + } + + public void Save(string path) + { + this.SetConsoleProperties(); + ((IPersistFile)this.shellLink).Save(path, true); + } + + public void Save() + { + this.SetConsoleProperties(); + ((IPersistFile)this.shellLink).Save(null, true); + } + + public void SetScreenBufferSize(short x, short y) + { + COORD c = new COORD(); + c.X = x; + c.Y = y; + this.consoleProperties.dwScreenBufferSize = c; + } + + public void SetWindowSize(short x, short y) + { + COORD c = new COORD(); + c.X = x; + c.Y = y; + this.consoleProperties.dwWindowSize = c; + } + + public void SetFont() + { + this.consoleProperties.FaceName = "Lucida Console"; + this.consoleProperties.uFontFamily = 54; + this.consoleProperties.uFontWeight = 400; + this.consoleProperties.uCursorSize = 25; + } + + // This does more than console colors + private void SetConsoleProperties() + { + IntPtr consoleProperties = Marshal.AllocCoTaskMem(this.consoleProperties.cbSize); + Marshal.StructureToPtr(this.consoleProperties, consoleProperties, true); + ((IShellLinkDataList)this.shellLink).RemoveDataBlock(0xA0000002); + ((IShellLinkDataList)this.shellLink).AddDataBlock(consoleProperties); + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/RedisCache/Commands.RedisCache/PostBuild.ps1 b/setup-powershellget/Setup/ShortcutStartup.ps1 similarity index 67% rename from src/ResourceManager/RedisCache/Commands.RedisCache/PostBuild.ps1 rename to setup-powershellget/Setup/ShortcutStartup.ps1 index 432e76af61ff..ba35b2cc15c0 100644 --- a/src/ResourceManager/RedisCache/Commands.RedisCache/PostBuild.ps1 +++ b/setup-powershellget/Setup/ShortcutStartup.ps1 @@ -11,15 +11,17 @@ # See the License for the specific language governing permissions and # limitations under the License. # ---------------------------------------------------------------------------------- +[CmdletBinding()] +Param( +[Parameter(Mandatory=$False, HelpMessage="Use Install parameter to install Azure modules from PowerShell Gallery.")] +[switch]$Install +) -$sourceDir = $args[0] -Write-Output $sourceDir +cd c:\ +$welcomeMessage = @" +For a list of all Azure cmdlets type 'help azure'. +For a list of Azure Pack cmdlets type 'Get-Command *wapack*'. +"@ +Write-Output $welcomeMessage -$sourcePath = $sourceDir + "AzureResourceManager.psd1" -$destDir = $(Split-Path $sourceDir) - -Write-Output "Copying '$sourcePath' to directory '$destDir'" -Copy-Item $sourcePath $destDir - -Write-Output "Removing $sourcePath" -Remove-Item $sourcePath -Force \ No newline at end of file +$VerbosePreference = "Continue" \ No newline at end of file diff --git a/setup-powershellget/azurecmd.wxs b/setup-powershellget/azurecmd.wxs new file mode 100644 index 000000000000..8680059fc809 --- /dev/null +++ b/setup-powershellget/azurecmd.wxs @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < "5.0")]]> + + + + + + Installed OR NETFRAMEWORK40FULL OR NETFRAMEWORK40CLIENT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT Installed + NOT Installed + NOT Installed + NOT Installed + + + + + + + + diff --git a/setup-powershellget/bin/iisnode.dll b/setup-powershellget/bin/iisnode.dll new file mode 100644 index 000000000000..136b447b9b67 Binary files /dev/null and b/setup-powershellget/bin/iisnode.dll differ diff --git a/setup-powershellget/bin/iisnode_schema.xml b/setup-powershellget/bin/iisnode_schema.xml new file mode 100644 index 000000000000..56ad644194ba --- /dev/null +++ b/setup-powershellget/bin/iisnode_schema.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup-powershellget/media/GettingStarted.url b/setup-powershellget/media/GettingStarted.url new file mode 100644 index 000000000000..cbd76c97d341 --- /dev/null +++ b/setup-powershellget/media/GettingStarted.url @@ -0,0 +1,5 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,2 +[InternetShortcut] +URL=http://go.microsoft.com/?linkid=9791397 +IDList= diff --git a/setup-powershellget/media/License.rtf b/setup-powershellget/media/License.rtf new file mode 100644 index 000000000000..fe4ca72a0de0 --- /dev/null +++ b/setup-powershellget/media/License.rtf @@ -0,0 +1,213 @@ +{\rtf1\ansi\ansicpg936\deff0\nouicompat\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset0 Courier New;}} +{\colortbl ;\red0\green0\blue255;} +{\*\generator Riched20 6.3.9600}\viewkind4\uc1 +\pard\sl240\slmult1\f0\fs20\lang9 MICROSOFT SOFTWARE LICENSE TERMS\par +\par +MICROSOFT AZURE POWERSHELL \par +\par +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any.\par +\par +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par +\par +\par +-----------------START OF LICENSE--------------------------\par +\par + Apache License\par + Version 2.0, January 2004\par + {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs20\par +\par + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par +\par + 1. Definitions.\par +\par + "License" shall mean the terms and conditions for use, reproduction,\par + and distribution as defined by Sections 1 through 9 of this document.\par +\par + "Licensor" shall mean the copyright owner or entity authorized by\par + the copyright owner that is granting the License.\par +\par + "Legal Entity" shall mean the union of the acting entity and all\par + other entities that control, are controlled by, or are under common\par + control with that entity. For the purposes of this definition,\par + "control" means (i) the power, direct or indirect, to cause the\par + direction or management of such entity, whether by contract or\par + otherwise, or (ii) ownership of fifty percent (50%) or more of the\par + outstanding shares, or (iii) beneficial ownership of such entity.\par +\par + "You" (or "Your") shall mean an individual or Legal Entity\par + exercising permissions granted by this License.\par +\par + "Source" form shall mean the preferred form for making modifications,\par + including but not limited to software source code, documentation\par + source, and configuration files.\par +\par + "Object" form shall mean any form resulting from mechanical\par + transformation or translation of a Source form, including but\par + not limited to compiled object code, generated documentation,\par + and conversions to other media types.\par +\par + "Work" shall mean the work of authorship, whether in Source or\par + Object form, made available under the License, as indicated by a\par + copyright notice that is included in or attached to the work\par + (an example is provided in the Appendix below).\par +\par + "Derivative Works" shall mean any work, whether in Source or Object\par + form, that is based on (or derived from) the Work and for which the\par + editorial revisions, annotations, elaborations, or other modifications\par + represent, as a whole, an original work of authorship. For the purposes\par + of this License, Derivative Works shall not include works that remain\par + separable from, or merely link (or bind by name) to the interfaces of,\par + the Work and Derivative Works thereof.\par +\par + "Contribution" shall mean any work of authorship, including\par + the original version of the Work and any modifications or additions\par + to that Work or Derivative Works thereof, that is intentionally\par + submitted to Licensor for inclusion in the Work by the copyright owner\par + or by an individual or Legal Entity authorized to submit on behalf of\par + the copyright owner. For the purposes of this definition, "submitted"\par + means any form of electronic, verbal, or written communication sent\par + to the Licensor or its representatives, including but not limited to\par + communication on electronic mailing lists, source code control systems,\par + and issue tracking systems that are managed by, or on behalf of, the\par + Licensor for the purpose of discussing and improving the Work, but\par + excluding communication that is conspicuously marked or otherwise\par + designated in writing by the copyright owner as "Not a Contribution."\par +\par + "Contributor" shall mean Licensor and any individual or Legal Entity\par + on behalf of whom a Contribution has been received by Licensor and\par + subsequently incorporated within the Work.\par +\par + 2. Grant of Copyright License. Subject to the terms and conditions of\par + this License, each Contributor hereby grants to You a perpetual,\par + worldwide, non-exclusive, no-charge, royalty-free, irrevocable\par + copyright license to reproduce, prepare Derivative Works of,\par + publicly display, publicly perform, sublicense, and distribute the\par + Work and such Derivative Works in Source or Object form.\par +\par + 3. Grant of Patent License. Subject to the terms and conditions of\par + this License, each Contributor hereby grants to You a perpetual,\par + worldwide, non-exclusive, no-charge, royalty-free, irrevocable\par + (except as stated in this section) patent license to make, have made,\par + use, offer to sell, sell, import, and otherwise transfer the Work,\par + where such license applies only to those patent claims licensable\par + by such Contributor that are necessarily infringed by their\par + Contribution(s) alone or by combination of their Contribution(s)\par + with the Work to which such Contribution(s) was submitted. If You\par + institute patent litigation against any entity (including a\par + cross-claim or counterclaim in a lawsuit) alleging that the Work\par + or a Contribution incorporated within the Work constitutes direct\par + or contributory patent infringement, then any patent licenses\par + granted to You under this License for that Work shall terminate\par + as of the date such litigation is filed.\par +\par + 4. Redistribution. You may reproduce and distribute copies of the\par + Work or Derivative Works thereof in any medium, with or without\par + modifications, and in Source or Object form, provided that You\par + meet the following conditions:\par +\par + (a) You must give any other recipients of the Work or\par + Derivative Works a copy of this License; and\par +\par + (b) You must cause any modified files to carry prominent notices\par + stating that You changed the files; and\par +\par + (c) You must retain, in the Source form of any Derivative Works\par + that You distribute, all copyright, patent, trademark, and\par + attribution notices from the Source form of the Work,\par + excluding those notices that do not pertain to any part of\par + the Derivative Works; and\par +\par + (d) If the Work includes a "NOTICE" text file as part of its\par + distribution, then any Derivative Works that You distribute must\par + include a readable copy of the attribution notices contained\par + within such NOTICE file, excluding those notices that do not\par + pertain to any part of the Derivative Works, in at least one\par + of the following places: within a NOTICE text file distributed\par + as part of the Derivative Works; within the Source form or\par + documentation, if provided along with the Derivative Works; or,\par + within a display generated by the Derivative Works, if and\par + wherever such third-party notices normally appear. The contents\par + of the NOTICE file are for informational purposes only and\par + do not modify the License. You may add Your own attribution\par + notices within Derivative Works that You distribute, alongside\par + or as an addendum to the NOTICE text from the Work, provided\par + that such additional attribution notices cannot be construed\par + as modifying the License.\par +\par + You may add Your own copyright statement to Your modifications and\par + may provide additional or different license terms and conditions\par + for use, reproduction, or distribution of Your modifications, or\par + for any such Derivative Works as a whole, provided Your use,\par + reproduction, and distribution of the Work otherwise complies with\par + the conditions stated in this License.\par +\par + 5. Submission of Contributions. Unless You explicitly state otherwise,\par + any Contribution intentionally submitted for inclusion in the Work\par + by You to the Licensor shall be under the terms and conditions of\par + this License, without any additional terms or conditions.\par + Notwithstanding the above, nothing herein shall supersede or modify\par + the terms of any separate license agreement you may have executed\par + with Licensor regarding such Contributions.\par +\par + 6. Trademarks. This License does not grant permission to use the trade\par + names, trademarks, service marks, or product names of the Licensor,\par + except as required for reasonable and customary use in describing the\par + origin of the Work and reproducing the content of the NOTICE file.\par +\par + 7. Disclaimer of Warranty. Unless required by applicable law or\par + agreed to in writing, Licensor provides the Work (and each\par + Contributor provides its Contributions) on an "AS IS" BASIS,\par + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\par + implied, including, without limitation, any warranties or conditions\par + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\par + PARTICULAR PURPOSE. You are solely responsible for determining the\par + appropriateness of using or redistributing the Work and assume any\par + risks associated with Your exercise of permissions under this License.\par +\par + 8. Limitation of Liability. In no event and under no legal theory,\par + whether in tort (including negligence), contract, or otherwise,\par + unless required by applicable law (such as deliberate and grossly\par + negligent acts) or agreed to in writing, shall any Contributor be\par + liable to You for damages, including any direct, indirect, special,\par + incidental, or consequential damages of any character arising as a\par + result of this License or out of the use or inability to use the\par + Work (including but not limited to damages for loss of goodwill,\par + work stoppage, computer failure or malfunction, or any and all\par + other commercial damages or losses), even if such Contributor\par + has been advised of the possibility of such damages.\par +\par + 9. Accepting Warranty or Additional Liability. While redistributing\par + the Work or Derivative Works thereof, You may choose to offer,\par + and charge a fee for, acceptance of support, warranty, indemnity,\par + or other liability obligations and/or rights consistent with this\par + License. However, in accepting such obligations, You may act only\par + on Your own behalf and on Your sole responsibility, not on behalf\par + of any other Contributor, and only if You agree to indemnify,\par + defend, and hold each Contributor harmless for any liability\par + incurred by, or claims asserted against, such Contributor by reason\par + of your accepting any such warranty or additional liability.\par +\par +-------------------END OF LICENSE-------------------------------\par +\par +The software includes the AutoMapper library ("AutoMapper"). The MIT License set out below is provided for informational purposes only. It is not the license that governs any part of the software.\par +\par +----------------START OF LICENSE--------------------------------\par +\par +Provided for Informational Purposes Only\par +\par +AutoMapper\par +\par +The MIT License (MIT)\par +\par +Copyright (c) 2010 Jimmy Bogard\par +\par +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\par +\par +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\par +\par +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\par +\par +-------------END OF LICENSE----------------------------------------\par +\par +} + diff --git a/setup-powershellget/media/WAIcon.ico b/setup-powershellget/media/WAIcon.ico new file mode 100644 index 000000000000..76425402df61 Binary files /dev/null and b/setup-powershellget/media/WAIcon.ico differ diff --git a/setup-powershellget/media/bannrbmp.bmp b/setup-powershellget/media/bannrbmp.bmp new file mode 100644 index 000000000000..e115559090c4 Binary files /dev/null and b/setup-powershellget/media/bannrbmp.bmp differ diff --git a/setup-powershellget/media/dlgbmp.bmp b/setup-powershellget/media/dlgbmp.bmp new file mode 100644 index 000000000000..399c62e6f1e1 Binary files /dev/null and b/setup-powershellget/media/dlgbmp.bmp differ diff --git a/setup-powershellget/powershellget.sln b/setup-powershellget/powershellget.sln new file mode 100644 index 000000000000..8b5bc5d52589 --- /dev/null +++ b/setup-powershellget/powershellget.sln @@ -0,0 +1,30 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "powershellget", "powershellget.wixproj", "{36D6E303-E057-4963-A093-C7AAE0FD92B3}" + ProjectSection(ProjectDependencies) = postProject + {EA5BD11B-10B3-433D-A250-92AE76669D8D} = {EA5BD11B-10B3-433D-A250-92AE76669D8D} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Setup", "Setup\Setup.csproj", "{EA5BD11B-10B3-433D-A250-92AE76669D8D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.ActiveCfg = Debug|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.Build.0 = Debug|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.ActiveCfg = Release|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.Build.0 = Release|x86 + {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/setup-powershellget/powershellget.wixproj b/setup-powershellget/powershellget.wixproj new file mode 100644 index 000000000000..c3a89824ad39 --- /dev/null +++ b/setup-powershellget/powershellget.wixproj @@ -0,0 +1,67 @@ + + + + Debug + x86 + 3.5 + {36d6e303-e057-4963-a093-c7aae0fd92b3} + 2.0 + AzurePowerShellGet + Package + $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + AzurePowershell + + + build\$(Configuration)\ + obj\$(Configuration)\ + Debug + ICE30;ICE91;ICE64;ICE61;ICE69 + + + build\$(Configuration)\ + obj\$(Configuration)\ + ICE30;ICE91;ICE64;ICE61;ICE69 + + + + $(WixExtDir)\WixNetFxExtension.dll + WixNetFxExtension + + + $(WixExtDir)\WixUtilExtension.dll + WixUtilExtension + + + $(WixExtDir)\WixUIExtension.dll + WixUIExtension + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/setup/azurecmd.wxs b/setup/azurecmd.wxs index b8fb150f45b0..1d0b416685a9 100644 --- a/setup/azurecmd.wxs +++ b/setup/azurecmd.wxs @@ -1,11 +1,11 @@  - + - + @@ -69,7 +69,7 @@ - + diff --git a/setup/azurecmdfiles.wxi b/setup/azurecmdfiles.wxi index 844c5a05065e..98ef6a02cf1f 100644 --- a/setup/azurecmdfiles.wxi +++ b/setup/azurecmdfiles.wxi @@ -7,2767 +7,1906 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - + + - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + @@ -2781,6 +1920,9 @@ + + + @@ -2811,15 +1953,6 @@ - - - - - - - - - @@ -2842,6 +1975,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2855,29 +2083,11 @@ - - - - - - - - - - - - - - - - - - - - + + @@ -2915,15 +2125,6 @@ - - - - - - - - - @@ -2939,12 +2140,6 @@ - - - - - - @@ -3035,9 +2230,6 @@ - - - @@ -3064,6 +2256,9 @@ + + + @@ -3088,15 +2283,6 @@ - - - - - - - - - @@ -3135,6 +2321,9 @@ + + + @@ -3174,15 +2363,6 @@ - - - - - - - - - @@ -3239,17 +2419,11 @@ - - - - - - - - + + @@ -3257,18 +2431,6 @@ - - - - - - - - - - - - @@ -3305,15 +2467,6 @@ - - - - - - - - - @@ -3329,12 +2482,6 @@ - - - - - - @@ -3389,9 +2536,6 @@ - - - @@ -3424,6 +2568,9 @@ + + + @@ -3460,9 +2607,6 @@ - - - @@ -3475,12 +2619,6 @@ - - - - - - @@ -3795,6 +2933,9 @@ + + + @@ -3825,15 +2966,6 @@ - - - - - - - - - @@ -3871,8 +3003,8 @@ - - + + @@ -3883,6 +3015,9 @@ + + + @@ -3904,21 +3039,15 @@ - - - - - - - - - + + + @@ -3966,29 +3095,11 @@ - - - - - - - - - - - - - - - - - - - - + + @@ -4026,15 +3137,6 @@ - - - - - - - - - @@ -4119,9 +3221,6 @@ - - - @@ -4364,29 +3463,11 @@ - - - - - - - - - - - - - - - - - - - - + + @@ -4424,15 +3505,6 @@ - - - - - - - - - @@ -4448,12 +3520,6 @@ - - - - - - @@ -4538,9 +3604,6 @@ - - - @@ -4560,108 +3623,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -4686,15 +3654,6 @@ - - - - - - - - - @@ -4736,6 +3695,9 @@ + + + @@ -4769,15 +3731,6 @@ - - - - - - - - - @@ -4819,893 +3772,627 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5716,9 +4403,6 @@ - - - @@ -5726,18 +4410,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + @@ -5750,16 +4459,11 @@ - - - - - @@ -5790,7 +4494,6 @@ - @@ -5799,6 +4502,7 @@ + @@ -5807,9 +4511,6 @@ - - - @@ -5822,6 +4523,7 @@ + @@ -5835,9 +4537,6 @@ - - - @@ -5856,16 +4555,10 @@ - - - + - - - - @@ -5878,16 +4571,11 @@ - - - - - @@ -5906,7 +4594,6 @@ - @@ -5917,6 +4604,7 @@ + @@ -5929,13 +4617,10 @@ - - - @@ -6030,6 +4715,7 @@ + @@ -6040,9 +4726,6 @@ - - - @@ -6054,10 +4737,11 @@ - + + @@ -6065,11 +4749,9 @@ - - - + @@ -6085,14 +4767,8 @@ - - - - - - - + @@ -6105,9 +4781,6 @@ - - - @@ -6136,7 +4809,6 @@ - @@ -6207,14 +4879,8 @@ - - - - - - - + @@ -6227,16 +4893,11 @@ - - - - - @@ -6265,46 +4926,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6313,9 +4942,6 @@ - - - @@ -6329,6 +4955,7 @@ + @@ -6340,9 +4967,6 @@ - - - diff --git a/setup/azurepowershell.sln b/setup/azurepowershell.sln index d6782b6e5edc..1896d3821999 100644 --- a/setup/azurepowershell.sln +++ b/setup/azurepowershell.sln @@ -1,8 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 -VisualStudioVersion = 12.0.30110.0 +VisualStudioVersion = 12.0.40629.0 MinimumVisualStudioVersion = 10.0.40219.1 - Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "azurepowershell", "azurepowershell.wixproj", "{36D6E303-E057-4963-A093-C7AAE0FD92B3}" ProjectSection(ProjectDependencies) = postProject {EA5BD11B-10B3-433D-A250-92AE76669D8D} = {EA5BD11B-10B3-433D-A250-92AE76669D8D} @@ -16,10 +15,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.Build.0 = Release|Any CPU + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.ActiveCfg = Debug|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Debug|Any CPU.Build.0 = Debug|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.ActiveCfg = Release|x86 + {36D6E303-E057-4963-A093-C7AAE0FD92B3}.Release|Any CPU.Build.0 = Release|x86 {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Debug|Any CPU.Build.0 = Debug|Any CPU {EA5BD11B-10B3-433D-A250-92AE76669D8D}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/setup/azurepowershell.wixproj b/setup/azurepowershell.wixproj index 3aa6465bf54a..d94ac083da23 100644 --- a/setup/azurepowershell.wixproj +++ b/setup/azurepowershell.wixproj @@ -2,7 +2,7 @@ Debug - AnyCPU + x86 3.5 {36d6e303-e057-4963-a093-c7aae0fd92b3} 2.0 @@ -12,13 +12,13 @@ $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets AzurePowershell - + build\$(Configuration)\ obj\$(Configuration)\ Debug ICE30;ICE91;ICE64;ICE61;ICE69 - + build\$(Configuration)\ obj\$(Configuration)\ ICE30;ICE91;ICE64;ICE61;ICE69 diff --git a/src/AzurePowershell.sln b/src/AzurePowershell.sln deleted file mode 100644 index 68bfc89097a9..000000000000 --- a/src/AzurePowershell.sln +++ /dev/null @@ -1,635 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.40629.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8531411A-0137-4E27-9C5E-49E07C245048}" - ProjectSection(SolutionItems) = preProject - local.runsettings = local.runsettings - Local.testsettings = Local.testsettings - Local.x64.testsettings = Local.x64.testsettings - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" - ProjectSection(ProjectDependencies) = postProject - {E1F5201D-6067-430E-B303-4E367652991B} = {E1F5201D-6067-430E-B303-4E367652991B} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test", "ServiceManagement\Services\Commands.Test\Commands.Test.csproj", "{B7FD03F6-98BC-4F54-9A14-0455E579FCD4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase", "ServiceManagement\Sql\Commands.SqlDatabase\Commands.SqlDatabase.csproj", "{DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase.Test", "ServiceManagement\Sql\Commands.SqlDatabase.Test\Commands.SqlDatabase.Test.csproj", "{37455286-D8A7-4E0C-8B4D-C517D20C641A}" -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.Storage.Test", "ServiceManagement\Storage\Commands.Storage.Test\Commands.Storage.Test.csproj", "{D6F470A6-7395-4B8B-9D29-44DF0EC8F624}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTest", "Common\Commands.ScenarioTest\Commands.ScenarioTest.csproj", "{A3965B66-5A3E-4B8C-9574-28E5958D4828}" - ProjectSection(ProjectDependencies) = postProject - {CD5AA507-F5EF-473D-855B-84B91A1ABE54} = {CD5AA507-F5EF-473D-855B-84B91A1ABE54} - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} = {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E} = {E895BBDA-0B06-46AB-B909-9B97B3ECE47E} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement", "ServiceManagement\Compute\Commands.ServiceManagement\Commands.ServiceManagement.csproj", "{E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}" - ProjectSection(ProjectDependencies) = postProject - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF} = {C60342B1-47D3-4A0E-8081-9B97CE60B7AF} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Test", "ServiceManagement\Compute\Commands.ServiceManagement.Test\Commands.ServiceManagement.Test.csproj", "{58A78F29-8C0C-4A5E-893E-3953C0F29C8A}" - ProjectSection(ProjectDependencies) = postProject - {98B10548-DF97-4FB1-8D82-2A12945D4F21} = {98B10548-DF97-4FB1-8D82-2A12945D4F21} - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A} = {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A} - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4} = {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4} - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737} = {FDB897BD-FCB4-44A1-8D66-AC99F22EC737} - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E} = {E895BBDA-0B06-46AB-B909-9B97B3ECE47E} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sync", "ServiceManagement\Compute\Sync\Sync.csproj", "{73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VhdManagement", "ServiceManagement\Compute\VhdManagement\VhdManagement.csproj", "{80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTestLib", "ServiceManagement\Storage\Commands.Storage.MsTestLib\Commands.Storage.MsTestLib.csproj", "{CE97967B-7479-43B9-9561-776232AC5D47}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.StorageTestLib", "ServiceManagement\Storage\Commands.Storage.StorageTestLib\Commands.Storage.StorageTestLib.csproj", "{0A513849-2690-4D07-8DE7-0ACE39645D12}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.ScenarioTest", "ServiceManagement\Storage\Commands.Storage.ScenarioTest\Commands.Storage.ScenarioTest.csproj", "{4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTest2", "ServiceManagement\Storage\Commands.Storage.MsTest2\Commands.Storage.MsTest2.csproj", "{9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.PlatformImageRepository", "ServiceManagement\Compute\Commands.ServiceManagement.PlatformImageRepository\Commands.ServiceManagement.PlatformImageRepository.csproj", "{6478FA8B-3801-4863-8591-87F0855D5C82}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Preview", "ServiceManagement\Compute\Commands.ServiceManagement.Preview\Commands.ServiceManagement.Preview.csproj", "{E895BBDA-0B06-46AB-B909-9B97B3ECE47E}" - ProjectSection(ProjectDependencies) = postProject - {6478FA8B-3801-4863-8591-87F0855D5C82} = {6478FA8B-3801-4863-8591-87F0855D5C82} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ExpressRoute", "ServiceManagement\ExpressRoute\Commands.ExpressRoute\Commands.ExpressRoute.csproj", "{45C2D687-E0CE-4C97-B731-335834DC2BF2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -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.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{95C16AED-FD57-42A0-86C3-2CF4300A4817}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources", "ResourceManager\Resources\Commands.Resources\Commands.Resources.csproj", "{E1F5201D-6067-430E-B303-4E367652991B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources.Test", "ResourceManager\Resources\Commands.Resources.Test\Commands.Resources.Test.csproj", "{4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}" - ProjectSection(ProjectDependencies) = postProject - {D470E50A-9607-48D6-A924-4F9F86502704} = {D470E50A-9607-48D6-A924-4F9F86502704} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager", "ServiceManagement\TrafficManager\Commands.TrafficManager\Commands.TrafficManager.csproj", "{94E96A5C-B5AD-4E10-B13A-3BC16D102AED}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache", "ServiceManagement\ManagedCache\Commands.ManagedCache\Commands.ManagedCache.csproj", "{46C06ED8-43D9-41FD-B73B-41547D9C04E1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache.Test", "ServiceManagement\ManagedCache\Commands.ManagedCache.Test\Commands.ManagedCache.Test.csproj", "{374D4000-DEDE-4995-9B63-E3B9FE0C4D29}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Profile", "Common\Commands.Profile\Commands.Profile.csproj", "{C60342B1-47D3-4A0E-8081-9B97CE60B7AF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Automation", "ServiceManagement\Automation\Commands.Automation\Commands.Automation.csproj", "{47CD7E95-5330-4384-ABCE-2C267C57085C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Automation.Test", "ServiceManagement\Automation\Commands.Automation.Test\Commands.Automation.Test.csproj", "{127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager.Test", "ServiceManagement\TrafficManager\Commands.TrafficManager.Test\Commands.TrafficManager.Test.csproj", "{84F99CBD-5B86-4428-B263-135B2F67F512}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.HDInsight.Test", "ServiceManagement\HDInsight\Commands.HDInsight.Test\Commands.HDInsight.Test.csproj", "{7E8D2555-2DDD-4757-974F-D5FFD0647671}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Tags", "ResourceManager\Tags\Commands.Tags\Commands.Tags.csproj", "{2493A8F7-1949-4F29-8D53-9D459046C3B8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTests.Common", "Common\Commands.ScenarioTests.Common\Commands.ScenarioTests.Common.csproj", "{C1BDA476-A5CC-4394-914D-48B0EC31A710}" - ProjectSection(ProjectDependencies) = postProject - {CD5AA507-F5EF-473D-855B-84B91A1ABE54} = {CD5AA507-F5EF-473D-855B-84B91A1ABE54} - {E1F5201D-6067-430E-B303-4E367652991B} = {E1F5201D-6067-430E-B303-4E367652991B} - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} = {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} - {98B10548-DF97-4FB1-8D82-2A12945D4F21} = {98B10548-DF97-4FB1-8D82-2A12945D4F21} - {137D404A-865A-43DB-930C-6DA67DA048DF} = {137D404A-865A-43DB-930C-6DA67DA048DF} - {4900EC4E-8DEB-4412-9108-0BC52F81D457} = {4900EC4E-8DEB-4412-9108-0BC52F81D457} - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED} = {94E96A5C-B5AD-4E10-B13A-3BC16D102AED} - {45C2D687-E0CE-4C97-B731-335834DC2BF2} = {45C2D687-E0CE-4C97-B731-335834DC2BF2} - {47CD7E95-5330-4384-ABCE-2C267C57085C} = {47CD7E95-5330-4384-ABCE-2C267C57085C} - {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A} = {08CF7DA7-0392-4A19-B79B-E1FF67CDB81A} - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF} = {C60342B1-47D3-4A0E-8081-9B97CE60B7AF} - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F} = {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F} - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4} = {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4} - {46C06ED8-43D9-41FD-B73B-41547D9C04E1} = {46C06ED8-43D9-41FD-B73B-41547D9C04E1} - {2493A8F7-1949-4F29-8D53-9D459046C3B8} = {2493A8F7-1949-4F29-8D53-9D459046C3B8} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Sql", "ResourceManager\Sql\Commands.Sql\Commands.Sql.csproj", "{69ED499E-6F3C-488F-86B8-B74CFDA4D47E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.DataFactories", "ResourceManager\DataFactories\Commands.DataFactories\Commands.DataFactories.csproj", "{9577252E-0A6B-4D61-86E8-95F7F309A987}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.DataFactories.Test", "ResourceManager\DataFactories\Commands.DataFactories.Test\Commands.DataFactories.Test.csproj", "{D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Sql.Test", "ResourceManager\Sql\Commands.Sql.Test\Commands.Sql.Test.csproj", "{56ED8C97-53B9-4DF6-ACB5-7E6800105BF8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RedisCache", "ResourceManager\RedisCache\Commands.RedisCache\Commands.RedisCache.csproj", "{C972E3EF-4461-4758-BA31-93E0947B1253}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RedisCache.Test", "ResourceManager\RedisCache\Commands.RedisCache.Test\Commands.RedisCache.Test.csproj", "{4AE5705F-62CF-461D-B72E-DD9DCD9B3609}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Batch", "ResourceManager\AzureBatch\Commands.Batch\Commands.Batch.csproj", "{D470E50A-9607-48D6-A924-4F9F86502704}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Batch.Test", "ResourceManager\AzureBatch\Commands.Batch.Test\Commands.Batch.Test.csproj", "{F4ABAD68-64A5-4B23-B09C-42559A7524DE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network", "ServiceManagement\Network\Commands.Network\Commands.ServiceManagement.Network.csproj", "{40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network.Test", "ServiceManagement\Network\Commands.Network.Test\Commands.ServiceManagement.Network.Test.csproj", "{FDB897BD-FCB4-44A1-8D66-AC99F22EC737}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.KeyVault", "ResourceManager\KeyVault\Commands.KeyVault\Commands.KeyVault.csproj", "{9FFC40CC-A341-4D0C-A25D-DC6B78EF6C94}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.KeyVault.Test", "ResourceManager\KeyVault\Commands.KeyVault.Test\Commands.KeyVault.Test.csproj", "{080B0477-7E52-4455-90AB-23BD13D1B1CE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices", "ServiceManagement\RecoveryServices\Commands.RecoveryServices\Commands.RecoveryServices.csproj", "{98B10548-DF97-4FB1-8D82-2A12945D4F21}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices.Test", "ServiceManagement\RecoveryServices\Commands.RecoveryServices.Test\Commands.RecoveryServices.Test.csproj", "{A415F75B-EB6A-49A6-934E-5BA71B83D6EB}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Dns", "ResourceManager\Dns\Commands.Dns\Commands.Dns.csproj", "{3CAE1B57-FFEC-4945-A6C5-6E5E8DEA4BA9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Dns.Test", "ResourceManager\Dns\Commands.Dns.Test\Commands.Dns.Test.csproj", "{133561EC-99AF-4ADC-AF41-39C4D3AD323B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple", "ServiceManagement\StorSimple\Commands.StorSimple\Commands.StorSimple.csproj", "{11524D98-6C40-4091-A8E1-86463FEE607C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple.Test", "ServiceManagement\StorSimple\Commands.StorSimple.Test\Commands.StorSimple.Test.csproj", "{0FA676D5-1349-4086-B33F-65EC2CB7DA41}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StreamAnalytics", "ResourceManager\StreamAnalytics\Commands.StreamAnalytics\Commands.StreamAnalytics.csproj", "{F49A314A-A235-47D3-A654-1EC19ACA366C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StreamAnalytics.Test", "ResourceManager\StreamAnalytics\Commands.StreamAnalytics.Test\Commands.StreamAnalytics.Test.csproj", "{7E6683BE-ECFF-4709-89EB-1325E9E70512}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Insights", "ResourceManager\Insights\Commands.Insights\Commands.Insights.csproj", "{DEA446A1-84E2-46CC-B780-EB4AFDE2460E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Insights.Test", "ResourceManager\Insights\Commands.Insights.Test\Commands.Insights.Test.csproj", "{469F20E0-9D40-41AD-94C3-B47AD15A4C00}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Websites", "ResourceManager\Websites\Commands.Websites\Commands.Websites.csproj", "{80A92297-7C92-456B-8EE7-9FB6CE30149D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManagement.Automation", "ResourceManager\Automation\Commands.Automation\Commands.ResourceManagement.Automation.csproj", "{90DEF35A-F7FF-40D0-B008-F489A4C092DB}" -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.RemoteApp", "ServiceManagement\RemoteApp\Commands.RemoteApp\Commands.RemoteApp.csproj", "{492D2AF2-950B-4F2E-8079-8794305313FD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RemoteApp.Test", "ServiceManagement\RemoteApp\Commands.RemoteApp.Test\Commands.RemoteApp.Test.csproj", "{CA82D500-1940-4068-A076-D7A8AD459FB0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Compute", "ResourceManager\Compute\Commands.Compute\Commands.Compute.csproj", "{52643BD5-6378-49BD-9F6E-DAC9DD8A867B}" - ProjectSection(ProjectDependencies) = postProject - {E1F5201D-6067-430E-B303-4E367652991B} = {E1F5201D-6067-430E-B303-4E367652991B} - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981} = {98CFD96B-A6BC-4F15-AE2C-603FC2B58981} - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F} = {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Compute.Test", "ResourceManager\Compute\Commands.Compute.Test\Commands.Compute.Test.csproj", "{37C44181-3F1B-4ABD-8089-26DFAB4B6BA8}" - ProjectSection(ProjectDependencies) = postProject - {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7} = {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Network.Test", "ResourceManager\Network\Commands.Network.Test\Commands.Network.Test.csproj", "{A2DF4FE5-46EE-43E2-B246-E5CDDD47B752}" - ProjectSection(ProjectDependencies) = postProject - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981} = {98CFD96B-A6BC-4F15-AE2C-603FC2B58981} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Network", "ResourceManager\Network\Commands.Network\Commands.Network.csproj", "{98CFD96B-A6BC-4F15-AE2C-603FC2B58981}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager2", "ResourceManager\TrafficManager\Commands.TrafficManager2\Commands.TrafficManager2.csproj", "{270CBB5F-BB8A-4E33-B35B-95698E607D97}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager2.Test", "ResourceManager\TrafficManager\Commands.TrafficManager2.Test\Commands.TrafficManager2.Test.csproj", "{5764A3A4-586C-4536-8481-13007CAC111B}" -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}" -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}" -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.Management.Storage", "ResourceManager\Storage\Commands.Management.Storage\Commands.Management.Storage.csproj", "{A50AB133-5C04-4A17-9054-F8343683EC23}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Management.Storage.Test", "ResourceManager\Storage\Commands.Management.Storage.Test\Commands.Management.Storage.Test.csproj", "{7D1D3B56-4EB4-4819-86FD-43330DED8EE7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.OperationalInsights", "ResourceManager\OperationalInsights\Commands.OperationalInsights\Commands.OperationalInsights.csproj", "{5BE35A94-C20F-4659-AA29-9B9AEBCFAF36}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.OperationalInsights.Test", "ResourceManager\OperationalInsights\Commands.OperationalInsights.Test\Commands.OperationalInsights.Test.csproj", "{11387E0A-4DB6-49B8-BDBC-EE020D85D10F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.UsageAggregates", "ResourceManager\Commerce\Commands.UsageAggregates\Commands.UsageAggregates.csproj", "{1A131D3A-EAC4-420C-A1C0-5490ED68EF67}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.UsageAggregates.Test", "ResourceManager\Commerce\Commands.UsageAggregates.Test\Commands.UsageAggregates.Test.csproj", "{F220C306-29A3-4511-8518-A58A55C60D07}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ApiManagement.ServiceManagement", "ResourceManager\ApiManagement\Commands.ApiManagement.ServiceManagement\Commands.ApiManagement.ServiceManagement.csproj", "{ED8BA708-AF42-4C08-9F4E-DAA1037797D5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ApiManagement.ServiceManagement.Test", "ResourceManager\ApiManagement\Commands.SMAPI.Test\Commands.ApiManagement.ServiceManagement.Test.csproj", "{6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.AzureBackup", "ResourceManager\AzureBackup\Commands.AzureBackup\Commands.AzureBackup.csproj", "{6C8D2337-C9D1-4F52-94B3-AB63A19F3453}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.AzureBackup.Test", "ResourceManager\AzureBackup\Commands.AzureBackup.Test\Commands.AzureBackup.Test.csproj", "{678AE95D-2364-47D7-888C-3FFA6D412CC8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HDInsight", "ServiceManagement\HDInsight\Commands.HDInsight\HDInsight.csproj", "{137D404A-865A-43DB-930C-6DA67DA048DF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.HDInsight", "ResourceManager\HDInsight\Commands.HDInsight\Commands.HDInsight.csproj", "{6B7540C5-8AB3-4011-864B-0BE76F282F9E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SiteRecovery", "ResourceManager\SiteRecovery\Commands.SiteRecovery\Commands.SiteRecovery.csproj", "{7C879645-31EE-4A78-AD81-5512300FA104}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SiteRecovery.Test", "ResourceManager\SiteRecovery\Commands.SiteRecovery.Test\Commands.SiteRecovery.Test.csproj", "{6C7D3D81-37AB-445E-8081-78A1FEC0A773}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.Build.0 = Release|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Release|Any CPU.Build.0 = Release|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Release|Any CPU.Build.0 = Release|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.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 - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Release|Any CPU.Build.0 = Release|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Release|Any CPU.Build.0 = Release|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.Build.0 = Release|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Release|Any CPU.Build.0 = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.ActiveCfg = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.Build.0 = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.Build.0 = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.Build.0 = Release|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Release|Any CPU.Build.0 = Release|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Release|Any CPU.Build.0 = Release|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Release|Any CPU.Build.0 = Release|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Release|Any CPU.Build.0 = Release|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Release|Any CPU.Build.0 = Release|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Release|Any CPU.Build.0 = Release|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - {E1F5201D-6067-430E-B303-4E367652991B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1F5201D-6067-430E-B303-4E367652991B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1F5201D-6067-430E-B303-4E367652991B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1F5201D-6067-430E-B303-4E367652991B}.Release|Any CPU.Build.0 = Release|Any CPU - {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Debug|Any CPU.Build.0 = Debug|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Release|Any CPU.ActiveCfg = Release|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Release|Any CPU.Build.0 = Release|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Release|Any CPU.Build.0 = Release|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.ActiveCfg = Release|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.Build.0 = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.Build.0 = Release|Any CPU - {47CD7E95-5330-4384-ABCE-2C267C57085C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {47CD7E95-5330-4384-ABCE-2C267C57085C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {47CD7E95-5330-4384-ABCE-2C267C57085C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {47CD7E95-5330-4384-ABCE-2C267C57085C}.Release|Any CPU.Build.0 = Release|Any CPU - {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Release|Any CPU.Build.0 = Release|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Release|Any CPU.ActiveCfg = Release|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Release|Any CPU.Build.0 = Release|Any CPU - {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Release|Any CPU.Build.0 = Release|Any CPU - {2493A8F7-1949-4F29-8D53-9D459046C3B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2493A8F7-1949-4F29-8D53-9D459046C3B8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2493A8F7-1949-4F29-8D53-9D459046C3B8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2493A8F7-1949-4F29-8D53-9D459046C3B8}.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 - {69ED499E-6F3C-488F-86B8-B74CFDA4D47E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {69ED499E-6F3C-488F-86B8-B74CFDA4D47E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {69ED499E-6F3C-488F-86B8-B74CFDA4D47E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {69ED499E-6F3C-488F-86B8-B74CFDA4D47E}.Release|Any CPU.Build.0 = Release|Any CPU - {9577252E-0A6B-4D61-86E8-95F7F309A987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9577252E-0A6B-4D61-86E8-95F7F309A987}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9577252E-0A6B-4D61-86E8-95F7F309A987}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9577252E-0A6B-4D61-86E8-95F7F309A987}.Release|Any CPU.Build.0 = Release|Any CPU - {D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B}.Release|Any CPU.Build.0 = Release|Any CPU - {56ED8C97-53B9-4DF6-ACB5-7E6800105BF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {56ED8C97-53B9-4DF6-ACB5-7E6800105BF8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {56ED8C97-53B9-4DF6-ACB5-7E6800105BF8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {56ED8C97-53B9-4DF6-ACB5-7E6800105BF8}.Release|Any CPU.Build.0 = Release|Any CPU - {C972E3EF-4461-4758-BA31-93E0947B1253}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C972E3EF-4461-4758-BA31-93E0947B1253}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C972E3EF-4461-4758-BA31-93E0947B1253}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C972E3EF-4461-4758-BA31-93E0947B1253}.Release|Any CPU.Build.0 = Release|Any CPU - {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Release|Any CPU.Build.0 = Release|Any CPU - {D470E50A-9607-48D6-A924-4F9F86502704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D470E50A-9607-48D6-A924-4F9F86502704}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D470E50A-9607-48D6-A924-4F9F86502704}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D470E50A-9607-48D6-A924-4F9F86502704}.Release|Any CPU.Build.0 = Release|Any CPU - {F4ABAD68-64A5-4B23-B09C-42559A7524DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F4ABAD68-64A5-4B23-B09C-42559A7524DE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F4ABAD68-64A5-4B23-B09C-42559A7524DE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F4ABAD68-64A5-4B23-B09C-42559A7524DE}.Release|Any CPU.Build.0 = Release|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.Build.0 = Release|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.Build.0 = Release|Any CPU - {9FFC40CC-A341-4D0C-A25D-DC6B78EF6C94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9FFC40CC-A341-4D0C-A25D-DC6B78EF6C94}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9FFC40CC-A341-4D0C-A25D-DC6B78EF6C94}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9FFC40CC-A341-4D0C-A25D-DC6B78EF6C94}.Release|Any CPU.Build.0 = Release|Any CPU - {080B0477-7E52-4455-90AB-23BD13D1B1CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {080B0477-7E52-4455-90AB-23BD13D1B1CE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {080B0477-7E52-4455-90AB-23BD13D1B1CE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {080B0477-7E52-4455-90AB-23BD13D1B1CE}.Release|Any CPU.Build.0 = Release|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.Build.0 = Debug|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Release|Any CPU.ActiveCfg = Release|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Release|Any CPU.Build.0 = Release|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.Build.0 = Release|Any CPU - {3CAE1B57-FFEC-4945-A6C5-6E5E8DEA4BA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CAE1B57-FFEC-4945-A6C5-6E5E8DEA4BA9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CAE1B57-FFEC-4945-A6C5-6E5E8DEA4BA9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CAE1B57-FFEC-4945-A6C5-6E5E8DEA4BA9}.Release|Any CPU.Build.0 = Release|Any CPU - {133561EC-99AF-4ADC-AF41-39C4D3AD323B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {133561EC-99AF-4ADC-AF41-39C4D3AD323B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {133561EC-99AF-4ADC-AF41-39C4D3AD323B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {133561EC-99AF-4ADC-AF41-39C4D3AD323B}.Release|Any CPU.Build.0 = Release|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Release|Any CPU.Build.0 = Release|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.Build.0 = Release|Any CPU - {F49A314A-A235-47D3-A654-1EC19ACA366C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F49A314A-A235-47D3-A654-1EC19ACA366C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F49A314A-A235-47D3-A654-1EC19ACA366C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F49A314A-A235-47D3-A654-1EC19ACA366C}.Release|Any CPU.Build.0 = Release|Any CPU - {7E6683BE-ECFF-4709-89EB-1325E9E70512}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E6683BE-ECFF-4709-89EB-1325E9E70512}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E6683BE-ECFF-4709-89EB-1325E9E70512}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E6683BE-ECFF-4709-89EB-1325E9E70512}.Release|Any CPU.Build.0 = Release|Any CPU - {DEA446A1-84E2-46CC-B780-EB4AFDE2460E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DEA446A1-84E2-46CC-B780-EB4AFDE2460E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DEA446A1-84E2-46CC-B780-EB4AFDE2460E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DEA446A1-84E2-46CC-B780-EB4AFDE2460E}.Release|Any CPU.Build.0 = Release|Any CPU - {469F20E0-9D40-41AD-94C3-B47AD15A4C00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {469F20E0-9D40-41AD-94C3-B47AD15A4C00}.Debug|Any CPU.Build.0 = Debug|Any CPU - {469F20E0-9D40-41AD-94C3-B47AD15A4C00}.Release|Any CPU.ActiveCfg = Release|Any CPU - {469F20E0-9D40-41AD-94C3-B47AD15A4C00}.Release|Any CPU.Build.0 = Release|Any CPU - {80A92297-7C92-456B-8EE7-9FB6CE30149D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80A92297-7C92-456B-8EE7-9FB6CE30149D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80A92297-7C92-456B-8EE7-9FB6CE30149D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80A92297-7C92-456B-8EE7-9FB6CE30149D}.Release|Any CPU.Build.0 = Release|Any CPU - {90DEF35A-F7FF-40D0-B008-F489A4C092DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90DEF35A-F7FF-40D0-B008-F489A4C092DB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90DEF35A-F7FF-40D0-B008-F489A4C092DB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90DEF35A-F7FF-40D0-B008-F489A4C092DB}.Release|Any CPU.Build.0 = Release|Any CPU - {13E031E4-8A43-4B87-9D72-D70180C31C11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {492D2AF2-950B-4F2E-8079-8794305313FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {492D2AF2-950B-4F2E-8079-8794305313FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {492D2AF2-950B-4F2E-8079-8794305313FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {492D2AF2-950B-4F2E-8079-8794305313FD}.Release|Any CPU.Build.0 = Release|Any CPU - {CA82D500-1940-4068-A076-D7A8AD459FB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CA82D500-1940-4068-A076-D7A8AD459FB0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA82D500-1940-4068-A076-D7A8AD459FB0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CA82D500-1940-4068-A076-D7A8AD459FB0}.Release|Any CPU.Build.0 = Release|Any CPU - {52643BD5-6378-49BD-9F6E-DAC9DD8A867B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {52643BD5-6378-49BD-9F6E-DAC9DD8A867B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {52643BD5-6378-49BD-9F6E-DAC9DD8A867B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {52643BD5-6378-49BD-9F6E-DAC9DD8A867B}.Release|Any CPU.Build.0 = Release|Any CPU - {37C44181-3F1B-4ABD-8089-26DFAB4B6BA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37C44181-3F1B-4ABD-8089-26DFAB4B6BA8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37C44181-3F1B-4ABD-8089-26DFAB4B6BA8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37C44181-3F1B-4ABD-8089-26DFAB4B6BA8}.Release|Any CPU.Build.0 = Release|Any CPU - {A2DF4FE5-46EE-43E2-B246-E5CDDD47B752}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A2DF4FE5-46EE-43E2-B246-E5CDDD47B752}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A2DF4FE5-46EE-43E2-B246-E5CDDD47B752}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A2DF4FE5-46EE-43E2-B246-E5CDDD47B752}.Release|Any CPU.Build.0 = Release|Any CPU - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981}.Debug|Any CPU.Build.0 = Debug|Any CPU - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981}.Release|Any CPU.ActiveCfg = Release|Any CPU - {98CFD96B-A6BC-4F15-AE2C-603FC2B58981}.Release|Any CPU.Build.0 = Release|Any CPU - {270CBB5F-BB8A-4E33-B35B-95698E607D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {270CBB5F-BB8A-4E33-B35B-95698E607D97}.Debug|Any CPU.Build.0 = Debug|Any CPU - {270CBB5F-BB8A-4E33-B35B-95698E607D97}.Release|Any CPU.ActiveCfg = Release|Any CPU - {270CBB5F-BB8A-4E33-B35B-95698E607D97}.Release|Any CPU.Build.0 = Release|Any CPU - {5764A3A4-586C-4536-8481-13007CAC111B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5764A3A4-586C-4536-8481-13007CAC111B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5764A3A4-586C-4536-8481-13007CAC111B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5764A3A4-586C-4536-8481-13007CAC111B}.Release|Any CPU.Build.0 = Release|Any CPU - {59D1B5DC-9175-43EC-90C6-CBA601B3565F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {59D1B5DC-9175-43EC-90C6-CBA601B3565F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {59D1B5DC-9175-43EC-90C6-CBA601B3565F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {59D1B5DC-9175-43EC-90C6-CBA601B3565F}.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 - {8058D403-06E3-4BED-8924-D166CE303961}.Release|Any CPU.Build.0 = Release|Any CPU - {DC0A9742-DF36-48C9-BD2F-68D01AED6257}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DC0A9742-DF36-48C9-BD2F-68D01AED6257}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DC0A9742-DF36-48C9-BD2F-68D01AED6257}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DC0A9742-DF36-48C9-BD2F-68D01AED6257}.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 - {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D}.Release|Any CPU.Build.0 = Release|Any CPU - {A50AB133-5C04-4A17-9054-F8343683EC23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A50AB133-5C04-4A17-9054-F8343683EC23}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A50AB133-5C04-4A17-9054-F8343683EC23}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A50AB133-5C04-4A17-9054-F8343683EC23}.Release|Any CPU.Build.0 = Release|Any CPU - {7D1D3B56-4EB4-4819-86FD-43330DED8EE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7D1D3B56-4EB4-4819-86FD-43330DED8EE7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7D1D3B56-4EB4-4819-86FD-43330DED8EE7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7D1D3B56-4EB4-4819-86FD-43330DED8EE7}.Release|Any CPU.Build.0 = Release|Any CPU - {5BE35A94-C20F-4659-AA29-9B9AEBCFAF36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5BE35A94-C20F-4659-AA29-9B9AEBCFAF36}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5BE35A94-C20F-4659-AA29-9B9AEBCFAF36}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5BE35A94-C20F-4659-AA29-9B9AEBCFAF36}.Release|Any CPU.Build.0 = Release|Any CPU - {11387E0A-4DB6-49B8-BDBC-EE020D85D10F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {11387E0A-4DB6-49B8-BDBC-EE020D85D10F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11387E0A-4DB6-49B8-BDBC-EE020D85D10F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {11387E0A-4DB6-49B8-BDBC-EE020D85D10F}.Release|Any CPU.Build.0 = Release|Any CPU - {1A131D3A-EAC4-420C-A1C0-5490ED68EF67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A131D3A-EAC4-420C-A1C0-5490ED68EF67}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A131D3A-EAC4-420C-A1C0-5490ED68EF67}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A131D3A-EAC4-420C-A1C0-5490ED68EF67}.Release|Any CPU.Build.0 = Release|Any CPU - {F220C306-29A3-4511-8518-A58A55C60D07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F220C306-29A3-4511-8518-A58A55C60D07}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F220C306-29A3-4511-8518-A58A55C60D07}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F220C306-29A3-4511-8518-A58A55C60D07}.Release|Any CPU.Build.0 = Release|Any CPU - {ED8BA708-AF42-4C08-9F4E-DAA1037797D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED8BA708-AF42-4C08-9F4E-DAA1037797D5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED8BA708-AF42-4C08-9F4E-DAA1037797D5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED8BA708-AF42-4C08-9F4E-DAA1037797D5}.Release|Any CPU.Build.0 = Release|Any CPU - {6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B}.Release|Any CPU.Build.0 = Release|Any CPU - {6C8D2337-C9D1-4F52-94B3-AB63A19F3453}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6C8D2337-C9D1-4F52-94B3-AB63A19F3453}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C8D2337-C9D1-4F52-94B3-AB63A19F3453}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6C8D2337-C9D1-4F52-94B3-AB63A19F3453}.Release|Any CPU.Build.0 = Release|Any CPU - {678AE95D-2364-47D7-888C-3FFA6D412CC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {678AE95D-2364-47D7-888C-3FFA6D412CC8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {678AE95D-2364-47D7-888C-3FFA6D412CC8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {678AE95D-2364-47D7-888C-3FFA6D412CC8}.Release|Any CPU.Build.0 = Release|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.Build.0 = Release|Any CPU - {6B7540C5-8AB3-4011-864B-0BE76F282F9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6B7540C5-8AB3-4011-864B-0BE76F282F9E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6B7540C5-8AB3-4011-864B-0BE76F282F9E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6B7540C5-8AB3-4011-864B-0BE76F282F9E}.Release|Any CPU.Build.0 = Release|Any CPU - {7C879645-31EE-4A78-AD81-5512300FA104}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7C879645-31EE-4A78-AD81-5512300FA104}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7C879645-31EE-4A78-AD81-5512300FA104}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7C879645-31EE-4A78-AD81-5512300FA104}.Release|Any CPU.Build.0 = Release|Any CPU - {6C7D3D81-37AB-445E-8081-78A1FEC0A773}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6C7D3D81-37AB-445E-8081-78A1FEC0A773}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C7D3D81-37AB-445E-8081-78A1FEC0A773}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6C7D3D81-37AB-445E-8081-78A1FEC0A773}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {37455286-D8A7-4E0C-8B4D-C517D20C641A} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {A3965B66-5A3E-4B8C-9574-28E5958D4828} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {BC420543-C04E-4BF3-96E1-CD81B823BDD7} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {CE97967B-7479-43B9-9561-776232AC5D47} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {0A513849-2690-4D07-8DE7-0ACE39645D12} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {3B48A77B-5956-4A62-9081-92BA04B02B27} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {4C2FE49A-09E1-4979-AD46-CD64FD04C8F7} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {84F99CBD-5B86-4428-B263-135B2F67F512} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {7E8D2555-2DDD-4757-974F-D5FFD0647671} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {C1BDA476-A5CC-4394-914D-48B0EC31A710} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {D4EDAD6F-6A1D-4295-9A88-CD3F69EAD42B} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {56ED8C97-53B9-4DF6-ACB5-7E6800105BF8} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {4AE5705F-62CF-461D-B72E-DD9DCD9B3609} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {F4ABAD68-64A5-4B23-B09C-42559A7524DE} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {080B0477-7E52-4455-90AB-23BD13D1B1CE} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {133561EC-99AF-4ADC-AF41-39C4D3AD323B} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {0FA676D5-1349-4086-B33F-65EC2CB7DA41} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {7E6683BE-ECFF-4709-89EB-1325E9E70512} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {469F20E0-9D40-41AD-94C3-B47AD15A4C00} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {13E031E4-8A43-4B87-9D72-D70180C31C11} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {CA82D500-1940-4068-A076-D7A8AD459FB0} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {37C44181-3F1B-4ABD-8089-26DFAB4B6BA8} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {A2DF4FE5-46EE-43E2-B246-E5CDDD47B752} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {5764A3A4-586C-4536-8481-13007CAC111B} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {59D1B5DC-9175-43EC-90C6-CBA601B3565F} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {BEC9ECE9-A3D6-4B24-A682-1FA890647D9D} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {7D1D3B56-4EB4-4819-86FD-43330DED8EE7} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {11387E0A-4DB6-49B8-BDBC-EE020D85D10F} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {F220C306-29A3-4511-8518-A58A55C60D07} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {6448E795-3D02-4BDD-B0C7-AD0A2AFE3C8B} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {678AE95D-2364-47D7-888C-3FFA6D412CC8} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - {6C7D3D81-37AB-445E-8081-78A1FEC0A773} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} - EndGlobalSection -EndGlobal diff --git a/src/Common.sln b/src/Common.sln deleted file mode 100644 index 2a66f4292cd6..000000000000 --- a/src/Common.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -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.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Profile", "Common\Commands.Profile\Commands.Profile.csproj", "{C60342B1-47D3-4A0E-8081-9B97CE60B7AF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTest", "Common\Commands.ScenarioTest\Commands.ScenarioTest.csproj", "{A3965B66-5A3E-4B8C-9574-28E5958D4828}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.Build.0 = Release|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A3965B66-5A3E-4B8C-9574-28E5958D4828}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/Common/AzurePSCmdlet.cs b/src/Common/AzurePSCmdlet.cs new file mode 100644 index 000000000000..9142bf300879 --- /dev/null +++ b/src/Common/AzurePSCmdlet.cs @@ -0,0 +1,500 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Concurrent; +using System.Diagnostics; +using System.Management.Automation; +using System.Net.Http.Headers; +using System.Reflection; +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.Text; +using System.Threading; + +namespace Microsoft.WindowsAzure.Commands.Utilities.Common +{ + /// + /// Represents base class for all Azure cmdlets. + /// + public abstract class AzurePSCmdlet : PSCmdlet, IDisposable + { + private readonly ConcurrentQueue _debugMessages; + + private RecordingTracingInterceptor _httpTracingInterceptor; + + private DebugStreamTraceListener _adalListener; + protected static AzurePSDataCollectionProfile _dataCollectionProfile = null; + protected static string _errorRecordFolderPath = null; + protected const string _fileTimeStampSuffixFormat = "yyyy-MM-dd-THH-mm-ss-fff"; + + 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. + /// By default uses "Azurepowershell" + /// + protected virtual string ModuleName { get { return "AzurePowershell"; } } + + /// + /// Gets PowerShell module version used for user agent header. + /// + protected string ModuleVersion { get { return Assembly.GetCallingAssembly().GetName().Version.ToString(); } } + + /// + /// Gets the default Azure context. + /// + protected abstract AzureContext DefaultContext { get; } + + /// + /// Initializes AzurePSCmdlet properties. + /// + public AzurePSCmdlet() + { + _debugMessages = new ConcurrentQueue(); + } + + /// + /// 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)); + } + else + { + WriteDebugWithTimestamp(string.Format("{0} begin processing with ParameterSet '{1}'.", this.GetType().Name, ParameterSetName)); + } + + if (DefaultContext != null && DefaultContext.Account != null && DefaultContext.Account.Id != null) + { + WriteDebugWithTimestamp(string.Format("using account id '{0}'...", DefaultContext.Account.Id)); + } + + _httpTracingInterceptor = _httpTracingInterceptor ?? new RecordingTracingInterceptor(_debugMessages); + _adalListener = _adalListener ?? new DebugStreamTraceListener(_debugMessages); + RecordingTracingInterceptor.AddToContext(_httpTracingInterceptor); + DebugStreamTraceListener.AddAdalTracing(_adalListener); + + ProductInfoHeaderValue userAgentValue = new ProductInfoHeaderValue( + ModuleName, string.Format("v{0}", ModuleVersion)); + AzureSession.ClientFactory.UserAgents.Add(userAgentValue); + + base.BeginProcessing(); + } + + /// + /// End processing. Flush messages in tracing interceptor and save profile and removes user agent. + /// + protected override void EndProcessing() + { + LogQosEvent(); + string message = string.Format("{0} end processing.", this.GetType().Name); + WriteDebugWithTimestamp(message); + + RecordingTracingInterceptor.RemoveFromContext(_httpTracingInterceptor); + DebugStreamTraceListener.RemoveAdalTracing(_adalListener); + FlushDebugMessages(); + + AzureSession.ClientFactory.UserAgents.RemoveAll(u => u.Product.Name == ModuleName); + + base.EndProcessing(); + } + + protected string CurrentPath() + { + // SessionState is only available within Powershell so default to + // the CurrentDirectory when being run from tests. + return (SessionState != null) ? + SessionState.Path.CurrentLocation.Path : + Environment.CurrentDirectory; + } + + protected bool IsVerbose() + { + bool verbose = MyInvocation.BoundParameters.ContainsKey("Verbose") && ((SwitchParameter)MyInvocation.BoundParameters["Verbose"]).ToBool(); + return verbose; + } + + protected new void WriteError(ErrorRecord errorRecord) + { + FlushDebugMessages(IsDataCollectionAllowed()); + if (QosEvent != null && errorRecord != null) + { + QosEvent.Exception = errorRecord.Exception; + QosEvent.IsSuccess = false; + LogQosEvent(true); + } + + base.WriteError(errorRecord); + } + + protected new void WriteObject(object sendToPipeline) + { + FlushDebugMessages(); + base.WriteObject(sendToPipeline); + } + + protected new void WriteObject(object sendToPipeline, bool enumerateCollection) + { + FlushDebugMessages(); + base.WriteObject(sendToPipeline, enumerateCollection); + } + + protected new void WriteVerbose(string text) + { + FlushDebugMessages(); + base.WriteVerbose(text); + } + + protected new void WriteWarning(string text) + { + FlushDebugMessages(); + base.WriteWarning(text); + } + + protected new void WriteCommandDetail(string text) + { + FlushDebugMessages(); + base.WriteCommandDetail(text); + } + + protected new void WriteProgress(ProgressRecord progressRecord) + { + FlushDebugMessages(); + base.WriteProgress(progressRecord); + } + + protected new void WriteDebug(string text) + { + FlushDebugMessages(); + base.WriteDebug(text); + } + + protected void WriteVerboseWithTimestamp(string message, params object[] args) + { + WriteVerbose(string.Format("{0:T} - {1}", DateTime.Now, string.Format(message, args))); + } + + protected void WriteVerboseWithTimestamp(string message) + { + WriteVerbose(string.Format("{0:T} - {1}", DateTime.Now, message)); + } + + protected void WriteWarningWithTimestamp(string message) + { + WriteWarning(string.Format("{0:T} - {1}", DateTime.Now, message)); + } + + protected void WriteDebugWithTimestamp(string message, params object[] args) + { + WriteDebug(string.Format("{0:T} - {1}", DateTime.Now, string.Format(message, args))); + } + + protected void WriteDebugWithTimestamp(string message) + { + WriteDebug(string.Format("{0:T} - {1}", DateTime.Now, message)); + } + + protected void WriteErrorWithTimestamp(string message) + { + WriteError( + new ErrorRecord(new Exception(string.Format("{0:T} - {1}", DateTime.Now, message)), + string.Empty, + ErrorCategory.NotSpecified, + null)); + } + + /// + /// Write an error message for a given exception. + /// + /// The exception resulting from the error. + protected virtual void WriteExceptionError(Exception ex) + { + Debug.Assert(ex != null, "ex cannot be null or empty."); + WriteError(new ErrorRecord(ex, string.Empty, ErrorCategory.CloseError, null)); + } + + protected PSObject ConstructPSObject(string typeName, params object[] args) + { + return PowerShellUtilities.ConstructPSObject(typeName, args); + } + + protected void SafeWriteOutputPSObject(string typeName, params object[] args) + { + PSObject customObject = this.ConstructPSObject(typeName, args); + WriteObject(customObject); + } + + private void FlushDebugMessages(bool record = false) + { + if (record) + { + RecordDebugMessages(); + } + + string message; + while (_debugMessages.TryDequeue(out message)) + { + base.WriteDebug(message); + } + } + + protected abstract void InitializeQosEvent(); + + private void RecordDebugMessages() + { + // Create 'ErrorRecords' folder under profile directory, if not exists + if (string.IsNullOrEmpty(_errorRecordFolderPath) || !Directory.Exists(_errorRecordFolderPath)) + { + _errorRecordFolderPath = Path.Combine(AzureSession.ProfileDirectory, "ErrorRecords"); + Directory.CreateDirectory(_errorRecordFolderPath); + } + + CommandInfo cmd = this.MyInvocation.MyCommand; + + string filePrefix = cmd.Name; + string timeSampSuffix = DateTime.Now.ToString(_fileTimeStampSuffixFormat); + string fileName = filePrefix + "_" + timeSampSuffix + ".log"; + string filePath = Path.Combine(_errorRecordFolderPath, fileName); + + StringBuilder sb = new StringBuilder(); + sb.Append("Module : ").AppendLine(cmd.ModuleName); + sb.Append("Cmdlet : ").AppendLine(cmd.Name); + + sb.AppendLine("Parameters"); + foreach (var item in this.MyInvocation.BoundParameters) + { + sb.Append(" -").Append(item.Key).Append(" : "); + sb.AppendLine(item.Value == null ? "null" : item.Value.ToString()); + } + + sb.AppendLine(); + + foreach (var content in _debugMessages) + { + sb.AppendLine(content); + } + + AzureSession.DataStore.WriteFile(filePath, sb.ToString()); + } + + /// + /// 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. + /// + /// Do not ask for confirmation + /// Message to describe the action + /// Message to prompt after the active is performed. + /// The target name. + /// 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(); + } + } + } + + protected virtual void Dispose(bool disposing) + { + if (_adalListener != null) + { + _adalListener.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Common/Commands.Common.Storage/Commands.Common.Storage.csproj b/src/Common/Commands.Common.Storage/Commands.Common.Storage.csproj index 2cac1e4b0bbd..44f3ed04871c 100644 --- a/src/Common/Commands.Common.Storage/Commands.Common.Storage.csproj +++ b/src/Common/Commands.Common.Storage/Commands.Common.Storage.csproj @@ -57,13 +57,17 @@ ..\..\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 + ..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + False ..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll @@ -102,7 +106,7 @@ False - ..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.3.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll + ..\..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.3\lib\net40\Microsoft.WindowsAzure.Configuration.dll False @@ -142,6 +146,8 @@ + + False ..\..\packages\System.Spatial.5.6.4\lib\net40\System.Spatial.dll @@ -166,12 +172,6 @@ - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - ResXFileCodeGenerator @@ -184,8 +184,4 @@ - - - - \ No newline at end of file diff --git a/src/Common/Commands.Common.Storage/Properties/AssemblyInfo.cs b/src/Common/Commands.Common.Storage/Properties/AssemblyInfo.cs index e03883414b6c..87905f9bf0a1 100644 --- a/src/Common/Commands.Common.Storage/Properties/AssemblyInfo.cs +++ b/src/Common/Commands.Common.Storage/Properties/AssemblyInfo.cs @@ -17,12 +17,12 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("Microsoft Azure Powershell - Common Storage Library")] -[assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)] -[assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)] -[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft Azure Powershell")] +[assembly: AssemblyCopyright("Copyright © Microsoft")] [assembly: ComVisible(false)] [assembly: CLSCompliant(false)] [assembly: Guid("c565107e-98a9-4703-85cd-a7efc3d8da7b")] -[assembly: AssemblyVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] -[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] +[assembly: AssemblyVersion("0.9.9")] +[assembly: AssemblyFileVersion("0.9.9")] diff --git a/src/Common/Commands.Common.Storage/Properties/Resources.Designer.cs b/src/Common/Commands.Common.Storage/Properties/Resources.Designer.cs index 1dd6d72ee692..45193722a648 100644 --- a/src/Common/Commands.Common.Storage/Properties/Resources.Designer.cs +++ b/src/Common/Commands.Common.Storage/Properties/Resources.Designer.cs @@ -1,17 +1,17 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34014 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -namespace Microsoft.WindowsAzure.Commands.Common.Storage.Properties -{ - - +namespace Microsoft.WindowsAzure.Commands.Common.Storage.Properties { + using System; + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -69,6 +69,15 @@ internal static string AnonymousAccountName { } } + /// + /// Looks up a localized string similar to Blob with the name {0} already exists in the account.. + /// + internal static string BlobAlreadyExistsInTheAccount { + get { + return ResourceManager.GetString("BlobAlreadyExistsInTheAccount", resourceCulture); + } + } + /// /// Looks up a localized string similar to [SasToken]. /// diff --git a/src/Common/Commands.Common.Storage/Properties/Resources.resx b/src/Common/Commands.Common.Storage/Properties/Resources.resx index 429223e5b11b..fa4b4d6931a7 100644 --- a/src/Common/Commands.Common.Storage/Properties/Resources.resx +++ b/src/Common/Commands.Common.Storage/Properties/Resources.resx @@ -120,6 +120,9 @@ [Anonymous] + + Blob with the name {0} already exists in the account. + [SasToken] diff --git a/src/Common/Commands.Common.Storage/StorageClientWrapper.cs b/src/Common/Commands.Common.Storage/StorageClientWrapper.cs index f9fa33cc92a4..0ea15bd0a581 100644 --- a/src/Common/Commands.Common.Storage/StorageClientWrapper.cs +++ b/src/Common/Commands.Common.Storage/StorageClientWrapper.cs @@ -17,6 +17,7 @@ namespace Microsoft.WindowsAzure.Commands.Common.Storage using System; using System.Globalization; using System.IO; + using Properties; using Microsoft.WindowsAzure.Commands.Utilities.Common; using Microsoft.WindowsAzure.Management.Storage; using Microsoft.WindowsAzure.Management.Storage.Models; @@ -58,7 +59,7 @@ public Uri UploadFileToBlob(BlobUploadParameters parameters) StorageAccountGetResponse storageService = StorageManagementClient.StorageAccounts.Get(parameters.StorageName); Uri blobEndpointUri = storageService.StorageAccount.Properties.Endpoints[0]; return UploadFile(parameters.StorageName, - GeneralUtilities.CreateHttpsEndpoint(blobEndpointUri.ToString()), + StorageUtilities.CreateHttpsEndpoint(blobEndpointUri.ToString()), storageKey, parameters); } @@ -97,7 +98,7 @@ private Uri UploadFile(string storageName, Uri blobEndpointUri, string storageKe else { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, - Commands.Common.Properties.Resources.BlobAlreadyExistsInTheAccount, blobName)); + Resources.BlobAlreadyExistsInTheAccount, blobName)); } } diff --git a/src/Common/Commands.Common.Storage/StorageUtilities.cs b/src/Common/Commands.Common.Storage/StorageUtilities.cs index 5fd0a134abe9..7d5b0aaad69c 100644 --- a/src/Common/Commands.Common.Storage/StorageUtilities.cs +++ b/src/Common/Commands.Common.Storage/StorageUtilities.cs @@ -11,6 +11,21 @@ namespace Microsoft.WindowsAzure.Commands.Common.Storage public class StorageUtilities { + /// + /// Creates https endpoint from the given endpoint. + /// + /// The endpoint uri. + /// The https endpoint uri. + public static Uri CreateHttpsEndpoint(string endpointUri) + { + UriBuilder builder = new UriBuilder(endpointUri) { Scheme = "https" }; + string endpoint = builder.Uri.GetComponents( + UriComponents.AbsoluteUri & ~UriComponents.Port, + UriFormat.UriEscaped); + + return new Uri(endpoint); + } + public static CloudStorageAccount GenerateCloudStorageAccount(StorageManagementClient storageClient, string accountName) { var storageServiceResponse = storageClient.StorageAccounts.Get(accountName); @@ -23,18 +38,18 @@ public static CloudStorageAccount GenerateCloudStorageAccount(StorageManagementC if (storageServiceResponse.StorageAccount.Properties.Endpoints.Count >= 4) { - fileEndpoint = GeneralUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[3].ToString()); + fileEndpoint = StorageUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[3].ToString()); } if (storageServiceResponse.StorageAccount.Properties.Endpoints.Count >= 3) { - tableEndpoint = GeneralUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[2].ToString()); - queueEndpoint = GeneralUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[1].ToString()); + tableEndpoint = StorageUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[2].ToString()); + queueEndpoint = StorageUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[1].ToString()); } if (storageServiceResponse.StorageAccount.Properties.Endpoints.Count >= 1) { - blobEndpoint = GeneralUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[0].ToString()); + blobEndpoint = StorageUtilities.CreateHttpsEndpoint(storageServiceResponse.StorageAccount.Properties.Endpoints[0].ToString()); } return new CloudStorageAccount( diff --git a/src/Common/Commands.Common.Storage/WindowsAzureSubscriptionExtensions.cs b/src/Common/Commands.Common.Storage/WindowsAzureSubscriptionExtensions.cs index 0ba9d67a5da3..4e0ef2ac9230 100644 --- a/src/Common/Commands.Common.Storage/WindowsAzureSubscriptionExtensions.cs +++ b/src/Common/Commands.Common.Storage/WindowsAzureSubscriptionExtensions.cs @@ -27,7 +27,7 @@ public static class WindowsAzureSubscriptionExtensions { private static Dictionary storageAccountCache = new Dictionary(); - public static CloudStorageAccount GetCloudStorageAccount(this AzureSubscription subscription, AzureProfile profile) + public static CloudStorageAccount GetCloudStorageAccount(this AzureSubscription subscription, AzureSMProfile profile) { if (subscription == null) { diff --git a/src/Common/Commands.Common.Storage/packages.config b/src/Common/Commands.Common.Storage/packages.config index f2ebb79ce6b4..dad781bcb501 100644 --- a/src/Common/Commands.Common.Storage/packages.config +++ b/src/Common/Commands.Common.Storage/packages.config @@ -2,8 +2,9 @@ - + + @@ -21,4 +22,4 @@ - + \ No newline at end of file diff --git a/src/Common/Commands.Common/AzurePSCmdlet.cs b/src/Common/Commands.Common/AzurePSCmdlet.cs deleted file mode 100644 index 6e3cfc3d0bae..000000000000 --- a/src/Common/Commands.Common/AzurePSCmdlet.cs +++ /dev/null @@ -1,375 +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.Concurrent; -using Microsoft.Azure.Common.Authentication; -using Microsoft.Azure.Common.Authentication.Models; -using Microsoft.IdentityModel.Clients.ActiveDirectory; -using Microsoft.WindowsAzure.Commands.Common; -using Microsoft.WindowsAzure.Commands.Common.Properties; -using System; -using System.Diagnostics; -using System.IO; -using System.Management.Automation; - -namespace Microsoft.WindowsAzure.Commands.Utilities.Common -{ - public abstract class AzurePSCmdlet : PSCmdlet - { - private readonly ConcurrentQueue _debugMessages = new ConcurrentQueue(); - private RecordingTracingInterceptor _httpTracingInterceptor; - private DebugStreamTraceListener _adalListener; - protected static AzureProfile _currentProfile = null; - - [Parameter(Mandatory = false, HelpMessage = "In-memory profile.")] - public AzureProfile Profile { get; set; } - - /// - /// Sets the current profile - the profile used when no Profile is explicitly passed in. Should be used only by - /// Profile cmdlets and tests that need to set up a particular profile - /// - public static AzureProfile CurrentProfile - { - private get - { - if (_currentProfile == null) - { - _currentProfile = InitializeDefaultProfile(); - SetTokenCacheForProfile(_currentProfile); - } - - return _currentProfile; - } - - set - { - SetTokenCacheForProfile(value); - _currentProfile = value; - } - } - - protected static TokenCache DefaultDiskTokenCache { get; set; } - - protected static TokenCache DefaultMemoryTokenCache { get; set; } - - static AzurePSCmdlet() - { - if (!TestMockSupport.RunningMocked) - { - AzureSession.ClientFactory.AddAction(new RPRegistrationAction()); - } - - AzureSession.ClientFactory.UserAgents.Add(AzurePowerShell.UserAgentValue); - if (!TestMockSupport.RunningMocked) - { - InitializeTokenCaches(); - AzureSession.DataStore = new DiskDataStore(); - SetTokenCacheForProfile(CurrentProfile); - } - } - - /// - /// Create the default profile, based on the default profile path - /// - /// The default profile, serialized from the default location on disk - protected static AzureProfile InitializeDefaultProfile() - { - if (!string.IsNullOrEmpty(AzureSession.ProfileDirectory) && !string.IsNullOrEmpty(AzureSession.ProfileFile)) - { - try - { - GeneralUtilities.EnsureDefaultProfileDirectoryExists(); - return new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); - } - catch - { - // swallow exceptions in creating the profile from disk - } - } - - return new AzureProfile(); - } - - /// - /// Get the context for the current profile before BeginProcessing is called - /// - /// The context for the current profile - protected AzureContext GetCurrentContext() - { - if (Profile != null) - { - return Profile.Context; - } - - return CurrentProfile.Context; - } - - protected static void InitializeTokenCaches() - { - DefaultMemoryTokenCache = TokenCache.DefaultShared; - if (!string.IsNullOrWhiteSpace(AzureSession.ProfileDirectory) && - !string.IsNullOrWhiteSpace(AzureSession.TokenCacheFile)) - { - GeneralUtilities.EnsureDefaultProfileDirectoryExists(); - DefaultDiskTokenCache = new ProtectedFileTokenCache(Path.Combine(AzureSession.ProfileDirectory, AzureSession.TokenCacheFile)); - } - else - { - DefaultDiskTokenCache = DefaultMemoryTokenCache; - } - } - - /// - /// Update the token cache when setting the profile - /// - /// - protected static void SetTokenCacheForProfile(AzureProfile profile) - { - var defaultProfilePath = Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile); - if (string.Equals(profile.ProfilePath, defaultProfilePath, StringComparison.OrdinalIgnoreCase)) - { - AzureSession.TokenCache = DefaultDiskTokenCache; - } - else - { - AzureSession.TokenCache = DefaultMemoryTokenCache; - } - } - - /// - /// Cmdlet begin process. Write to logs, setup Http Tracing and initialize profile - /// - protected override void BeginProcessing() - { - InitializeProfile(); - if (string.IsNullOrEmpty(ParameterSetName)) - { - WriteDebugWithTimestamp(string.Format(Resources.BeginProcessingWithoutParameterSetLog, this.GetType().Name)); - } - else - { - WriteDebugWithTimestamp(string.Format(Resources.BeginProcessingWithParameterSetLog, this.GetType().Name, ParameterSetName)); - } - - if (Profile != null && Profile.Context != null && Profile.Context.Account != null && Profile.Context.Account.Id != null) - { - WriteDebugWithTimestamp(string.Format("using account id '{0}'...", Profile.Context.Account.Id)); - } - - _httpTracingInterceptor = _httpTracingInterceptor?? new RecordingTracingInterceptor(_debugMessages); - _adalListener = _adalListener?? new DebugStreamTraceListener(_debugMessages); - RecordingTracingInterceptor.AddToContext(_httpTracingInterceptor); - DebugStreamTraceListener.AddAdalTracing(_adalListener); - - base.BeginProcessing(); - } - - /// - /// Ensure that there is a profile for the command - /// - protected virtual void InitializeProfile() - { - if (Profile == null) - { - Profile = AzurePSCmdlet.CurrentProfile; - } - - SetTokenCacheForProfile(Profile); - } - - /// - /// End processing. Flush messages in tracing interceptor and save profile. - /// - protected override void EndProcessing() - { - string message = string.Format(Resources.EndProcessingLog, this.GetType().Name); - WriteDebugWithTimestamp(message); - - RecordingTracingInterceptor.RemoveFromContext(_httpTracingInterceptor); - DebugStreamTraceListener.RemoveAdalTracing(_adalListener); - FlushDebugMessages(); - - base.EndProcessing(); - } - - public bool HasCurrentSubscription - { - get { return Profile.Context.Subscription != null; } - } - - protected string CurrentPath() - { - // SessionState is only available within Powershell so default to - // the CurrentDirectory when being run from tests. - return (SessionState != null) ? - SessionState.Path.CurrentLocation.Path : - Environment.CurrentDirectory; - } - - protected bool IsVerbose() - { - bool verbose = MyInvocation.BoundParameters.ContainsKey("Verbose") && ((SwitchParameter)MyInvocation.BoundParameters["Verbose"]).ToBool(); - return verbose; - } - - public new void WriteError(ErrorRecord errorRecord) - { - FlushDebugMessages(); - base.WriteError(errorRecord); - } - - public new void WriteObject(object sendToPipeline) - { - FlushDebugMessages(); - base.WriteObject(sendToPipeline); - } - - public new void WriteObject(object sendToPipeline, bool enumerateCollection) - { - FlushDebugMessages(); - base.WriteObject(sendToPipeline, enumerateCollection); - } - - public new void WriteVerbose(string text) - { - FlushDebugMessages(); - base.WriteVerbose(text); - } - - public new void WriteWarning(string text) - { - FlushDebugMessages(); - base.WriteWarning(text); - } - - public new void WriteCommandDetail(string text) - { - FlushDebugMessages(); - base.WriteCommandDetail(text); - } - - public new void WriteProgress(ProgressRecord progressRecord) - { - FlushDebugMessages(); - base.WriteProgress(progressRecord); - } - - public new void WriteDebug(string text) - { - FlushDebugMessages(); - base.WriteDebug(text); - } - - protected void WriteVerboseWithTimestamp(string message, params object[] args) - { - WriteVerbose(string.Format("{0:T} - {1}", DateTime.Now, string.Format(message, args))); - } - - protected void WriteVerboseWithTimestamp(string message) - { - WriteVerbose(string.Format("{0:T} - {1}", DateTime.Now, message)); - } - - protected void WriteWarningWithTimestamp(string message) - { - WriteWarning(string.Format("{0:T} - {1}", DateTime.Now, message)); - } - - protected void WriteDebugWithTimestamp(string message, params object[] args) - { - WriteDebug(string.Format("{0:T} - {1}", DateTime.Now, string.Format(message, args))); - } - - protected void WriteDebugWithTimestamp(string message) - { - WriteDebug(string.Format("{0:T} - {1}", DateTime.Now, message)); - } - - protected void WriteErrorWithTimestamp(string message) - { - WriteError( - new ErrorRecord(new Exception(string.Format("{0:T} - {1}", DateTime.Now, message)), - string.Empty, - ErrorCategory.NotSpecified, - null)); - } - - /// - /// Write an error message for a given exception. - /// - /// The exception resulting from the error. - protected virtual void WriteExceptionError(Exception ex) - { - Debug.Assert(ex != null, "ex cannot be null or empty."); - WriteError(new ErrorRecord(ex, string.Empty, ErrorCategory.CloseError, null)); - } - - protected PSObject ConstructPSObject(string typeName, params object[] args) - { - return PowerShellUtilities.ConstructPSObject(typeName, args); - } - - protected void SafeWriteOutputPSObject(string typeName, params object[] args) - { - PSObject customObject = this.ConstructPSObject(typeName, args); - WriteObject(customObject); - } - - public virtual void ExecuteCmdlet() - { - // Do nothing. - } - - protected override void ProcessRecord() - { - try - { - base.ProcessRecord(); - ExecuteCmdlet(); - } - catch (Exception ex) - { - WriteExceptionError(ex); - } - } - - private void FlushDebugMessages() - { - string message; - while (_debugMessages.TryDequeue(out message)) - { - base.WriteDebug(message); - } - } - - /// - /// Asks for confirmation before executing the action. - /// - /// Do not ask for confirmation - /// Message to describe the action - /// Message to prompt after the active is performed. - /// The target name. - /// The action code - protected void ConfirmAction(bool force, string actionMessage, string processMessage, string target, Action action) - { - if (force || ShouldContinue(actionMessage, "")) - { - if (ShouldProcess(target, processMessage)) - { - 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/AzurePowerShell.cs b/src/Common/Commands.Common/AzurePowerShell.cs index bedbdfe79baa..10b42c12ee2b 100644 --- a/src/Common/Commands.Common/AzurePowerShell.cs +++ b/src/Common/Commands.Common/AzurePowerShell.cs @@ -12,10 +12,10 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Common.Authentication.Properties; using System; using System.IO; using System.Net.Http.Headers; +using Microsoft.Azure.Common.Authentication.Properties; namespace Microsoft.WindowsAzure.Commands.Common { @@ -27,9 +27,9 @@ public class AzurePowerShell public const string AssemblyCopyright = "Copyright © Microsoft"; - public const string AssemblyVersion = "0.9.7"; + public const string AssemblyVersion = "0.9.9"; - public const string AssemblyFileVersion = "0.9.7"; + public const string AssemblyFileVersion = "0.9.9"; public const string ProfileFile = "AzureProfile.json"; diff --git a/src/Common/Commands.Common/AzureSMCmdlet.cs b/src/Common/Commands.Common/AzureSMCmdlet.cs new file mode 100644 index 000000000000..e34c587f5479 --- /dev/null +++ b/src/Common/Commands.Common/AzureSMCmdlet.cs @@ -0,0 +1,251 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Concurrent; +using System.Diagnostics; +using System.IO; +using System.Management.Automation; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +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 +{ + public abstract class AzureSMCmdlet : AzurePSCmdlet + { + protected static AzureSMProfile _currentProfile = null; + + [Parameter(Mandatory = false, HelpMessage = "In-memory profile.")] + public AzureSMProfile Profile { get; set; } + + /// + /// Sets the current profile - the profile used when no Profile is explicitly passed in. Should be used only by + /// Profile cmdlets and tests that need to set up a particular profile + /// + public static AzureSMProfile CurrentProfile + { + private get + { + if (_currentProfile == null) + { + _currentProfile = InitializeDefaultProfile(); + SetTokenCacheForProfile(_currentProfile); + } + + return _currentProfile; + } + + set + { + SetTokenCacheForProfile(value); + _currentProfile = value; + } + } + + protected static TokenCache DefaultDiskTokenCache { get; set; } + + protected static TokenCache DefaultMemoryTokenCache { get; set; } + + protected override AzureContext DefaultContext { get { return CurrentProfile.Context; } } + + static AzureSMCmdlet() + { + if (!TestMockSupport.RunningMocked) + { + AzureSession.ClientFactory.AddAction(new RPRegistrationAction()); + } + + if (!TestMockSupport.RunningMocked) + { + InitializeTokenCaches(); + AzureSession.DataStore = new DiskDataStore(); + SetTokenCacheForProfile(CurrentProfile); + } + } + + /// + /// Create the default profile, based on the default profile path + /// + /// The default profile, serialized from the default location on disk + protected static AzureSMProfile InitializeDefaultProfile() + { + if (!string.IsNullOrEmpty(AzureSession.ProfileDirectory) && !string.IsNullOrEmpty(AzureSession.ProfileFile)) + { + try + { + GeneralUtilities.EnsureDefaultProfileDirectoryExists(); + return new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + } + catch + { + // swallow exceptions in creating the profile from disk + } + } + + return new AzureSMProfile(); + } + + protected static void InitializeTokenCaches() + { + DefaultMemoryTokenCache = TokenCache.DefaultShared; + if (!string.IsNullOrWhiteSpace(AzureSession.ProfileDirectory) && + !string.IsNullOrWhiteSpace(AzureSession.TokenCacheFile)) + { + GeneralUtilities.EnsureDefaultProfileDirectoryExists(); + DefaultDiskTokenCache = new ProtectedFileTokenCache(Path.Combine(AzureSession.ProfileDirectory, AzureSession.TokenCacheFile)); + } + else + { + DefaultDiskTokenCache = DefaultMemoryTokenCache; + } + } + + /// + /// Update the token cache when setting the profile + /// + /// + protected static void SetTokenCacheForProfile(AzureSMProfile profile) + { + var defaultProfilePath = Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile); + if (string.Equals(profile.ProfilePath, defaultProfilePath, StringComparison.OrdinalIgnoreCase)) + { + AzureSession.TokenCache = DefaultDiskTokenCache; + } + else + { + AzureSession.TokenCache = DefaultMemoryTokenCache; + } + } + + 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 + /// + protected override void BeginProcessing() + { + InitializeProfile(); + base.BeginProcessing(); + } + + /// + /// Ensure that there is a profile for the command + /// + protected virtual void InitializeProfile() + { + if (Profile == null) + { + Profile = AzureSMCmdlet.CurrentProfile; + } + + SetTokenCacheForProfile(Profile); + } + + public virtual void ExecuteCmdlet() + { + // Do nothing. + } + + protected override void ProcessRecord() + { + try + { + base.ProcessRecord(); + ExecuteCmdlet(); + } + catch (Exception ex) + { + WriteExceptionError(ex); + } + } + } +} diff --git a/src/Common/Commands.Common/ChannelHelper.cs b/src/Common/Commands.Common/ChannelHelper.cs index 57a41327e92b..9757b33d2f9e 100644 --- a/src/Common/Commands.Common/ChannelHelper.cs +++ b/src/Common/Commands.Common/ChannelHelper.cs @@ -12,8 +12,6 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.WindowsAzure.Commands.Common; -using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; using System; using System.Diagnostics.CodeAnalysis; using System.IO; @@ -29,6 +27,8 @@ using System.Text; using System.Threading; using System.Xml; +using Microsoft.WindowsAzure.Commands.Common; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { diff --git a/src/Common/Commands.Common/CloudBaseCmdlet.cs b/src/Common/Commands.Common/CloudBaseCmdlet.cs index 9d9463a3e207..d72f838a5cfa 100644 --- a/src/Common/Commands.Common/CloudBaseCmdlet.cs +++ b/src/Common/Commands.Common/CloudBaseCmdlet.cs @@ -12,10 +12,6 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Common.Authentication; -using Microsoft.Azure.Common.Authentication.Models; -using Microsoft.WindowsAzure.Commands.Common.Properties; -using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; using System; using System.Diagnostics; using System.Globalization; @@ -24,10 +20,14 @@ using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Security; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Properties; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { - public abstract class CloudBaseCmdlet : AzurePSCmdlet + public abstract class CloudBaseCmdlet : AzureSMCmdlet where T : class { private Binding _serviceBinding; diff --git a/src/Common/Commands.Common/CmdletExtensions.cs b/src/Common/Commands.Common/CmdletExtensions.cs index 9942a85f769a..c1cb970e42a3 100644 --- a/src/Common/Commands.Common/CmdletExtensions.cs +++ b/src/Common/Commands.Common/CmdletExtensions.cs @@ -123,13 +123,6 @@ public static void InvokeEndProcessing(this PSCmdlet cmdlt) MethodInfo dynMethod = (typeof(PSCmdlet)).GetMethod("EndProcessing", BindingFlags.NonPublic | BindingFlags.Instance); dynMethod.Invoke(cmdlt, null); } - public static void ExecuteWithProcessing(this AzurePSCmdlet cmdlt) - { - cmdlt.InvokeBeginProcessing(); - cmdlt.ExecuteCmdlet(); - cmdlt.InvokeEndProcessing(); - - } #endregion } diff --git a/src/Common/Commands.Common/Commands.Common.csproj b/src/Common/Commands.Common/Commands.Common.csproj index 2483d0c2e001..cdc01e00f5a1 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,13 +55,17 @@ 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 - False - ..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False @@ -138,14 +143,23 @@ + + AzurePSCmdlet.cs + + + True True Resources.resx + + + + @@ -157,7 +171,7 @@ - + @@ -191,8 +205,4 @@ - - - - \ No newline at end of file diff --git a/src/Common/Commands.Common/Common/ManagementConstants.cs b/src/Common/Commands.Common/Common/ManagementConstants.cs deleted file mode 100644 index 08da1656a6bc..000000000000 --- a/src/Common/Commands.Common/Common/ManagementConstants.cs +++ /dev/null @@ -1,112 +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.Net.Http.Headers; -using Microsoft.WindowsAzure.Commands.Common; - -namespace Microsoft.WindowsAzure.Commands.Utilities.Common -{ - public static class ApiConstants - { - public const string AuthorizationHeaderName = "Authorization"; - - public const string BasicAuthorization = "Basic"; - - public const string UserAgentHeaderName = "User-Agent"; - - public const string UserAgentHeaderValue = "AzurePowershell/v" + AzurePowerShell.AssemblyVersion; - - public static ProductInfoHeaderValue UserAgentValue = new ProductInfoHeaderValue( - "AzurePowershell", - string.Format("v{0}", AzurePowerShell.AssemblyVersion)); - - public const string VSDebuggerCausalityDataHeaderName = "VSDebuggerCausalityData"; - - public const string OperationTrackingIdHeader = "x-ms-request-id"; - - public const string VersionHeaderContentLatest = "2013-08-01"; - - public const string VersionHeaderName = "x-ms-version"; - - } - - public enum DevEnv - { - Local, - Cloud - } - - public enum RoleType - { - WebRole, - WorkerRole - } - - public enum RuntimeType - { - IISNode, - Node, - PHP, - Cache, - Null - } - - public static class EnvironmentName - { - public const string AzureCloud = "AzureCloud"; - - public const string AzureChinaCloud = "AzureChinaCloud"; - } - - public static class AzureEnvironmentConstants - { - public const string AzureServiceEndpoint = "https://management.core.windows.net/"; - - public const string ChinaServiceEndpoint = "https://management.core.chinacloudapi.cn/"; - - public const string AzureResourceManagerEndpoint = "https://management.azure.com/"; - - public const string GalleryEndpoint = "https://gallery.azure.com/"; - - public const string AzurePublishSettingsFileUrl = "http://go.microsoft.com/fwlink/?LinkID=301775"; - - public const string ChinaPublishSettingsFileUrl = "http://go.microsoft.com/fwlink/?LinkID=301776"; - - public const string AzureManagementPortalUrl = "http://go.microsoft.com/fwlink/?LinkId=254433"; - - public const string ChinaManagementPortalUrl = "http://go.microsoft.com/fwlink/?LinkId=301902"; - - public const string AzureStorageEndpointSuffix = "core.windows.net"; - - public const string ChinaStorageEndpointSuffix = "core.chinacloudapi.cn"; - - public const string AzureSqlDatabaseDnsSuffix = ".database.windows.net"; - - public const string ChinaSqlDatabaseDnsSuffix = ".database.chinacloudapi.cn"; - - public const string AzureActiveDirectoryEndpoint = "https://login.windows.net/"; - - public const string ChinaActiveDirectoryEndpoint = "https://login.chinacloudapi.cn/"; - - public const string AzureGraphEndpoint = "https://graph.windows.net/"; - - public const string AzureTrafficManagerDnsSuffix = "trafficmanager.net"; - - public const string ChinaTrafficManagerDnsSuffix = "trafficmanager.cn"; - - public const string AzureKeyVaultDnsSuffix = "vault.azure.net"; - - public const string AzureKeyVaultServiceEndpointResourceId = "https://vault.azure.net"; - } -} \ No newline at end of file diff --git a/src/Common/Commands.Common/ComputeCloudException.cs b/src/Common/Commands.Common/ComputeCloudException.cs index fa8e55334e55..9d4e593b08e4 100644 --- a/src/Common/Commands.Common/ComputeCloudException.cs +++ b/src/Common/Commands.Common/ComputeCloudException.cs @@ -12,10 +12,10 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Hyak.Common; using System; using System.Linq; using System.Text; +using Hyak.Common; namespace Microsoft.WindowsAzure.Commands.Common { @@ -49,7 +49,7 @@ protected static string GetErrorMessageWithRequestIdInfo(CloudException cloudExc if (headers.ContainsKey(RequestIdHeaderInResponse)) { sb.AppendLine().AppendFormat( - Properties.Resources.ComputeCloudExceptionOperationIdMessage, + "OperationID : '{0}'", headers[RequestIdHeaderInResponse].FirstOrDefault()); } } diff --git a/src/Common/Commands.Common/DebugStreamTraceListener.cs b/src/Common/Commands.Common/DebugStreamTraceListener.cs index c17464d1f175..bae605aeff87 100644 --- a/src/Common/Commands.Common/DebugStreamTraceListener.cs +++ b/src/Common/Commands.Common/DebugStreamTraceListener.cs @@ -12,14 +12,8 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using System; using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Diagnostics; -using System.IO; using Microsoft.IdentityModel.Clients.ActiveDirectory; namespace Microsoft.WindowsAzure.Commands.Common diff --git a/src/Common/Commands.Common/DiagnosticsHelper.cs b/src/Common/Commands.Common/DiagnosticsHelper.cs index 3b5a5007969c..50719b3c27f4 100644 --- a/src/Common/Commands.Common/DiagnosticsHelper.cs +++ b/src/Common/Commands.Common/DiagnosticsHelper.cs @@ -12,11 +12,9 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.WindowsAzure.Commands.Common.Properties; using System; using System.Collections; using System.IO; -using System.Linq; using System.Text; using System.Xml; using Newtonsoft.Json; @@ -57,18 +55,18 @@ public static Hashtable GetPublicDiagnosticsConfiguration(string config, string int wadCfgBeginIndex = config.IndexOf(""); if (wadCfgBeginIndex == -1) { - throw new ArgumentException(Resources.IaasDiagnosticsBadConfigNoWadCfg); + throw new ArgumentException("Cannot find the WadCfg element in the config."); } int wadCfgEndIndex = config.IndexOf(""); if (wadCfgEndIndex == -1) { - throw new ArgumentException(Resources.IaasDiagnosticsBadConfigNoEndWadCfg); + throw new ArgumentException("Cannot find the WadCfg end element in the config."); } if (wadCfgEndIndex <= wadCfgBeginIndex) { - throw new ArgumentException(Resources.IaasDiagnosticsBadConfigNoMatchingWadCfg); + throw new ArgumentException("WadCfg start element in the config is not matching the end element."); } string encodedConfiguration = Convert.ToBase64String( diff --git a/src/Common/Commands.Common/ErrorHelper.cs b/src/Common/Commands.Common/ErrorHelper.cs index 26cddb43a87a..3759d43d8282 100644 --- a/src/Common/Commands.Common/ErrorHelper.cs +++ b/src/Common/Commands.Common/ErrorHelper.cs @@ -12,12 +12,12 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.WindowsAzure.Commands.Common; -using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; using System.IO; using System.Net; using System.ServiceModel; using System.Xml; +using Microsoft.WindowsAzure.Commands.Common; +using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { diff --git a/src/Common/Commands.Common/GeneralUtilities.cs b/src/Common/Commands.Common/GeneralUtilities.cs index 8165caf16119..72c7921c13a3 100644 --- a/src/Common/Commands.Common/GeneralUtilities.cs +++ b/src/Common/Commands.Common/GeneralUtilities.cs @@ -12,9 +12,6 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Hyak.Common; -using Microsoft.Azure.Common.Authentication; -using Microsoft.WindowsAzure.Commands.Common; using System; using System.Collections.Generic; using System.Diagnostics; @@ -25,10 +22,12 @@ using System.Net.Http.Headers; using System.Reflection; using System.Security.Cryptography.X509Certificates; -using System.Security.Permissions; using System.ServiceModel.Channels; using System.Text; using System.Xml; +using Hyak.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.WindowsAzure.Commands.Common; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { @@ -49,19 +48,6 @@ private static bool TryFindCertificatesInStore(string thumbprint, return certificates != null && certificates.Count > 0; } - public static string GetNodeModulesPath() - { - return Path.Combine( - FileUtilities.GetAssemblyDirectory(), - Microsoft.WindowsAzure.Commands.Common.Properties.Resources.NodeModulesPath); - } - - [PermissionSet(SecurityAction.LinkDemand, Name = "FullTrust")] - public static void LaunchWebPage(string target) - { - ProcessHelper.Start(target); - } - public static X509Certificate2 GetCertificateFromStore(string thumbprint) { Validate.ValidateStringIsNullOrEmpty(thumbprint, "certificate thumbprint"); diff --git a/src/Common/Commands.Common/HttpClientExtensions.cs b/src/Common/Commands.Common/HttpClientExtensions.cs index 5f7e313644d2..4b75ea6ed796 100644 --- a/src/Common/Commands.Common/HttpClientExtensions.cs +++ b/src/Common/Commands.Common/HttpClientExtensions.cs @@ -13,13 +13,13 @@ // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Common.Authentication; -using Microsoft.WindowsAzure.Commands.Common; -using Newtonsoft.Json; using System; using System.Net; using System.Net.Http; using System.Net.Http.Headers; +using Microsoft.Azure.Common.Authentication; +using Microsoft.WindowsAzure.Commands.Common; +using Newtonsoft.Json; namespace Microsoft.WindowsAzure.Commands.Utilities.Common { 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/ProfileClient.cs b/src/Common/Commands.Common/ProfileClient.cs new file mode 100644 index 000000000000..b0bff4a9d6b8 --- /dev/null +++ b/src/Common/Commands.Common/ProfileClient.cs @@ -0,0 +1,1158 @@ +// ---------------------------------------------------------------------------------- +// +// 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.IO; +using System.Linq; +using System.Security; +using System.Security.Cryptography.X509Certificates; +using Hyak.Common; +using Microsoft.Azure.Common.Authentication.Factories; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Common.Authentication.Properties; +using Microsoft.WindowsAzure.Subscriptions; + +namespace Microsoft.Azure.Common.Authentication +{ + /// + /// Convenience client for azure profile and subscriptions. + /// + public class ProfileClient + { + public AzureSMProfile Profile { get; private set; } + + public Action WarningLog; + + public Action DebugLog; + + private void WriteDebugMessage(string message) + { + if (DebugLog != null) + { + DebugLog(message); + } + } + + private void WriteWarningMessage(string message) + { + if (WarningLog != null) + { + WarningLog(message); + } + } + + private void UpgradeProfile() + { + string oldProfileFilePath = Path.Combine(AzureSession.ProfileDirectory, AzureSession.OldProfileFile); + string oldProfileFilePathBackup = Path.Combine(AzureSession.ProfileDirectory, AzureSession.OldProfileFileBackup); + string newProfileFilePath = Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile); + if (AzureSession.DataStore.FileExists(oldProfileFilePath)) + { + string oldProfilePath = Path.Combine(AzureSession.ProfileDirectory, + AzureSession.OldProfileFile); + + try + { + // Try to backup old profile + try + { + AzureSession.DataStore.CopyFile(oldProfilePath, oldProfileFilePathBackup); + } + catch + { + // Ignore any errors here + } + + AzureSMProfile oldProfile = new AzureSMProfile(oldProfilePath); + + if (AzureSession.DataStore.FileExists(newProfileFilePath)) + { + // Merge profile files + AzureSMProfile newProfile = new AzureSMProfile(newProfileFilePath); + foreach (var environment in newProfile.Environments.Values) + { + oldProfile.Environments[environment.Name] = environment; + } + foreach (var subscription in newProfile.Subscriptions.Values) + { + oldProfile.Subscriptions[subscription.Id] = subscription; + } + AzureSession.DataStore.DeleteFile(newProfileFilePath); + } + + // If there were no load errors - delete backup file + if (oldProfile.ProfileLoadErrors.Count == 0) + { + try + { + AzureSession.DataStore.DeleteFile(oldProfileFilePathBackup); + } + catch + { + // Give up + } + } + + // Save the profile to the disk + oldProfile.Save(); + + // Rename WindowsAzureProfile.xml to WindowsAzureProfile.json + AzureSession.DataStore.RenameFile(oldProfilePath, newProfileFilePath); + + } + catch + { + // Something really bad happened - try to delete the old profile + try + { + AzureSession.DataStore.DeleteFile(oldProfilePath); + } + catch + { + // Ignore any errors + } + } + + // In case that we changed a disk profile, reload it + if (Profile != null && Profile.ProfilePath == newProfileFilePath) + { + Profile = new AzureSMProfile(Profile.ProfilePath); + } + } + } + + public ProfileClient(AzureSMProfile profile) + { + Profile = profile; + WarningLog = (s) => Debug.WriteLine(s); + + try + { + UpgradeProfile(); + } + catch + { + // Should never fail in constructor + } + } + + #region Profile management + + /// + /// Initializes AzureSMProfile using passed in certificate. The certificate + /// is imported into a certificate store. + /// + /// Environment object. + /// Subscription Id + /// Certificate to use with profile. + /// Storage account name (optional). + /// + public void InitializeProfile(AzureEnvironment environment, Guid subscriptionId, X509Certificate2 certificate, + string storageAccount) + { + if (environment == null) + { + throw new ArgumentNullException("environment"); + } + if (certificate == null) + { + throw new ArgumentNullException("certificate"); + } + + // Add environment if not public + if (!AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name)) + { + AddOrSetEnvironment(environment); + } + + // Add account + var azureAccount = new AzureAccount + { + Id = certificate.Thumbprint, + Type = AzureAccount.AccountType.Certificate + }; + azureAccount.Properties[AzureAccount.Property.Subscriptions] = subscriptionId.ToString(); + ImportCertificate(certificate); + AddOrSetAccount(azureAccount); + + // Add subscription + var azureSubscription = new AzureSubscription + { + Id = subscriptionId, + Name = subscriptionId.ToString(), + Environment = environment.Name + }; + if (!string.IsNullOrEmpty(storageAccount)) + { + azureSubscription.Properties[AzureSubscription.Property.StorageAccount] = storageAccount; + } + azureSubscription.Properties[AzureSubscription.Property.Default] = "True"; + azureSubscription.Account = certificate.Thumbprint; + AddOrSetSubscription(azureSubscription); + } + + /// + /// Initializes AzureSMProfile using passed in access token. + /// + /// Environment object. + /// Subscription Id + /// AccessToken to use with profile. + /// AccountId for the new account. + /// Storage account name (optional). + /// + public void InitializeProfile(AzureEnvironment environment, Guid subscriptionId, string accessToken, + string accountId, string storageAccount) + { + if (environment == null) + { + throw new ArgumentNullException("environment"); + } + if (accessToken == null) + { + throw new ArgumentNullException("accessToken"); + } + + // Add environment if not public + if (!AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name)) + { + AddOrSetEnvironment(environment); + } + + // Add account + var azureAccount = new AzureAccount + { + Id = accountId, + Type = AzureAccount.AccountType.AccessToken + }; + azureAccount.Properties[AzureAccount.Property.Subscriptions] = subscriptionId.ToString(); + azureAccount.Properties[AzureAccount.Property.AccessToken] = accessToken; + AddOrSetAccount(azureAccount); + + // Add subscription + var azureSubscription = new AzureSubscription + { + Id = subscriptionId, + Name = subscriptionId.ToString(), + Environment = environment.Name + }; + if (!string.IsNullOrEmpty(storageAccount)) + { + azureSubscription.Properties[AzureSubscription.Property.StorageAccount] = storageAccount; + } + azureSubscription.Properties[AzureSubscription.Property.Default] = "True"; + azureSubscription.Account = accountId; + AddOrSetSubscription(azureSubscription); + } + + /// + /// Initializes AzureSMProfile using passed in account and optional password. + /// + /// Environment object. + /// Subscription Id + /// Azure account with AD username and tenant. + /// AD password (optional). + /// Storage account name (optional). + /// + public void InitializeProfile(AzureEnvironment environment, Guid subscriptionId, AzureAccount account, + SecureString password, string storageAccount) + { + if (environment == null) + { + throw new ArgumentNullException("environment"); + } + if (account == null) + { + throw new ArgumentNullException("account"); + } + + // Add environment if not public + if (!AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name)) + { + AddOrSetEnvironment(environment); + } + + // Add account + var azureAccount = AddAccountAndLoadSubscriptions(account, environment, password); + + // Add subscription + if (!azureAccount.HasSubscription(subscriptionId)) + { + throw new ArgumentException(string.Format(Resources.SubscriptionIdNotFoundMessage, subscriptionId)); + } + var azureSubscription = GetSubscription(subscriptionId); + if (!string.IsNullOrEmpty(storageAccount)) + { + azureSubscription.Properties[AzureSubscription.Property.StorageAccount] = storageAccount; + } + AddOrSetSubscription(azureSubscription); + } + #endregion + + #region Account management + + public AzureAccount AddAccountAndLoadSubscriptions(AzureAccount account, AzureEnvironment environment, SecureString password) + { + if (environment == null) + { + throw new ArgumentNullException("environment"); + } + + if (account == null) + { + throw new ArgumentNullException("account"); + } + + var subscriptionsFromServer = ListSubscriptionsFromServer( + account, + environment, + password, + password == null ? ShowDialog.Always : ShowDialog.Never).ToList(); + + // If account id is null the login failed + if (account.Id != null) + { + // Update back Profile.Subscriptions + foreach (var subscription in subscriptionsFromServer) + { + AddOrSetSubscription(subscription); + } + + if (Profile.DefaultSubscription == null) + { + var firstSubscription = Profile.Subscriptions.Values.FirstOrDefault(); + if (firstSubscription != null) + { + SetSubscriptionAsDefault(firstSubscription.Name, firstSubscription.Account); + } + } + + return Profile.Accounts[account.Id]; + } + else + { + return null; + } + } + + public AzureAccount AddOrSetAccount(AzureAccount account) + { + if (account == null) + { + throw new ArgumentNullException("account", Resources.AccountNeedsToBeSpecified); + } + + if (Profile.Accounts.ContainsKey(account.Id)) + { + Profile.Accounts[account.Id] = + MergeAccountProperties(account, Profile.Accounts[account.Id]); + } + else + { + Profile.Accounts[account.Id] = account; + } + + return Profile.Accounts[account.Id]; + } + + public AzureAccount GetAccountOrDefault(string accountName) + { + if (string.IsNullOrEmpty(accountName)) + { + return Profile.Context.Account; + } + else if (Profile.Accounts.ContainsKey(accountName)) + { + return Profile.Accounts[accountName]; + } + else + { + throw new ArgumentException(string.Format("Account with name '{0}' does not exist.", accountName), "accountName"); + } + } + + public AzureAccount GetAccountOrNull(string accountName) + { + if (string.IsNullOrEmpty(accountName)) + { + throw new ArgumentNullException("accountName"); + } + + if (Profile.Accounts.ContainsKey(accountName)) + { + return Profile.Accounts[accountName]; + } + else + { + return null; + } + } + + public AzureAccount GetAccount(string accountName) + { + var account = GetAccountOrNull(accountName); + + if (account == null) + { + throw new ArgumentException(string.Format("Account with name '{0}' does not exist.", accountName), "accountName"); + } + + return account; + } + + public IEnumerable ListAccounts(string accountName) + { + List accounts = new List(); + + if (!string.IsNullOrEmpty(accountName)) + { + if (Profile.Accounts.ContainsKey(accountName)) + { + accounts.Add(Profile.Accounts[accountName]); + } + } + else + { + accounts = Profile.Accounts.Values.ToList(); + } + + return accounts; + } + + public AzureAccount RemoveAccount(string accountId) + { + if (string.IsNullOrEmpty(accountId)) + { + throw new ArgumentNullException("accountId", Resources.UserNameNeedsToBeSpecified); + } + + if (!Profile.Accounts.ContainsKey(accountId)) + { + throw new ArgumentException(Resources.UserNameIsNotValid, "accountId"); + } + + AzureAccount account = Profile.Accounts[accountId]; + Profile.Accounts.Remove(account.Id); + + foreach (AzureSubscription subscription in account.GetSubscriptions(Profile).ToArray()) + { + if (string.Equals(subscription.Account, accountId, StringComparison.InvariantCultureIgnoreCase)) + { + AzureAccount remainingAccount = GetSubscriptionAccount(subscription.Id); + // There's no default account to use, remove the subscription. + if (remainingAccount == null) + { + // Warn the user if the removed subscription is the default one. + if (subscription.IsPropertySet(AzureSubscription.Property.Default)) + { + Debug.Assert(subscription.Equals(Profile.DefaultSubscription)); + WriteWarningMessage(Resources.RemoveDefaultSubscription); + } + + Profile.Subscriptions.Remove(subscription.Id); + } + else + { + subscription.Account = remainingAccount.Id; + AddOrSetSubscription(subscription); + } + } + } + + return account; + } + + private AzureAccount GetSubscriptionAccount(Guid subscriptionId) + { + List accounts = ListSubscriptionAccounts(subscriptionId); + AzureAccount account = accounts.FirstOrDefault(a => a.Type != AzureAccount.AccountType.Certificate); + + if (account != null) + { + // Found a non-certificate account. + return account; + } + + // Use certificate account if its there. + account = accounts.FirstOrDefault(); + + return account; + } + + #endregion + + #region Subscription management + + public AzureSubscription AddOrSetSubscription(AzureSubscription subscription) + { + if (subscription == null) + { + throw new ArgumentNullException("subscription", Resources.SubscriptionNeedsToBeSpecified); + } + if (subscription.Environment == null) + { + throw new ArgumentNullException("subscription.Environment", Resources.EnvironmentNeedsToBeSpecified); + } + // Validate environment + GetEnvironmentOrDefault(subscription.Environment); + + if (Profile.Subscriptions.ContainsKey(subscription.Id)) + { + Profile.Subscriptions[subscription.Id] = MergeSubscriptionProperties(subscription, Profile.Subscriptions[subscription.Id]); + } + else + { + Debug.Assert(!string.IsNullOrEmpty(subscription.Account)); + if (!Profile.Accounts.ContainsKey(subscription.Account)) + { + throw new KeyNotFoundException(string.Format("The specified account {0} does not exist in profile accounts", subscription.Account)); + } + + Profile.Subscriptions[subscription.Id] = subscription; + } + + return Profile.Subscriptions[subscription.Id]; + } + + public AzureSubscription RemoveSubscription(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new ArgumentNullException("name", Resources.SubscriptionNameNeedsToBeSpecified); + } + + var subscription = Profile.Subscriptions.Values.FirstOrDefault(s => s.Name == name); + + if (subscription == null) + { + throw new ArgumentException(string.Format(Resources.SubscriptionNameNotFoundMessage, name), "name"); + } + else + { + return RemoveSubscription(subscription.Id); + } + } + + public AzureSubscription RemoveSubscription(Guid id) + { + if (!Profile.Subscriptions.ContainsKey(id)) + { + throw new ArgumentException(string.Format(Resources.SubscriptionIdNotFoundMessage, id), "id"); + } + + var subscription = Profile.Subscriptions[id]; + + if (subscription.IsPropertySet(AzureSubscription.Property.Default)) + { + Debug.Assert(Profile.DefaultSubscription == subscription); + WriteWarningMessage(Resources.RemoveDefaultSubscription); + } + + Profile.Subscriptions.Remove(id); + + // Remove this subscription from its associated AzureAccounts + List accounts = ListSubscriptionAccounts(id); + + foreach (AzureAccount account in accounts) + { + account.RemoveSubscription(id); + if (!account.IsPropertySet(AzureAccount.Property.Subscriptions)) + { + Profile.Accounts.Remove(account.Id); + } + } + + return subscription; + } + + public List RefreshSubscriptions(AzureEnvironment environment) + { + if (environment == null) + { + throw new ArgumentNullException("environment"); + } + + var subscriptionsFromServer = ListSubscriptionsFromServerForAllAccounts(environment); + + // Update back Profile.Subscriptions + foreach (var subscription in subscriptionsFromServer) + { + // Resetting back default account + if (Profile.Subscriptions.ContainsKey(subscription.Id)) + { + subscription.Account = Profile.Subscriptions[subscription.Id].Account; + } + AddOrSetSubscription(subscription); + } + + return Profile.Subscriptions.Values.ToList(); + } + + public AzureSubscription GetSubscription(Guid id) + { + if (Profile.Subscriptions.ContainsKey(id)) + { + return Profile.Subscriptions[id]; + } + else + { + throw new ArgumentException(string.Format(Resources.SubscriptionIdNotFoundMessage, id), "id"); + } + } + + public AzureSubscription GetSubscription(string name) + { + AzureSubscription subscription = Profile.Subscriptions.Values + .FirstOrDefault(s => s.Name.Equals(name, StringComparison.OrdinalIgnoreCase)); + + if (subscription != null) + { + return subscription; + } + else + { + throw new ArgumentException(string.Format(Resources.SubscriptionNameNotFoundMessage, name), "name"); + } + } + + public AzureSubscription SetSubscriptionAsDefault(string name, string accountName) + { + if (name == null) + { + throw new ArgumentException(string.Format(Resources.InvalidSubscriptionName, name), "name"); + } + + var subscription = Profile.Subscriptions.Values.FirstOrDefault(s => s.Name == name); + + if (subscription == null) + { + throw new ArgumentException(string.Format(Resources.SubscriptionNameNotFoundMessage, name), "name"); + } + + return SetSubscriptionAsDefault(subscription.Id, accountName); + } + + public AzureSubscription SetSubscriptionAsDefault(Guid id, string accountName) + { + AzureSubscription subscription = GetSubscription(id); + + if (subscription != null) + { + Profile.DefaultSubscription = subscription; + Profile.DefaultSubscription.Account = accountName; + } + + return subscription; + } + + public void ClearAll() + { + Profile.Accounts.Clear(); + Profile.DefaultSubscription = null; + Profile.Environments.Clear(); + Profile.Subscriptions.Clear(); + Profile.Save(); + + AzureSession.TokenCache.Clear(); + } + + public void ClearDefaultSubscription() + { + Profile.DefaultSubscription = null; + } + + public void ImportCertificate(X509Certificate2 certificate) + { + AzureSession.DataStore.AddCertificate(certificate); + } + + public List ListSubscriptionAccounts(Guid subscriptionId) + { + return Profile.Accounts.Where(a => a.Value.HasSubscription(subscriptionId)) + .Select(a => a.Value).ToList(); + } + + public List ImportPublishSettings(string filePath, string environmentName) + { + var subscriptions = ListSubscriptionsFromPublishSettingsFile(filePath, environmentName); + if (subscriptions.Any()) + { + foreach (var subscription in subscriptions) + { + AzureAccount account = new AzureAccount + { + Id = subscription.Account, + Type = AzureAccount.AccountType.Certificate + }; + account.SetOrAppendProperty(AzureAccount.Property.Subscriptions, subscription.Id.ToString()); + AddOrSetAccount(account); + + if (!Profile.Subscriptions.ContainsKey(subscription.Id)) + { + AddOrSetSubscription(subscription); + } + + if (Profile.DefaultSubscription == null) + { + Profile.DefaultSubscription = subscription; + } + } + } + return subscriptions; + } + + private List ListSubscriptionsFromPublishSettingsFile(string filePath, string environment) + { + if (string.IsNullOrEmpty(filePath) || !AzureSession.DataStore.FileExists(filePath)) + { + throw new ArgumentException(Resources.FilePathIsNotValid, "filePath"); + } + return PublishSettingsImporter.ImportAzureSubscription(AzureSession.DataStore.ReadFileAsStream(filePath), this, environment).ToList(); + } + + private IEnumerable ListSubscriptionsFromServerForAllAccounts(AzureEnvironment environment) + { + // Get all AD accounts and iterate + var accountNames = Profile.Accounts.Keys; + + List subscriptions = new List(); + + foreach (var accountName in accountNames.ToArray()) + { + var account = Profile.Accounts[accountName]; + + if (account.Type != AzureAccount.AccountType.Certificate) + { + subscriptions.AddRange(ListSubscriptionsFromServer(account, environment, null, ShowDialog.Never)); + } + + AddOrSetAccount(account); + } + + if (subscriptions.Any()) + { + return subscriptions; + } + else + { + return new AzureSubscription[0]; + } + } + + private IEnumerable ListSubscriptionsFromServer(AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior) + { + string[] tenants = null; + try + { + if (!account.IsPropertySet(AzureAccount.Property.Tenants)) + { + tenants = LoadAccountTenants(account, environment, password, promptBehavior); + } + else + { + var storedTenants = account.GetPropertyAsArray(AzureAccount.Property.Tenants); + if (account.Type == AzureAccount.AccountType.User && storedTenants.Count() == 1) + { + TracingAdapter.Information(Resources.AuthenticatingForSingleTenant, account.Id, storedTenants[0]); + AzureSession.AuthenticationFactory.Authenticate(account, environment, storedTenants[0], password, + promptBehavior); + } + } + } + catch (AadAuthenticationException aadEx) + { + WriteOrThrowAadExceptionMessage(aadEx); + return new AzureSubscription[0]; + } + + try + { + tenants = tenants ?? account.GetPropertyAsArray(AzureAccount.Property.Tenants); + List rdfeSubscriptions = ListServiceManagementSubscriptions(account, environment, + password, ShowDialog.Never, tenants).ToList(); + + // Set user ID + foreach (var subscription in rdfeSubscriptions) + { + account.SetOrAppendProperty(AzureAccount.Property.Subscriptions, subscription.Id.ToString()); + } + + if (rdfeSubscriptions.Any()) + { + return rdfeSubscriptions; + } + else + { + return new AzureSubscription[0]; + } + } + catch (AadAuthenticationException aadEx) + { + WriteOrThrowAadExceptionMessage(aadEx); + return new AzureSubscription[0]; + } + } + + private string[] LoadAccountTenants(AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior) + { + var commonTenantToken = AzureSession.AuthenticationFactory.Authenticate(account, environment, + AuthenticationFactory.CommonAdTenant, password, promptBehavior); + + using (SubscriptionClient SubscriptionClient = AzureSession.ClientFactory + .CreateCustomClient( + new TokenCloudCredentials(commonTenantToken.AccessToken), + environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement))) + { + var subscriptionListResult = SubscriptionClient.Subscriptions.List(); + return subscriptionListResult.Subscriptions.Select(s => s.ActiveDirectoryTenantId).Distinct().ToArray(); + } + } + + private AzureSubscription MergeSubscriptionProperties(AzureSubscription subscription1, AzureSubscription subscription2) + { + if (subscription1 == null || subscription2 == null) + { + throw new ArgumentNullException("subscription1"); + } + if (subscription1.Id != subscription2.Id) + { + throw new ArgumentException("Subscription Ids do not match."); + } + AzureSubscription mergedSubscription = new AzureSubscription + { + Id = subscription1.Id, + Name = subscription1.Name, + Environment = subscription1.Environment, + Account = subscription1.Account ?? subscription2.Account + }; + + // Merge all properties + foreach (AzureSubscription.Property property in Enum.GetValues(typeof(AzureSubscription.Property))) + { + string propertyValue = subscription1.GetProperty(property) ?? subscription2.GetProperty(property); + if (propertyValue != null) + { + mergedSubscription.Properties[property] = propertyValue; + } + } + + // Merge RegisteredResourceProviders + var registeredProviders = subscription1.GetPropertyAsArray(AzureSubscription.Property.RegisteredResourceProviders) + .Union(subscription2.GetPropertyAsArray(AzureSubscription.Property.RegisteredResourceProviders), StringComparer.CurrentCultureIgnoreCase); + + mergedSubscription.SetProperty(AzureSubscription.Property.RegisteredResourceProviders, registeredProviders.ToArray()); + + // Merge Tenants + var tenants = subscription1.GetPropertyAsArray(AzureSubscription.Property.Tenants) + .Union(subscription2.GetPropertyAsArray(AzureSubscription.Property.Tenants), StringComparer.CurrentCultureIgnoreCase); + + mergedSubscription.SetProperty(AzureSubscription.Property.Tenants, tenants.ToArray()); + + return mergedSubscription; + } + + private AzureEnvironment MergeEnvironmentProperties(AzureEnvironment environment1, AzureEnvironment environment2) + { + if (environment1 == null || environment2 == null) + { + throw new ArgumentNullException("environment1"); + } + if (!string.Equals(environment1.Name, environment2.Name, StringComparison.InvariantCultureIgnoreCase)) + { + throw new ArgumentException("Environment names do not match."); + } + AzureEnvironment mergedEnvironment = new AzureEnvironment + { + Name = environment1.Name + }; + + // Merge all properties + foreach (AzureEnvironment.Endpoint property in Enum.GetValues(typeof(AzureEnvironment.Endpoint))) + { + string propertyValue = environment1.GetEndpoint(property) ?? environment2.GetEndpoint(property); + if (propertyValue != null) + { + mergedEnvironment.Endpoints[property] = propertyValue; + } + } + + return mergedEnvironment; + } + + private AzureAccount MergeAccountProperties(AzureAccount account1, AzureAccount account2) + { + if (account1 == null || account2 == null) + { + throw new ArgumentNullException("account1"); + } + if (!string.Equals(account1.Id, account2.Id, StringComparison.InvariantCultureIgnoreCase)) + { + throw new ArgumentException("Account Ids do not match."); + } + if (account1.Type != account2.Type) + { + throw new ArgumentException("Account1 types do not match."); + } + AzureAccount mergeAccount = new AzureAccount + { + Id = account1.Id, + Type = account1.Type + }; + + // Merge all properties + foreach (AzureAccount.Property property in Enum.GetValues(typeof(AzureAccount.Property))) + { + string propertyValue = account1.GetProperty(property) ?? account2.GetProperty(property); + if (propertyValue != null) + { + mergeAccount.Properties[property] = propertyValue; + } + } + + // Merge Tenants + var tenants = account1.GetPropertyAsArray(AzureAccount.Property.Tenants) + .Union(account2.GetPropertyAsArray(AzureAccount.Property.Tenants), StringComparer.CurrentCultureIgnoreCase); + + mergeAccount.SetProperty(AzureAccount.Property.Tenants, tenants.ToArray()); + + // Merge Subscriptions + var subscriptions = account1.GetPropertyAsArray(AzureAccount.Property.Subscriptions) + .Union(account2.GetPropertyAsArray(AzureAccount.Property.Subscriptions), StringComparer.CurrentCultureIgnoreCase); + + mergeAccount.SetProperty(AzureAccount.Property.Subscriptions, subscriptions.ToArray()); + + return mergeAccount; + } + + private void CopyAccount(AzureAccount sourceAccount, AzureAccount targetAccount) + { + targetAccount.Id = sourceAccount.Id; + targetAccount.Type = sourceAccount.Type; + } + + private IEnumerable ListServiceManagementSubscriptions(AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior, string[] tenants) + { + List result = new List(); + + if (!environment.IsEndpointSet(AzureEnvironment.Endpoint.ServiceManagement)) + { + return result; + } + + foreach (var tenant in tenants) + { + try + { + var tenantAccount = new AzureAccount(); + CopyAccount(account, tenantAccount); + var tenantToken = AzureSession.AuthenticationFactory.Authenticate(tenantAccount, environment, tenant, password, ShowDialog.Never); + if (string.Equals(tenantAccount.Id, account.Id, StringComparison.InvariantCultureIgnoreCase)) + { + tenantAccount = account; + } + + tenantAccount.SetOrAppendProperty(AzureAccount.Property.Tenants, new string[] { tenant }); + using (var subscriptionClient = AzureSession.ClientFactory.CreateCustomClient( + new TokenCloudCredentials(tenantToken.AccessToken), + environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement))) + { + var subscriptionListResult = subscriptionClient.Subscriptions.List(); + foreach (var subscription in subscriptionListResult.Subscriptions) + { + // only add the subscription if it's actually in this tenant + if (subscription.ActiveDirectoryTenantId == tenant) + { + AzureSubscription psSubscription = new AzureSubscription + { + Id = new Guid(subscription.SubscriptionId), + Name = subscription.SubscriptionName, + Environment = environment.Name + }; + psSubscription.SetProperty(AzureSubscription.Property.Tenants, + subscription.ActiveDirectoryTenantId); + psSubscription.Account = tenantAccount.Id; + tenantAccount.SetOrAppendProperty(AzureAccount.Property.Subscriptions, + new string[] { psSubscription.Id.ToString() }); + result.Add(psSubscription); + } + } + } + + AddOrSetAccount(tenantAccount); + } + catch (CloudException cEx) + { + WriteOrThrowAadExceptionMessage(cEx); + } + catch (AadAuthenticationException aadEx) + { + WriteOrThrowAadExceptionMessage(aadEx); + } + } + + return result; + } + + private void WriteOrThrowAadExceptionMessage(AadAuthenticationException aadEx) + { + if (aadEx is AadAuthenticationFailedWithoutPopupException) + { + WriteDebugMessage(aadEx.Message); + } + else if (aadEx is AadAuthenticationCanceledException) + { + WriteWarningMessage(aadEx.Message); + } + else + { + throw aadEx; + } + } + + private void WriteOrThrowAadExceptionMessage(CloudException aadEx) + { + WriteDebugMessage(aadEx.Message); + } + + #endregion + + #region Environment management + + public AzureEnvironment GetEnvironmentOrDefault(string name) + { + if (string.IsNullOrEmpty(name) && + Profile.DefaultSubscription == null) + { + return AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud]; + } + else if (string.IsNullOrEmpty(name) && + Profile.DefaultSubscription != null) + { + return Profile.Context.Environment; + } + else if (Profile.Environments.ContainsKey(name)) + { + return Profile.Environments[name]; + } + else + { + throw new ArgumentException(string.Format(Resources.EnvironmentNotFound, name)); + } + } + + public AzureEnvironment GetEnvironment(string name, string serviceEndpoint, string resourceEndpoint) + { + if (serviceEndpoint == null) + { + // Set to invalid value + serviceEndpoint = Guid.NewGuid().ToString(); + } + + if (resourceEndpoint == null) + { + // Set to invalid value + resourceEndpoint = Guid.NewGuid().ToString(); + } + + if (name != null) + { + if (Profile.Environments.ContainsKey(name)) + { + return Profile.Environments[name]; + } + else + { + return null; + } + } + else + { + return Profile.Environments.Values.FirstOrDefault(e => + e.IsEndpointSetToValue(AzureEnvironment.Endpoint.ServiceManagement, serviceEndpoint) || + e.IsEndpointSetToValue(AzureEnvironment.Endpoint.ResourceManager, resourceEndpoint)); + } + } + + public List ListEnvironments(string name) + { + if (string.IsNullOrEmpty(name)) + { + return Profile.Environments.Values.ToList(); + } + else if (Profile.Environments.ContainsKey(name)) + { + return new[] { Profile.Environments[name] }.ToList(); + } + else + { + return new AzureEnvironment[0].ToList(); + } + } + + public AzureEnvironment RemoveEnvironment(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new ArgumentNullException("name", Resources.EnvironmentNameNeedsToBeSpecified); + } + if (AzureEnvironment.PublicEnvironments.ContainsKey(name)) + { + throw new ArgumentException(Resources.RemovingDefaultEnvironmentsNotSupported, "name"); + } + + if (Profile.Environments.ContainsKey(name)) + { + var environment = Profile.Environments[name]; + var subscriptions = Profile.Subscriptions.Values.Where(s => s.Environment == name).ToArray(); + foreach (var subscription in subscriptions) + { + RemoveSubscription(subscription.Id); + } + Profile.Environments.Remove(name); + return environment; + } + else + { + throw new ArgumentException(string.Format(Resources.EnvironmentNotFound, name), "name"); + } + } + + public AzureEnvironment AddOrSetEnvironment(AzureEnvironment environment) + { + if (environment == null) + { + throw new ArgumentNullException("environment", Resources.EnvironmentNeedsToBeSpecified); + } + + if (AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name)) + { + throw new ArgumentException(Resources.ChangingDefaultEnvironmentNotSupported, "environment"); + } + + if (Profile.Environments.ContainsKey(environment.Name)) + { + Profile.Environments[environment.Name] = + MergeEnvironmentProperties(environment, Profile.Environments[environment.Name]); + } + else + { + Profile.Environments[environment.Name] = environment; + } + + return Profile.Environments[environment.Name]; + } + #endregion + } +} \ No newline at end of file diff --git a/src/Common/Commands.Common/Properties/Resources.Designer.cs b/src/Common/Commands.Common/Properties/Resources.Designer.cs index 0ed4db8b136b..14275289ba96 100644 --- a/src/Common/Commands.Common/Properties/Resources.Designer.cs +++ b/src/Common/Commands.Common/Properties/Resources.Designer.cs @@ -1,17 +1,17 @@ //------------------------------------------------------------------------------ // // 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. // //------------------------------------------------------------------------------ -namespace Microsoft.WindowsAzure.Commands.Common.Properties { - using System; - - +namespace Microsoft.WindowsAzure.Commands.Common.Properties +{ + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -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/PublishSettingsImporter.cs b/src/Common/Commands.Common/PublishSettingsImporter.cs new file mode 100644 index 000000000000..1839624ec0c1 --- /dev/null +++ b/src/Common/Commands.Common/PublishSettingsImporter.cs @@ -0,0 +1,95 @@ +// ---------------------------------------------------------------------------------- +// +// 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.IO; +using System.Linq; +using System.Security.Cryptography.X509Certificates; +using System.Xml.Serialization; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Common.Authentication.XmlSchema; + +namespace Microsoft.Azure.Common.Authentication +{ + /// + /// Class that handles loading publishsettings files + /// and turning them into AzureSubscription objects. + /// + public static class PublishSettingsImporter + { + public static IEnumerable ImportAzureSubscription(Stream stream, ProfileClient azureProfileClient, string environment) + { + var publishData = DeserializePublishData(stream); + PublishDataPublishProfile profile = publishData.Items.Single(); + stream.Close(); + return profile.Subscription.Select(s => PublishSubscriptionToAzureSubscription(azureProfileClient, profile, s, environment)); + } + + private static PublishData DeserializePublishData(Stream stream) + { + var serializer = new XmlSerializer(typeof(PublishData)); + return (PublishData)serializer.Deserialize(stream); + } + + private static AzureSubscription PublishSubscriptionToAzureSubscription( + ProfileClient azureProfileClient, + PublishDataPublishProfile profile, + PublishDataPublishProfileSubscription s, + string environment) + { + var certificate = GetCertificate(profile, s); + + if (string.IsNullOrEmpty(environment)) + { + var azureEnvironment = azureProfileClient.GetEnvironment(environment, s.ServiceManagementUrl ?? profile.Url, null); + if (azureEnvironment != null) + { + environment = azureEnvironment.Name; + } + else + { + environment = EnvironmentName.AzureCloud; + } + } + + return new AzureSubscription + { + Id = new Guid(s.Id), + Name = s.Name, + Environment = environment, + Account = certificate.Thumbprint + }; + } + + private static X509Certificate2 GetCertificate(PublishDataPublishProfile profile, + PublishDataPublishProfileSubscription s) + { + string certificateString; + if (!string.IsNullOrEmpty(s.ManagementCertificate)) + { + certificateString = s.ManagementCertificate; + } + else + { + certificateString = profile.ManagementCertificate; + } + + X509Certificate2 certificate = new X509Certificate2(Convert.FromBase64String(certificateString), string.Empty); + AzureSession.DataStore.AddCertificate(certificate); + + return certificate; + } + } +} diff --git a/src/Common/Commands.Common/RPRegistrationAction.cs b/src/Common/Commands.Common/RPRegistrationAction.cs new file mode 100644 index 000000000000..89cf09d85894 --- /dev/null +++ b/src/Common/Commands.Common/RPRegistrationAction.cs @@ -0,0 +1,151 @@ +// ---------------------------------------------------------------------------------- +// +// 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; +using System.Linq; +using System.Net; +using Hyak.Common; +using Microsoft.Azure.Management.Resources; +using Microsoft.WindowsAzure.Management; + +namespace Microsoft.Azure.Common.Authentication.Models +{ + public class RPRegistrationAction : IClientAction + { + /// + /// Registers resource providers for Sparta. + /// + /// The client type + private void RegisterResourceManagerProviders(IAzureProfile profile) + { + var providersToRegister = RequiredResourceLookup.RequiredProvidersForResourceManager(); + var registeredProviders = profile.Context.Subscription.GetPropertyAsArray(AzureSubscription.Property.RegisteredResourceProviders); + var unregisteredProviders = providersToRegister.Where(p => !registeredProviders.Contains(p)).ToList(); + var successfullyRegisteredProvider = new List(); + SubscriptionCloudCredentials creds = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(profile.Context); + + if (unregisteredProviders.Count > 0) + { + using (var client = ClientFactory.CreateCustomClient( + creds, + profile.Context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager))) + { + foreach (string provider in unregisteredProviders) + { + try + { + client.Providers.Register(provider); + successfullyRegisteredProvider.Add(provider); + } + catch + { + // Ignore this as the user may not have access to service management endpoint or the provider is already registered + } + } + } + } + } + + /// + /// Registers resource providers for RDFE. + /// + /// The client type + private void RegisterServiceManagementProviders(AzureSMProfile profile) + { + var credentials = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(profile.Context); + var providersToRegister = RequiredResourceLookup.RequiredProvidersForServiceManagement(); + var registeredProviders = profile.Context.Subscription.GetPropertyAsArray(AzureSubscription.Property.RegisteredResourceProviders); + var unregisteredProviders = providersToRegister.Where(p => !registeredProviders.Contains(p)).ToList(); + var successfullyRegisteredProvider = new List(); + + if (unregisteredProviders.Count > 0) + { + using (var client = new ManagementClient( + credentials, + profile.Context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement))) + { + foreach (var provider in unregisteredProviders) + { + try + { + client.Subscriptions.RegisterResource(provider); + } + catch (CloudException ex) + { + if (ex.Response.StatusCode != HttpStatusCode.Conflict && ex.Response.StatusCode != HttpStatusCode.NotFound) + { + // Conflict means already registered, that's OK. + // NotFound means there is no registration support, like Windows Azure Pack. + // Otherwise it's a failure. + throw; + } + } + successfullyRegisteredProvider.Add(provider); + } + } + + Debug.Assert(profile is AzureSMProfile); + UpdateSubscriptionRegisteredProviders((AzureSMProfile)profile, profile.Context.Subscription, successfullyRegisteredProvider); + } + } + + private void UpdateSubscriptionRegisteredProviders(AzureSMProfile profile, AzureSubscription subscription, List providers) + { + if (providers != null && providers.Count > 0) + { + subscription.SetOrAppendProperty(AzureSubscription.Property.RegisteredResourceProviders, + providers.ToArray()); + try + { + ProfileClient profileClient = new ProfileClient(profile); + profileClient.AddOrSetSubscription(subscription); + profileClient.Profile.Save(); + } + catch (KeyNotFoundException) + { + // if using a subscription data file, do not write registration to disk + // long term solution is using -Profile parameter + } + } + } + + public void Apply(TClient client, AzureSMProfile profile, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + { + Debug.Assert(ClientFactory != null); + + if (endpoint == AzureEnvironment.Endpoint.ServiceManagement) + { + RegisterServiceManagementProviders(profile); + } + else if (endpoint == AzureEnvironment.Endpoint.ResourceManager) + { + RegisterResourceManagerProviders(profile); + } + } + + public IClientFactory ClientFactory { get; set; } + + + public void ApplyArm(TClient client, AzureRMProfile profile, AzureEnvironment.Endpoint endpoint) where TClient : Rest.ServiceClient + { + Debug.Assert(ClientFactory != null); + + if (endpoint == AzureEnvironment.Endpoint.ResourceManager) + { + RegisterResourceManagerProviders(profile); + } + } + } +} diff --git a/src/Common/Commands.Common/RecordingTracingInterceptor.cs b/src/Common/Commands.Common/RecordingTracingInterceptor.cs index 9081356f5f98..ec8400ceb089 100644 --- a/src/Common/Commands.Common/RecordingTracingInterceptor.cs +++ b/src/Common/Commands.Common/RecordingTracingInterceptor.cs @@ -12,13 +12,12 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Hyak.Common; -using Microsoft.WindowsAzure; -using Microsoft.WindowsAzure.Commands.Utilities.Common; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Net.Http; +using Hyak.Common; +using Microsoft.WindowsAzure.Commands.Utilities.Common; namespace Microsoft.Azure.Common.Authentication.Models { diff --git a/src/Common/Commands.Common/RequiredResourceLookup.cs b/src/Common/Commands.Common/RequiredResourceLookup.cs new file mode 100644 index 000000000000..3feeb78e7526 --- /dev/null +++ b/src/Common/Commands.Common/RequiredResourceLookup.cs @@ -0,0 +1,102 @@ +// ---------------------------------------------------------------------------------- +// +// 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; + +namespace Microsoft.Azure.Common.Authentication +{ + /// + /// This class handles mapping management client types + /// to the corresponding required resource provider names. + /// + internal static class RequiredResourceLookup + { + private const string BatchProviderNamespace = "microsoft.batch"; + private const string CacheProviderNamespace = "microsoft.cache"; + private const string ComputeProviderNamespace = "Microsoft.Compute"; + private const string DataFactoryProviderNamespace = "Microsoft.DataFactory"; + private const string InsightsProviderNamespace = "microsoft.insights"; + private const string KeyVaultProviderNamespace = "Microsoft.KeyVault"; + private const string NetworkProviderNamespace = "Microsoft.Network"; + private const string StorageProviderNamespace = "Microsoft.Storage"; + private const string WebAppProviderNamespace = "Microsoft.Web"; + + internal static IList RequiredProvidersForServiceManagement() + { + if (typeof(T).FullName.EndsWith("WebSiteManagementClient")) + { + return new[] { "website" }; + } + + if (typeof(T).FullName.EndsWith("ManagedCacheClient")) + { + return new[] { "cacheservice.Caching" }; + } + + if (typeof(T).FullName.EndsWith("SchedulerManagementClient")) + { + return new[] { "scheduler.jobcollections" }; + } + + return new string[0]; + } + + internal static IList RequiredProvidersForResourceManager() + { + if (typeof(T).FullName.EndsWith("ResourceManagementClient")) + { + return new[] { + CacheProviderNamespace, + ComputeProviderNamespace, + InsightsProviderNamespace, + KeyVaultProviderNamespace, + NetworkProviderNamespace, + StorageProviderNamespace, + WebAppProviderNamespace + }; + } + if (typeof(T).FullName.EndsWith("BatchManagementClient")) + { + return new[] { BatchProviderNamespace }; + } + + if (typeof(T).FullName.Equals("Microsoft.Azure.Management.Compute.ComputeManagementClient")) + { + return new[] { ComputeProviderNamespace }; + } + + if (typeof(T).FullName.Equals("Microsoft.Azure.Management.Dns.DnsManagementClient")) + { + return new[] { NetworkProviderNamespace }; + } + + if (typeof(T).FullName.EndsWith("DataPipelineManagementClient")) + { + return new[] { DataFactoryProviderNamespace }; + } + + if (typeof(T).FullName.Equals("Microsoft.Azure.Management.Network.NetworkResourceProviderClient")) + { + return new[] { NetworkProviderNamespace }; + } + + if (typeof(T).FullName.Equals("Microsoft.Azure.Management.Storage.StorageManagementClient")) + { + return new[] { StorageProviderNamespace }; + } + + return new string[0]; + } + } +} diff --git a/src/Common/Commands.Common/ServiceManagementTypes.cs b/src/Common/Commands.Common/ServiceManagementTypes.cs index 2eabbcf8cc04..421639e49e42 100644 --- a/src/Common/Commands.Common/ServiceManagementTypes.cs +++ b/src/Common/Commands.Common/ServiceManagementTypes.cs @@ -14,7 +14,6 @@ //TODO: When transition to SM.NET is completed, rename the namespace to "Microsoft.WindowsAzure.ServiceManagement" -using Microsoft.WindowsAzure.Commands.Common.Properties; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -28,6 +27,7 @@ using System.ServiceModel.Web; using System.Text; using System.Xml; +using Microsoft.WindowsAzure.Commands.Common.Properties; namespace Microsoft.WindowsAzure.Commands.ServiceManagement.Model { diff --git a/src/Common/Commands.Common/SubscriptionCmdletBase.cs b/src/Common/Commands.Common/SubscriptionCmdletBase.cs index 53c8f04ca45b..5b9549e47ea3 100644 --- a/src/Common/Commands.Common/SubscriptionCmdletBase.cs +++ b/src/Common/Commands.Common/SubscriptionCmdletBase.cs @@ -22,7 +22,7 @@ namespace Microsoft.WindowsAzure.Commands.Utilities.Profile /// azure subscription, provides common support /// for the SubscriptionDataFile parameter. /// - public abstract class SubscriptionCmdletBase : AzurePSCmdlet + public abstract class SubscriptionCmdletBase : AzureSMCmdlet { private readonly bool _saveProfile; diff --git a/src/Common/Commands.Common/packages.config b/src/Common/Commands.Common/packages.config index abdfbbed145e..8b3394fd6012 100644 --- a/src/Common/Commands.Common/packages.config +++ b/src/Common/Commands.Common/packages.config @@ -1,9 +1,10 @@  + - + @@ -15,4 +16,4 @@ - + \ No newline at end of file diff --git a/src/Common/Commands.Profile/SwitchAzureMode.cs b/src/Common/Commands.Profile/SwitchAzureMode.cs deleted file mode 100644 index 099dfef5d1e2..000000000000 --- a/src/Common/Commands.Profile/SwitchAzureMode.cs +++ /dev/null @@ -1,89 +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; -using System.Management.Automation; -using Microsoft.WindowsAzure.Commands.Common.Properties; -using Microsoft.WindowsAzure.Commands.Utilities.Common; -using Microsoft.Azure.Common.Authentication; - -namespace Microsoft.WindowsAzure.Commands.Profile -{ - /// - /// Switches between ServiceManagement and ResourceManager modes. - /// - [Cmdlet(VerbsCommon.Switch, "AzureMode")] - public class SwitchAzureMode : AzurePSCmdlet - { - [Parameter(Position = 0, Mandatory = true, HelpMessage = "Name of the mode to switch to. Valid values are AzureServiceManagement and AzureResourceManager")] - [ValidateSet("AzureServiceManagement", "AzureResourceManager", IgnoreCase = false)] - public string Name { get; set; } - - [Parameter(Position = 1, Mandatory = false, HelpMessage = "If specified, save the module switch at machine level")] - public SwitchParameter Global { get; set; } - - public override void ExecuteCmdlet() - { - WriteWarning(Resources.SwitchAzureModeDeprecated); - AzureModule moduleToImport = (AzureModule)Enum.Parse(typeof(AzureModule), Name, false); - AzureModule moduleToRemove = moduleToImport == AzureModule.AzureResourceManager ? AzureModule.AzureServiceManagement : AzureModule.AzureResourceManager; - RemoveAzureModule(FileUtilities.GetModuleName(moduleToRemove), FileUtilities.GetPSModulePathForModule(moduleToRemove)); - ImportAzureModule(FileUtilities.GetModuleName(moduleToImport), FileUtilities.GetPSModulePathForModule(moduleToImport)); - } - - private void ImportAzureModule(string name, string path) - { - if (!IsLoaded(name)) - { - WriteVerbose(string.Format("Adding {0} module path to PSModulePath...", path)); - PowerShellUtilities.AddModuleToPSModulePath(path); - - WriteVerbose(string.Format("Importing {0} module...", name)); - this.ImportModule(name); - - if (Global) - { - PowerShellUtilities.AddModuleToPSModulePath(path, EnvironmentVariableTarget.Machine); - } - } - } - - private bool IsLoaded(string moduleName) - { - return this.GetLoadedModules().Exists(m => m.Name.Equals(moduleName)); - } - - private void RemoveAzureModule(string name, string path) - { - if (IsLoaded(name)) - { - WriteVerbose(string.Format("Removing {0} module...", name)); - this.RemoveModule(name); - - if (name.Equals(FileUtilities.GetModuleName(AzureModule.AzureServiceManagement))) - { - this.RemoveAzureAliases(); - } - - WriteVerbose(string.Format("Removing {0} module path from PSModulePath...", path)); - PowerShellUtilities.RemoveModuleFromPSModulePath(path); - - if (Global) - { - PowerShellUtilities.RemoveModuleFromPSModulePath(path, EnvironmentVariableTarget.Machine); - } - } - } - } -} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json b/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json deleted file mode 100644 index a8a0db19e24e..000000000000 --- a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json +++ /dev/null @@ -1,5049 +0,0 @@ -{ - "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 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 \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 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 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 \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 \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": [ - "19145" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "c2ddebac2ec1ce2b85e6a2b9be0ae65b" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:50 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/c2ddebac2ec1ce2b85e6a2b9be0ae65b", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2MyZGRlYmFjMmVjMWNlMmI4NWU2YTJiOWJlMGFlNjVi", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n c2ddebac-2ec1-ce2b-85e6-a2b9be0ae65b\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": [ - "9b8aa1a7e10cc45f8bba916628bef326" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:50 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/images", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9pbWFnZXM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 03f55de797f546a1b29d1b8d66be687a__CoreCLR-x64-Beta5-Linux-PartsUnlimited-Demo-App-201504.29\r\n Linux\r\n http://go.microsoft.com/fwlink/?LinkId=521895\r\n Linux VM image with coreclr-x64-beta5-11624 installed to /opt/dnx. This image is based on Ubuntu 14.04 LTS, with prerequisites of CoreCLR installed. It also contains PartsUnlimited demo app which runs on the installed coreclr. The demo app is installed to /opt/demo. To run the demo, please type the command '/opt/demo/Kestrel' in a terminal window. The website is listening on port 5004. Please enable or map a endpoint of HTTP port 5004 for your azure VM.\r\n CoreCLR x64 Beta5 (11624) with PartsUnlimited Demo App on Ubuntu Server 14.04 LTS\r\n 2015-04-29T07:00:00Z\r\n false\r\n Ubuntu-cof-45.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D1\r\n Microsoft Visual Studio Group\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=13350\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2014-11-12T08:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2-201503.20\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=13350\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2015-03-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2-201503.27\r\n Windows\r\n http://www.microsoft.com/en-us/legal/IntellectualProperty/UseTerms/Default.aspx\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2015-03-27T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2013-Community-VSU5-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n This image of Visual Studio Community 2013 Update 5 with Azure Tools 2.7 enables you to unleash the full power of Visual Studio to develop cross-platform solutions. Create apps in one unified IDE, and incorporate new languages, features, and development tools into them with Visual Studio Extensions (available in the Visual Studio Gallery).\r\n Visual Studio Community 2013 Update 5 with Azure 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2015-Community-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=614946\r\n Visual Studio Community 2015 is our free, full featured and extensible IDE for non-enterprise application development. This image contains Windows Server 2012 R2 with Visual Studio Community 2015. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Community 2015 with Azure SDK 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2015-Enterprise-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=614945\r\n With Visual Studio Enterprise you can create applications across devices and services, using a single solution with a consistent development experience. You get the tools, you need to deliver desktop, Windows Store, Windows Phone, and Office apps, as well as mobile web apps across any device, web site, cloud service, and more. This image contains Windows Server 2012 R2 with Visual Studio Enterprise 2015. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Enterprise 2015 with Azure SDK 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Community-12.0.31101.0-ApacheCordova-CTP3.1-AzureSDK-2.6-WS2012R2-201505.27\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n This image contains Windows Server 2012 R2, Visual Studio Community 2013, and CTP 3.1 of the Tools for Apache Cordova. It allows you to easily and quickly set up a development environment in Azure to build and test Android, iOS, and Windows apps using HTML, CSS, and JavaScript. Please see [http://go.microsoft.com/fwlink/?LinkID=397716|http://go.microsoft.com/fwlink/?LinkID=397716] for more information.\r\n Visual Studio Community 2013 with Tools for Apache Cordova CTP 3.1 on Windows Server 2012 R2\r\n 2015-05-27T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Community-12.0.31101.0-AzureSDK-2.6-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n The Visual Studio Community 2013 image enables you to unleash the full power of Visual Studio to develop cross-platform solutions. Create apps in one unified IDE, and incorporate new languages, features, and development tools into them with Visual Studio Extensions (available in the Visual Studio Gallery).\r\n Visual Studio Community 2013 Update 4 on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=299229\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Community-VSU4-AzureSDK-2.51-NTVS-1.0-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n The Node.js Tools 1.0 for Visual Studio (NTVS) image enables you to unleash the full power of Visual Studio to develop Node.js solutions. NTVS also includes a list of project templates using the Express framework, which enables you to quickly create and deploy websites or Cloud Services to Microsoft Azure or other platforms.\r\n Visual Studio Community 2013 Update 4 with Tools for Node.js on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=299229\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2015-Community-RC-AzureSDK-2.6-WS2012R2-201505.26\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=521895\r\n Visual Studio Community 2015 is our free, full featured and extensible IDE for non-enterprise application development. This image contains Windows Server 2012 R2 with Visual Studio Community 2015 RC. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Community 2015 RC with Azure SDK 2.6 on Windows Server 2012 R2\r\n 2015-05-26T00:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2015-Enterprise-RC-AzureSDK-2.6-WS2012R2-201505.26\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=521895\r\n Visual Studio Enterprise supports developers creating business applications looking for the scale, quality and productivity required in organizations of any size. Team collaboration, DevOps, release management and more are core scenarios for Visual Studio Enterprise. This image contains Windows Server 2012 R2 with Visual Studio Enterprise 2015 RC. It allows you to easily and quickly set up a development environment in Azure to plan, build, release and operate applications using Visual Studio.\r\n Visual Studio Enterprise 2015 RC with Azure SDK 2.6 on Windows Server 2012 R2\r\n 2015-05-26T00:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2015-Professional-RC-AzureSDK-2.6-WS2012R2-201505.26\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=521895\r\n With Visual Studio Professional, you can create applications across devices and services, using a single solution with a consistent development experience. You get the tools, you need to deliver desktop, Windows Store, Windows Phone, and Office apps, as well as mobile web apps across any device, web site, cloud service, and more. This image contains Windows Server 2012 R2 with Visual Studio Professional 2015 RC. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Professional 2015 RC with Azure SDK 2.6 on Windows Server 2012 R2\r\n 2015-05-26T00:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.2-x64-v5.8.8.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.2 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-10-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.6\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.7\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-01-25T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.9\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-03-01T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.4\r\n Linux\r\n \r\n \r\n \r\n false\r\n 2013-04-19T00:00:00Z\r\n false\r\n \r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.4 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-11T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.4 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-22T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v13.5.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-12-26T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v13.5.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2014-04-17T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v13.5.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 5.8\r\n RightScale Linux v13\r\n false\r\n 2014-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.4\r\n Linux\r\n \r\n \r\n \r\n false\r\n 2013-04-19T00:00:00Z\r\n false\r\n \r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.0.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-11T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-12-26T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2014-04-17T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8\r\n RightScale Linux v13\r\n false\r\n 2014-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-10-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.7\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-01-25T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.6.0_95-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321312\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 6 (update 95) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not recommended for use in production. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-java-run-tomcat-application-server/|_blank]\r\n JDK 6 on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n Java6_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321694\r\n Medium\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386544\r\n Java6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321310\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 7 (update 79) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-java-run-tomcat-application-server|_blank]\r\n JDK 7 on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n false\r\n Java7_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321701\r\n Medium\r\n Microsoft\r\n Java7_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.8.0_45-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321310\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 8 (update 45) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n JDK 8 on Windows Server 2012 R2\r\n 2015-05-07T00:00:00Z\r\n false\r\n Java7_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321701\r\n Medium\r\n Microsoft\r\n Java7_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-EE-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321683\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Enterprise Edition (11.2.0.4.0) provides comprehensive features to easily manage the most demanding transaction processing, business intelligence, and content management applications. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 Enterprise Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321692\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386538\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-EE-WebLogic-10.3.6-EE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321684\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Enterprise Edition (11.2.0.4.0) provides comprehensive features to easily manage the most demanding transaction processing, business intelligence, and content management applications. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Enterprise Edition (10.3.6) is a leading Java application server for modern data centers. It takes full advantage of the latest hardware architectures including 64-bit addressable memory, multi-core computing systems and high-speed networks. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 and WebLogic Server 11g Enterprise Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321691\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386541\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-SE-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321686\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Standard Edition (11.2.0.4.0) is an affordable, full-featured data management solution that is ideal for midsize companies. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 Standard Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321689\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386537\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-SE-WebLogic-10.3.6-SE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321687\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Standard Edition (11.2.0.4.0) is an affordable, full-featured data management solution that is ideal for midsize companies. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Standard Edition (10.3.6) is a leading Java application server for enterprises of all sizes, providing developers with the tools and technologies to write enterprise applications and services quickly and operations teams with the administration capabilities to keep them up and running. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 and WebLogic Server 11g Standard Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321688\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386542\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.1.0-20150507-SE-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321317\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Standard Edition (12.1.0.1.0) is an affordable, full-featured data management solution that is ideal for midsize companies. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439775.aspx|_blank]\r\n Oracle Database 12c Standard Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321696\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386537\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.1.0-SE-WebLogic-12.1.2.0-SE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321318\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Standard Edition (12.1.0.1.0) is an affordable, full-featured data management solution that is ideal for midsize companies. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Standard Edition (12.1.2.0) is a leading Java EE application server. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466427.aspx|_blank]\r\n Oracle Database 12c and WebLogic Server 12c Standard Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321695\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386542\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.2.0-20150507-EE-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321314\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Enterprise Edition (12.1.0.2.0) is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439775.aspx|_blank]\r\n Oracle Database 12c Enterprise Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321699\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386538\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.2.0-EE-WebLogic-12.1.2.0-EE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321315\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Enterprise Edition (12.1.0.2.0) is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Enterprise Edition (12.1.2.0) is a leading Java EE application server. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466427.aspx|_blank]\r\n Oracle Database 12c and WebLogic Server 12c Enterprise Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321698\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386541\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__WebLogic-12.1.2.0-EE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321313\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Enterprise Edition (12.1.2.0) is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. Minimum recommended virtual machine size for this image is [standard_D12 |http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439774.aspx|_blank]\r\n Oracle WebLogic Server 12c Enterprise Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogic12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321700\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386540\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__WebLogic-12.1.2.0-SE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321316\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Standard Edition (12.1.2.0) is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439774.aspx|_blank]\r\n Oracle WebLogic Server 12c Standard Edition on Windows Server 2012\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogic12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321697\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386539\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Weblogic-10.3.6-EE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=321682\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Enterprise Edition (10.3.6) is a leading Java application server for modern data centers. It takes full advantage of the latest hardware architectures including 64-bit addressable memory, multi-core computing systems and high-speed networks. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466428.aspx|_blank]\r\n Oracle WebLogic Server 11g Enterprise Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogic11_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321693\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386540\r\n OracleWeblogic11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Weblogic-10.3.6-SE-JDK-1.7.0_79-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321691\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Standard Edition (10.3.6) is a leading Java application server for enterprises of all sizes, providing developers with the tools and technologies to write enterprise applications and services quickly and operations teams with the administration capabilities to keep them up and running. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466428.aspx|_blank]\r\n Oracle WebLogic Server 11g Standard Edition on Windows Server 2008 R2\r\n 2015-05-07T00:00:00Z\r\n true\r\n OracleWeblogic11_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321690\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386539\r\n OracleWeblogic11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Zulu-1.7.0_76-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=403017\r\n [Zulu 7|http://www.azulsystems.com/products/zulu|_blank] (update 76) is a Java Development Kit and a compliant implementation of the Java Standard Edition (SE) 7 specification for the Windows 64bit operating system. [Support|http://www.azulsystems.com/products/zulu/support-packages|_blank] is available from Azul Systems.\r\n Zulu OpenJDK package v1.7 on Windows Server 2012 R2\r\n false\r\n 2015-05-07T00:00:00Z\r\n true\r\n Zulu_Duke100x100.png\r\n http://go.microsoft.com/fwlink/?LinkId=403018\r\n Small\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=404007\r\n Zulu_Duke45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Zulu-1.8.0_40-20150507-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=403017\r\n [Zulu 8|http://www.azulsystems.com/products/zulu|_blank] (update 40) is a Java Development Kit and a compliant implementation of the Java Standard Edition (SE) 8 specification for the Windows 64bit operating system. [Support|http://www.azulsystems.com/products/zulu/support-packages|_blank] is available from Azul Systems.\r\n Zulu OpenJDK package v1.8 on Windows Server 2012 R2\r\n false\r\n 2015-05-07T00:00:00Z\r\n true\r\n Zulu_Duke100x100.png\r\n http://go.microsoft.com/fwlink/?LinkId=403018\r\n Small\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=404008\r\n Zulu_Duke45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 81\r\n 29ad5df6dd0640ce9aae898da6e66f4f__GitHub-Enterprise-2.2.4\r\n Linux\r\n https://enterprise.github.com/license\r\n GitHub Enterprise is the on-premises version of GitHub.com, the world's largest software community. Collaborate, track issues, review code, and streamline your development processes - all on your servers. With the world's largest software development community already using GitHub, your business can be on the fast track to a better way of building software.\r\n GitHub Enterprise\r\n false\r\n 2015-06-17T07:00:00Z\r\n false\r\n https://enterprise.github.com/privacy\r\n Standard_DS3\r\n GitHub, Inc.\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-475.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-10-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-490.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-11-03T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-509.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.2.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-547.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-554.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-06T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-557.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-561.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-575.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-584.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-591.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-592.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-593.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-598.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-604.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-26T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-607.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-612.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-05T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-612.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-06T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-618.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-626.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-633.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-26T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-640.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-02T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-647.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-653.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-660.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-668.2.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-675.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-681.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-695.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-709.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-11T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-717.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-723.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-25T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-723.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-735.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-738.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-745.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-752.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-758.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-11-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.4.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.5.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-11T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-24T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.4.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.5.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-02-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-584.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-02-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-607.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-03-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-612.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-03-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-633.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-04-01T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-647.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-04-15T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-668.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-05-13T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-681.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-05-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-695.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-695.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-15T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-717.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-723.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-07-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-723.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-07-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-12-03T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.4.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.5.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-522.5.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-01-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-522.6.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-01-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-557.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-02-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-607.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-03-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-633.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-04-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-647.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-05-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-647.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-05-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-717.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-07-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-717.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-07-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-723.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-08-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Enterprise\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296354;http://go.microsoft.com/fwlink/?LinkID=131004\r\n This image contains the Enterprise edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280328\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Developer-Apr-2015\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Developer Edition (64-bit) on Windows Server 2012 R2. This image contains the Developer edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Developer\r\n false\r\n BizTalkServer2013_100.png\r\n Microsoft BizTalk Server Group\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 128\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Enterprise-Nov-2014\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Enterprise Edition (64-bit) on Windows Server 2012 R2. This image contains the Enterprise edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Enterprise\r\n 2014-11-03T08:00:00Z\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280328\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 128\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Standard-Nov-2014\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Standard Edition (64-bit) on Windows Server 2012 R2. This image contains the Standard edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Standard\r\n 2014-11-03T08:00:00Z\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280327\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Standard\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296355;http://go.microsoft.com/fwlink/?LinkID=131004\r\n This image contains the Standard edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280327\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__DreamFactory_1.6.10-3_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n DreamFactory is the ultimate REST API platform. It enables developers to rapidly mobilize enterprise data by streamlining the task of connecting modern front-end apps with databases and storage systems. DreamFactory handles all of the server-side software and backend integration, so that you can focus on what you do best: building great applications. For more\r\ninformation on this DreamFactory VM packaged by Bitnami visit [our website|https://bitnami.com/stack/dreamfactory|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_DreamFactory|_blank] and [forums|http://community.bitnami.com|_blank]. The DreamFactory VM for Microsoft Azure is developed and maintained by [Bitnami|https://bitnami.com|_blank], the leading provider of application images for the cloud. Default credentials are username: 'user@example.com' / password: 'bitnami'.\r\n DreamFactory 1.6\r\n 2014-07-14T00:00:00Z\r\n false\r\n dreamfactory-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Small\r\n Bitnami\r\n dreamfactory-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__DreamFactory_1.7.8-0_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n DreamFactory is the ultimate REST API platform. It enables developers to rapidly mobilize enterprise data by streamlining the task of connecting modern front-end apps with databases and storage systems. DreamFactory handles all of the server-side software and backend integration, so that you can focus on what you do best: building great applications. For more\r\ninformation on this DreamFactory VM packaged by Bitnami visit [our website|https://bitnami.com/stack/dreamfactory|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_DreamFactory|_blank] and [forums|http://community.bitnami.com|_blank]. The DreamFactory VM for Microsoft Azure is developed and maintained by [Bitnami|https://bitnami.com|_blank], the leading provider of application images for the cloud. Default credentials are username: 'user@example.com' / password: 'bitnami'.\r\n DreamFactory 1.7\r\n 2014-09-30T00:00:00Z\r\n false\r\n dreamfactory-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Small\r\n Bitnami\r\n dreamfactory-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__eXo_Platform_Express_4.0.6-4_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n eXo Platform combines collaboration, content and document management, calendaring and other productivity tools with social features to provide a complete intranet for the enterprise. Rich collaboration features such as wikis, forums, calendars and documents are smartly integrated around activity streams, social networking and workspaces. It is carefully designed to instantly engage users. It is open source and runs within the trusted security of an enterprise platform and is highly customizable to adapt to your organizational needs. This is a 30 day free evaluation of eXo Platform Express, a commercial version of eXo Platform. To continue using the image at the end of the trial period, you must purchase a license directly from eXo Platform (To learn more, visit: [http://www.exoplatform.com|http://docs.exoplatform.com/public/index.jsp?topic=%2FPLF41%2FPLFUserGuide.GettingStarted.TrialEdition.html|_blank]). For more information on eXo Platform visit: [eXo Platform Express by Bitnami|https://bitnami.com/stack/exo-platform|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_eXo_Platform|_blank], [eXo Platform Resource Center|http://www.exoplatform.com/company/en/resource-center|_blank], [Contact for Pricing Details|http://www.exoplatform.com/company/en/company/contact-us|_blank]. This eXo Platform Express VM is built and maintained by [Bitnami|https://bitnami.com|_blank] the leading provider of application images for the cloud. Default credentials are username: 'user' / password: 'bitnami'.\r\n eXo Platform Express 4\r\n 2014-07-14T00:00:00Z\r\n false\r\n exoplatform-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Medium\r\n Bitnami\r\n exoplatform-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__eXo_Platform_Express_4.0.7-0_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n eXo Platform combines collaboration, content and document management, calendaring and other productivity tools with social features to provide a complete intranet for the enterprise. Rich collaboration features such as wikis, forums, calendars and documents are smartly integrated around activity streams, social networking and workspaces. It is carefully designed to instantly engage users. It is open source and runs within the trusted security of an enterprise platform and is highly customizable to adapt to your organizational needs. This is a 30 day free evaluation of eXo Platform Express, a commercial version of eXo Platform. To continue using the image at the end of the trial period, you must purchase a license directly from eXo Platform (To learn more, visit: [http://www.exoplatform.com|http://docs.exoplatform.com/public/index.jsp?topic=%2FPLF41%2FPLFUserGuide.GettingStarted.TrialEdition.html|_blank]). For more information on eXo Platform visit: [eXo Platform Express by Bitnami|https://bitnami.com/stack/exo-platform|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_eXo_Platform|_blank], [eXo Platform Resource Center|http://www.exoplatform.com/company/en/resource-center|_blank], [Contact for Pricing Details|http://www.exoplatform.com/company/en/company/contact-us|_blank]. This eXo Platform Express VM is built and maintained by [Bitnami|https://bitnami.com|_blank] the leading provider of application images for the cloud. Default credentials are username: 'user' / password: 'bitnami'.\r\n eXo Platform Express 4\r\n 2014-09-30T00:00:00Z\r\n false\r\n exoplatform-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Medium\r\n Bitnami\r\n exoplatform-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131018-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-10-18T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131127-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-11-29T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131217-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-12-23T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140213-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-01-23T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140306-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-03-05T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140327-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-03-26T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140618-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-06-17T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140715-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-07-14T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20141204-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-12-03T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150325\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages. Note: Recommended VM size is A2 or larger.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150325\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages. Note: Recommended VM size is A2 or larger.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150605\r\n Linux\r\n 6.6\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150706\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-07-06T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150731\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-07-31T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150325\r\n Linux\r\n 7.0\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150410\r\n Linux\r\n 7.1\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-04-10T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150731\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-07-31T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-8.6.1b-3-20111104\r\n Linux\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 8.6\r\n 2011-11-04T07:00:00Z\r\n false\r\n RVBD_100x100.png\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-8.6.2-52-20141222\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 8.6\r\n 2014-12-22T08:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-9.0.0-15-20141213\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to Cloud SteelHead documentation at https://support.riverbed.com/content/support/software/steelhead/cloud.html\r\n Riverbed SteelHead CX 9.0\r\n 2014-12-13T08:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-9.0.1-87-20150420\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 9.0\r\n 2015-04-20T07:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 80\r\n 810d5f35ce8748c686feabed1344911c__BarracudaNGFirewall-6.1.1-075-byol\r\n Linux\r\n https://cloudvm.cudasvc.com/eula/ngfirewall-azure-eula.html\r\n Note: This appliance is managed via a client application and TCP/807 needs to be forwarded to do so. See the [deployment README|https://cloudvm.cudasvc.com/azure/deployment-readme-ng.html|_blank] for details. -- The Barracuda NG Firewall is an enterprise-grade next-generation firewall that was purpose-built for efficient deployment and operation within dispersed, highly dynamic, and security-critical network environments providing multilayer security in the cloud. Beyond its powerful network firewall, IPS, and VPN technologies, the Barracuda NG Firewall integrates a comprehensive set of next-generation firewall technologies.\r\n Barracuda NG Firewall 6.1.1\r\n 2015-08-04T19:00:00Z\r\n false\r\n barracuda-100x100.png\r\n https://techlib.barracuda.com/display/CP/Privacy+Policy\r\n Small\r\n Barracuda Networks, Inc.\r\n barracuda-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 50\r\n 810d5f35ce8748c686feabed1344911c__BarracudaWAF-7.9.0.021\r\n Linux\r\n https://cloudvm.cudasvc.com/eula/waf-azure-eula.html\r\n Note: This appliance is administered via a web UI and TCP/8000 needs to be forwarded to do so. See the [deployment README|https://cloudvm.cudasvc.com/azure/deployment-readme-waf.html|_blank] for details. -- The Barracuda Web Application Firewall inspects all inbound web traffic and blocks SQL injections, Cross-Site Scripting, malware uploads & application DDoS, or any other attacks targeted at your web applications. Its built-in load balancing technology also allows your web applications to scale with your business and its Data Loss Prevention (DLP) technology inspects server responses to help keep your proprietary information safe.\r\n Barracuda Web Application Firewall (WAF) 7.9\r\n 2015-04-28T19:00:00Z\r\n false\r\n barracuda-100x100.png\r\n https://techlib.barracuda.com/display/CP/Privacy+Policy\r\n Small\r\n Barracuda Networks, Inc.\r\n barracuda-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4596.1-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 Preview installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows HPC cluster in Azure. We recommend using a VM size of at least A4. Before creating a virtual machine, you must configure a valid virtual network. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post configuration script described in the Preview release notes. For more information about how to set up an HPC IaaS cluster with this image, [see here|http://go.microsoft.com/fwlink/p/?LinkId=403953|_blank] .\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-08-14T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4650.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-10-31T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4652.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-11-14T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4660.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-02-12T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4665.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-04-16T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the head node of an HPC Pack cluster. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-Excel-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 and evaluation version of Microsoft Excel Professional Plus 2013 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node with Excel on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4806.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=530195|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-04-06T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4835.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see Yammer Group|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-05-28T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4858.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview for Head Node installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see Yammer Group|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-06-29T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU5-201503NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-03-27T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU6-201504NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-04-13T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU7-201505NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-05-13T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU8-201506NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-06-15T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-RTM-201502NB.02-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-02-24T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20140710\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2014-07-09T00:41:59Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20141209\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2014-12-09T15:26:36Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20150506\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2015-05-08T12:17:30Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20150617\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2015-06-26T07:49:56Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201505.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-05-22T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201506.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-20150726-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201505.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-06-22T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201506.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-20150726-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201505.01-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-05-22T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201506.01-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20150726-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-Technical-Preview-201505.01-en.us-127GB.vhd\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=544707\r\n At the heart of the Microsoft Cloud Platform, Windows Server brings the breadth and depth of Microsoft’s experience delivering global-scale cloud services to your datacenter infrastructure. Windows Server Technical Preview provides a range of new and enhanced capabilities and features spanning server virtualization, storage, networking, server management and automation, web and application platform, access and information protection, remote desktop infrastructure, and more. By clicking the Create button, I acknowledge that this VHD contains a preview release and should strictly be used for testing purposes and that the [legal terms|http://go.microsoft.com/fwlink/?LinkId=544707|_blank] of Microsoft apply to it. The VHD won’t be serviced or supported for production use and the trial period expires on October 1, 2015.\r\n Windows Server Technical Preview\r\n 2015-05-04T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-1BOX-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 AOS on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 AOS on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-PROD-OS-Win2012R2-June15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 AOS Production on Windows Server 2012 R2\r\n false\r\n 2015-06-01T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-PROD-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 AOS Production on Windows Server 2012 R2\r\n false\r\n 2015-05-18T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-ARA-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Azure Remote Application Service software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Azure Remote Application Service on Windows Server 2012 R2\r\n false\r\n 2015-05-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Client software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 Client on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Client software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 Client on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-PROD-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Client Production on Windows Server 2012 R2\r\n false\r\n 2015-04-27T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-EP-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Enterprise Portal software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Enterprise Portal on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-EP-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Enterprise Portal software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Enterprise Portal on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-RTLECM-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Retail E-commerce software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Retail E-commerce on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-RTLESS-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Retail Essentials software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Retail Essentials on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-SQL-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Database Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Database Server on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-SQL-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Database Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Database Server on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-AOS-OS-Win2012R2-7July28\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 Applicaion Object Server software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 AOS on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-BI-OS-Win2012R2-7July28\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 business intelligence software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 BI on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-20May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-05-27T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2 Preview\r\n false\r\n 2015-07-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July26\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2 Preview\r\n false\r\n 2015-07-26T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July28\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Developer on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-05-11T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__RdshOnWindowsServer2012R2.20140305.127GB.vhd\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2014-03-05T23:38:03.7394082Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20140814-1846\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2014-08-14T20:56:09.553895Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20141111-2335\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2014-11-12T00:23:04.7938861Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150127-2030\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-01-27T21:22:33.5359792Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150309-1850\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-03-09T21:27:13.0940596Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150429-2200\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-04-30T02:06:52.0524797Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150514-2210\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-05-14T23:02:10.1569333Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20141121-0016\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2014-11-21T01:07:50.1224459Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20141126-2055\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2014-11-27T01:46:00.1951134Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150128-0010\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-01-28T01:17:11.0039487Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150309-1850\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-03-09T19:50:33.6933063Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150428-2230\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-04-28T23:16:04.9724554Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150513-1800\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-05-13T20:37:23.4158594Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150610-2039\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-06-11T01:56:15.8997285Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20141111-0723\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2014-11-11T08:00:55.6357644Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150128-0500\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2015-01-28T05:33:11.6514381Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150309-1815\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-03-09T18:58:44.7766347Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150429-0000\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-04-29T00:35:41.9643255Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150512-0030\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-05-12T14:39:41.1427698Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150513-0525\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2015-05-13T06:00:19.2702337Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20121218-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.10 (amd64 20121218) for Windows Azure. This image is DEPRECATED and was reached its END OF LIFE on 2014-04-18. This image is provided for archival purposes only. Please see [Ubuntu Release Wiki|https://wiki.ubuntu.com/Releases|_blank] for information about successor releases and the Ubuntu life-cycle.\r\n Ubuntu Server 12.10\r\n false\r\n 2012-12-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130225-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130225) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-02-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130325-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130325) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n false\r\n 2013-03-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130415-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130415) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n false\r\n 2013-04-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130516-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130516) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-05-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130527-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130527) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-05-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130603-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130603) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-06-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130624-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130624) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-06-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130827-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130827) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-08-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130916.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130916.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-09-16T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131003-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131003) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-10-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131024-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131024) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-10-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131111-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131111) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-11-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131114-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131114) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-11-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131205-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131205) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-12-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20140127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20140127) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-01-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20140130-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20140130) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-01-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140227-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140227) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-02-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140408-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140408) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-04-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140428-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140428) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-04-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140514-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140514) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-05-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140606-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140606) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-06-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140619-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140619) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-06-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140702-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140702) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-07-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140717-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140717) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-07-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140806-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140806) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-08-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140829.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140829.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-08-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140909.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140909.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140923.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140923.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140924.4-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140924.4) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140925.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140925.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140925.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140925.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140927) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150119-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150119) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-01-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150127) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-01-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150204-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150204) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-02-04T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150512-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150512) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150610-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150610) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150615-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150615) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-06-16T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150707) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150728) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150730.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150730.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150731.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150731.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150309) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-03-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150401-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150401) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-04-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150413-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150413) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-04-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140414-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140414) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140414.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140414.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140416.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140416.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140528-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140528) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-05-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140606.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140606.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-06-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140618.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140618.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-06-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140724-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140724) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-07-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140924-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140924) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140926-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140926) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140927) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20141125-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20141125) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-11-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20150123) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-01-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150506-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150506) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-05-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150610-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150610) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150706-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150706) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2_LTS-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2.LTS (amd64 20150309) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2.LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-03-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20150805-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.3-LTS (amd64 20150805) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.3-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-08-06T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-SSH-Docker-amd64-edge-201507081917-119-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507081917. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-20150423-39-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 20150423. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-04-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507080203-118-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507080203. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507092358-121-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507092358. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507102001-122-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507102001. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507102212-123-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507102212. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507221609-125-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507221609. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507221910-126-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507221910. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507222241-127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507222241. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507231619-128-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507231619. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507232107-131-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507232107. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507241850-132-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507241850. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150421.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150421.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150422-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150422) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150513-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150513) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150513.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150513.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150528.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150528.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150611-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150611) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150616.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150616.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-06-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150707) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150722-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150722) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150728) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150729-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150729) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150520.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.10 (amd64 20150520.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-05-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150624-alpha1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n MILESTONE RELEASE: This is a milestone release and is considered experimental. This build is unsupported and is for development and preview reference only. Ubuntu Server 15.10 (amd64 20150624) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-06-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150728.1-alpha2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.10 (amd64 20150728.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-20150526-57-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 20150526. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-05-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506102134-69-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506102134. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506110559-70-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506110559. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506120856-71-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506120856. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-12T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506171326-77-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506171326. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506180039-80-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506180039. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506190835-82-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506190835. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-19T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150707 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150707.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150707.1 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150709-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150709 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150722-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150722 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150722.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150722.1 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150728 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150730-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150730 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150730.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150730.1 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150731-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150731 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150731.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150731.1 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150708-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150708 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150721-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150721 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150722-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150722 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150724-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150724 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150727-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150727 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150728 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150729-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150729 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150731-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150731 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150803-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150803 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-08-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_2-LTS-amd64-server-20150805-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150805 of Ubuntu Server 14.04.2-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-08-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150805-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150805 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-08-06T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150630-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150630 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-06-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150707 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150709-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150709 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150715-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150715 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150722-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150722 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150728 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150729-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150729 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150730-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150730 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150731-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150731 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150802-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150802 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150723-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150723 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150723.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150723.1 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150724-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150724 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150725-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150725 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150726-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150726 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150728.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150728.1 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150730-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150730 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150801-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150801 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-01T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150802-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150802 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150806-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150806 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.1-20141216-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n openSUSE 13.1 brings updated desktop environments and software, a lot of polishing, a brand new KDE theme, complete systemd integration and many other features. Customization of these images can be done at http://susestudio.com\r\n openSUSE 13.1\r\n 2015-01-05T08:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.2-20141216-x86-64\r\n Linux\r\n Stable, innovative, and fun! A year's worth of continuous improvement in tools and procedures, and countless hours developing, packaging, and testing have produced a stable release providing the best of Free and Open Source software with our special green touch. Customization of this image can be done at [https://susestudio.com|https://susestudio.com]\r\n openSUSE 13.2\r\n 2014-12-16T00:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.2-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Stable, innovative, and fun! A year's worth of continuous improvement in tools and procedures, and countless hours developing, packaging, and testing have produced a stable release providing the best of Free and Open Source software with our special green touch. Customize this image with SUSE Studio ( [https://susestudio.com|https://susestudio.com] ).\r\n openSUSE 13.2\r\n 2015-05-12T07:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-20150105-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 11 SP3\r\n 2015-01-05T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-priority-20150105-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP3 (Premium Image)\r\n 2015-01-05T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-priority-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP3 (Premium Image)\r\n 2015-01-27T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-priority-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP3 (Premium Image)\r\n 2015-03-30T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-sap-20150105-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n The SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library image is the base image for SAP's Cloud Appliance library. It will be used automatically when deploying an SAP Cloud Appliance Library instance and has the same features as the native SLES image, however customized to fit SAP's CAL needs. For further description and usage guide lines please refer to the description of the SUSE Linux Enterprise image.\r\n SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library\r\n 2015-01-05T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-sapcal-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n The SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library image is the base image for SAP's Cloud Appliance library. It will be used automatically when deploying an SAP Cloud Appliance Library instance and has the same features as the native SLES image, however customized to fit SAP's CAL needs. For further description and usage guide lines please refer to the description of the SUSE Linux Enterprise image.\r\n SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library\r\n 2015-01-27T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 11 SP3\r\n 2015-01-27T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 11 SP3\r\n 2015-03-30T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp4-priority-v20150714\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP4 (Premium Image)\r\n 2015-07-14T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp4-v20150714\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 11 SP4\r\n 2015-07-14T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-20150105-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 12\r\n 2015-01-05T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-hpc-priority-v20150708\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The image supports the low latency network interface option available for select instance types. This Premium image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. Virtual machines created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure Support ( [http://azure.microsoft.com/en-us/support/options/|http://azure.microsoft.com/en-us/support/options/] ).\r\n SUSE Linux Enterprise Server 12 - HPC (Premium Image)\r\n 2015-07-08T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-hpc-v20150708\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. This image supports the low latency network interface option available for select instance types.\r\n SUSE Linux Enterprise Server 12 HPC\r\n 2015-07-08T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-20150105-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-01-05T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150213\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-02-13T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-03-30T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. This Premium image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. Virtual machines created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure Support ( [http://azure.microsoft.com/en-us/support/options/|http://azure.microsoft.com/en-us/support/options/] ).\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-05-12T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150213\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 12\r\n 2015-02-13T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 12\r\n 2015-03-30T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 12\r\n 2015-05-12T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 7.5 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8.11\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 7.5 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-07T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.15\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2013-01-05T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8.11\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-07T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with IIS 7.5 and RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with IIS 7.5 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v13.4.3.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-06-06T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v13.5.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-19T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v13.4.3.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-06-06T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2008R2 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2008R2 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012R2-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-6-12-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Linux 6 brings the latest Linux innovations to market, delivering extreme performance, advanced scalability, and reliability for enterprise applications and systems. More information can be found at http://www.oracle.com/linux.\r\n Oracle Linux 6.4.0.0.0\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleLinux6_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleLinux6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 40\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-6-E-Database-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Database 12c Enterprise Edition is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. For more information, go to http://www.oracle.com/database.\r\n Oracle Database 12.1.0.1 Enterprise Edition\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleDatabase12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-7\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Linux 7.0.0.0 delivers extreme performance, advanced scalability, and reliability for enterprise applications and systems. Optimized for enterprise workloads, Oracle Linux is the only operating system to offer zero-downtime updates.\r\n Oracle Linux 7.0.0.0.0\r\n 2014-12-18T06:00:00Z\r\n false\r\n OracleLinux6_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleLinux6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 40\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-Database-Standard-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Database 12c Standard Edition is an affordable, full-featured data management solution that is ideal for midsize companies. More information can be found at http://www.oracle.com/database.\r\n Oracle Database 12.1.0.1 Standard Edition\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleDatabase12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n c290a6b031d841e09f2da759bbabe71f__WebLogic-Linux-6-12c-2014\r\n Linux\r\n Oracle WebLogic Server 12.1.2 on Oracle Linux 6.4.0.0.0\r\n Oracle WebLogic Server 12c Enterprise Edition is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. More information can be found at http://www.oracle.com/weblogicserver.\r\n Oracle Weblogic\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleWeblogic12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n c6e0f177abd8496e934234bd27f46c5d__SharePoint-2013-Trial-7-9-2015\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=38417\r\n Microsoft SharePoint Server 2013 Trial on Windows Server 2012 Datacenter. Virtual Machines created with this trial image will expire on January 5, 2016. This image includes a complete installation of SharePoint Server 2013. Some SharePoint Server 2013 components require additional setup and configuration. You can set-up Active Directory and SQL Server required for your SharePoint farm by provisioning additional virtual machines. Minimum recommended virtual machine size for this image is Large. To evaluate the advanced capabilities of SharePoint Server 2013, we recommend that you use a virtual machine size of A4.\r\n Windows Server Datacenter 2012 Datacenter\r\n 2015-07-09T07:00:00Z\r\n false\r\n Large\r\n Microsoft SharePoint Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n de89c2ed05c748f5aded3ddc75fdcce4__PuppetEnterpriseMaster-3_2_3_1-amd64-server-20140925.1-en-us-30GB\r\n Linux\r\n http://puppetlabs.com/solutions/microsoft#Eula\r\n This image includes a pre-configured Puppet Master with the Ubuntu Linux distribution for easy deployment of Puppet Enterprise. To set up a Puppet Enterprise environment, please refer to the Getting Started Guide for Deploying a Puppet Master with Windows Azure at http://puppetlabs.com/solutions/microsoft NOTE: The cloud service and virtual machine names must be in lower case to properly provision a Puppet Master.\r\n Puppet Enterprise 3.2\r\n 2014-10-23T01:45:25.1330063Z\r\n false\r\n PuppetLabs_100x100.png\r\n http://puppetlabs.com/solutions/microsoft\r\n Medium\r\n Puppet Labs\r\n PuppetLabs_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n de89c2ed05c748f5aded3ddc75fdcce4__PuppetEnterpriseMaster-3_7_2-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://puppetlabs.com/solutions/microsoft#Eula\r\n This image includes a pre-configured Puppet Master with the Ubuntu Linux distribution for easy deployment of Puppet Enterprise. To set up a Puppet Enterprise environment, please refer to the Getting Started Guide for Deploying a Puppet Master with Windows Azure at http://puppetlabs.com/solutions/microsoft NOTE: The cloud service and virtual machine names must be in lower case to properly provision a Puppet Master.\r\n Puppet Enterprise 3.7\r\n 2015-03-19T07:12:15.3948309Z\r\n false\r\n PuppetLabs_100x100.png\r\n http://puppetlabs.com/solutions/microsoft\r\n Medium\r\n Puppet Labs\r\n PuppetLabs_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Enterprise-CY13SU04-SQL2008-SP2-10.50.4021.0\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-04-16T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Standard-CY13SU04-SQL2008-SP2-10.50.4021.0\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-04-16T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Enterprise-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Standard-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Web-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Ent-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Enterprise on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Ent-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Enterprise on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Std-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Standard on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Std-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Standard on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Web-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Web on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Web-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Web on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A3\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n Sqlserver2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-07-29T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Ent-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Std-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Web-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Ent-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Std-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Web-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Ent-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Std-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Web-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-DataWarehousing-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image is optimized for data warehousing workloads with data sizes up to 1TB using clustered columnstore indexes. After the portal deployment completes, you need to attach disks to the virtual machine. To do this, connect to the VM and follow the on-screen instructions. Before using the VM, review the recommendations [here|http://msdn.microsoft.com/library/dn387396.aspx|_blank]. For best performance, we recommend using a VM size of A7. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM DataWarehousing on Windows Server 2012 R2\r\n false\r\n 2014-06-27T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A7\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Enterprise-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Standard-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Web-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Ent-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Std-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Web-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-SP1-12.0.4100.1-Std-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank]\r\n SQL Server 2014 SP1 Standard on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-SP1-12.0.4100.1-Web-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 SP1 Web on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-Ent-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 SP1 Enterprise on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-DataWarehousing-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image is optimized for data warehousing workloads with data sizes up to 1TB using clustered columnstore indexes. After the portal deployment completes, you need to attach disks to the virtual machine. To do this, connect to the VM and follow the on-screen instructions. Before using the VM, review the recommendations [here|http://msdn.microsoft.com/library/dn387396.aspx|_blank]. For best performance, we recommend using a VM size of A7. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM DataWarehousing on Windows Server 2012 R2\r\n false\r\n 2014-04-01T07:00:00Z\r\n true\r\n SQLServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A7\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-ENTCORE-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A3\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-Standard-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-Web-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2-13.0.200.172-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2016 CTP2 Evaluation on Windows Server 2012 R2\r\n 2015-05-27T07:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n Large\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2-13.0.407.1-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n [Known Issues in this Release.|http://go.microsoft.com/fwlink/?LinkID=398124|_blank]. Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQLServer2016CTP2-13.0.407.1-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n 2015-07-27T00:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n Large\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2.1-13.0.300.44-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2016 CTP2 Evaluation on Windows Server 2012 R2\r\n 2015-06-19T00:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n Large\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "619148" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "d7bd16fa7f2fcd088854f22fb6764dd6" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:52 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/d7bd16fa7f2fcd088854f22fb6764dd6", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2Q3YmQxNmZhN2YyZmNkMDg4ODU0ZjIyZmI2NzY0ZGQ2", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n d7bd16fa-7f2f-cd08-8854-f22fb6764dd6\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": [ - "85e0ad33114acae798dd3ca7f6502bc2" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:54 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/vmimages", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy92bWltYWdlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n imgpstestsvc1463\r\n \r\n User\r\n \r\n imgpstestsvc1463-os-2015-08-06\r\n ReadWrite\r\n Specialized\r\n Windows\r\n http://psteststo7810.blob.core.windows.net/myvhds/imgpstestsvc1463-os-2015-08-06.vhd\r\n 32\r\n Standard\r\n \r\n \r\n \r\n imgpstestsvc1463-datadisk-0-2015-08-06\r\n ReadOnly\r\n 0\r\n https://psteststo7810.blob.core.windows.net/myvhds/imgpstestsvc1463-datadisk-0-2015-08-06.vhd\r\n 1\r\n Standard\r\n \r\n \r\n pstestsvc1463\r\n pstestsvc1463Prod\r\n pstestsvc1463\r\n West US\r\n 2015-08-06T21:27:54.644789Z\r\n 2015-08-06T21:27:54.644789Z\r\n false\r\n VMImageReadyForUse\r\n StoppedVM\r\n Large\r\n \r\n \r\n imgpstestsvc14632\r\n \r\n User\r\n \r\n imgpstestsvc14632-os-2015-08-06\r\n ReadWrite\r\n Generalized\r\n Windows\r\n http://psteststo7810.blob.core.windows.net/myvhds/imgpstestsvc14632-os-2015-08-06.vhd\r\n 32\r\n Standard\r\n \r\n \r\n \r\n imgpstestsvc14632-datadisk-0-2015-08-06\r\n ReadOnly\r\n 0\r\n https://psteststo7810.blob.core.windows.net/myvhds/imgpstestsvc14632-datadisk-0-2015-08-06.vhd\r\n 1\r\n Standard\r\n \r\n \r\n pstestsvc1463\r\n pstestsvc1463Prod\r\n pstestsvc1463\r\n West US\r\n 2015-08-06T21:28:26.0405273Z\r\n 2015-08-06T21:28:26.0405273Z\r\n false\r\n VMImageReadyForUse\r\n StoppedVM\r\n Large\r\n \r\n \r\n imgpstestsvc7633\r\n \r\n User\r\n \r\n imgpstestsvc7633-os-2015-08-06\r\n ReadWrite\r\n Specialized\r\n Windows\r\n http://psteststo5543.blob.core.windows.net/myvhds/imgpstestsvc7633-os-2015-08-06.vhd\r\n 32\r\n Standard\r\n \r\n \r\n \r\n imgpstestsvc7633-datadisk-0-2015-08-06\r\n ReadOnly\r\n 0\r\n https://psteststo5543.blob.core.windows.net/myvhds/imgpstestsvc7633-datadisk-0-2015-08-06.vhd\r\n 1\r\n Standard\r\n \r\n \r\n pstestsvc7633\r\n pstestsvc7633Prod\r\n pstestsvc7633\r\n West US\r\n 2015-08-06T21:46:14.9828955Z\r\n 2015-08-06T21:46:14.9828955Z\r\n false\r\n VMImageReadyForUse\r\n StoppedVM\r\n Large\r\n \r\n \r\n imgpstestsvc76332\r\n \r\n User\r\n \r\n imgpstestsvc76332-os-2015-08-06\r\n ReadWrite\r\n Generalized\r\n Windows\r\n http://psteststo5543.blob.core.windows.net/myvhds/imgpstestsvc76332-os-2015-08-06.vhd\r\n 32\r\n Standard\r\n \r\n \r\n \r\n imgpstestsvc76332-datadisk-0-2015-08-06\r\n ReadOnly\r\n 0\r\n https://psteststo5543.blob.core.windows.net/myvhds/imgpstestsvc76332-datadisk-0-2015-08-06.vhd\r\n 1\r\n Standard\r\n \r\n \r\n pstestsvc7633\r\n pstestsvc7633Prod\r\n pstestsvc7633\r\n West US\r\n 2015-08-06T21:46:45.5386428Z\r\n 2015-08-06T21:46:45.5386428Z\r\n false\r\n VMImageReadyForUse\r\n StoppedVM\r\n Large\r\n \r\n \r\n 1acf693f34c74e86a50be61cb631ddfe__ClouderaGolden-202406-699696\r\n \r\n Public\r\n Single click deployment of CDH 5.1 Evaluation for MR, HDFS and HIVE\r\n \r\n ClouderaGolden-202406-699696-os-2014-10-06\r\n ReadWrite\r\n Specialized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n CDH 5.1 Evaluation\r\n Standard_D14\r\n false\r\n http://www.gnu.org/copyleft/gpl.html\r\n http://www.cloudera.com/content/cloudera/en/privacy-policy.html\r\n Cloudera\r\n 2014-10-27T04:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08-datadisk-0-2015-03-24\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02-datadisk-0-2015-07-03\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06-datadisk-0-2015-07-28\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.08-datadisk-0-2015-03-24\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.02-datadisk-0-2015-07-03\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.06-datadisk-0-2015-07-28\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hdp215-16d-vm-image\r\n \r\n Public\r\n HDP 2.1.5 with 16 data disks\r\n \r\n hdp215-16d-image-os-2014-10-16\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard\r\n \r\n \r\n \r\n hdp215-16d-image-datadisk-0-2014-10-16\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-1-2014-10-16\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-2-2014-10-16\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-3-2014-10-16\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-4-2014-10-16\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-5-2014-10-16\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-6-2014-10-16\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-7-2014-10-16\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-8-2014-10-16\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-9-2014-10-16\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-10-2014-10-16\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-11-2014-10-16\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-12-2014-10-16\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-13-2014-10-16\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-14-2014-10-16\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-15-2014-10-16\r\n None\r\n 15\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hdp215-8d-vm-image\r\n \r\n Public\r\n HDP 2.1.5 with 8 data disks\r\n \r\n hdp215-8d-image-os-2014-10-08-1\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n \r\n hdp215-8d-image-datadisk-0-2014-10-08-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-1-2014-10-08-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-2-2014-10-08-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-3-2014-10-08-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-4-2014-10-08-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-5-2014-10-08-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-6-2014-10-08-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-7-2014-10-08-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_2.2.4.2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2\r\n \r\n hwx_sandbox_hdp_2.2.4.2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2\r\n \r\n hw_sandbox_hdp_2.2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v2\r\n \r\n hw_sandbox_hdp_2.2.4.2v2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v3\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v3\r\n \r\n hw_sandbox_hdp_2.2.4.2v3\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v4\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v4\r\n \r\n hw_sandbox_hdp_2.2.4.2v4\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v5\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v5\r\n \r\n hw_sandbox_hdp_2.2.4.2v5\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.3v7\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.3\r\n \r\n hw_sandbox_hdp_2.3v7\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n eed8e6be226e414095ba1fbf8fc3931f__dse-node-20141010\r\n \r\n Public\r\n DataStax takes the latest version of open source Apache Cassandra, certifies and prepares it for bullet-proof enterprise deployment. We deliver commercial confidence in the form of training and support, development tools and drivers, and professional implementation services to ensure that you have everything you need to successfully deploy Cassandra in support of your mainstream business applications.\r\n \r\n dse-node-20141010-os-2014-10-22\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard\r\n \r\n \r\n \r\n dse-node-20141010-datadisk-0-2014-10-22\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-1-2014-10-22\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-2-2014-10-22\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-3-2014-10-22\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n DataStax Enterprise\r\n A7\r\n false\r\n http://www.datastax.com/developer-license-terms\r\n http://www.datastax.com/privacy\r\n DataStax\r\n 2014-10-27T05:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n eed8e6be226e414095ba1fbf8fc3931f__dse-opscenter-20141010\r\n \r\n Public\r\n DataStax takes the latest version of open source Apache Cassandra, certifies and prepares it for bullet-proof enterprise deployment. We deliver commercial confidence in the form of training and support, development tools and drivers, and professional implementation services to ensure that you have everything you need to successfully deploy Cassandra in support of your mainstream business applications.\r\n \r\n dse-opscenter-20141010-os-2014-10-11\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n DataStax Enterprise\r\n A7\r\n false\r\n http://www.datastax.com/developer-license-terms\r\n http://www.datastax.com/privacy\r\n DataStax\r\n 2014-10-27T05:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-DW-ENU-Win2012-cy14su09\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-OLTP-ENU-Win2012-cy14su09\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-DW-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-12-01T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-OLTP-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-12-01T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012-cy15su02\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-03-10T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-OLTP-ENU-Win2012-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-OLTP-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-DW-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-OLTP-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-DW-ENU-Win2012R2-cy14su08\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13,D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-OLTP-ENU-Win2012R2-cy14su08\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-DW-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-11-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-OLTP-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-11-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-DW-ENU-Win2012R2-cy15su05\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk3\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk4\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk5\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk6\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk8\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk9\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk10\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk11\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk12\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n SQL Server 2014 SP1 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-05-15T00:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-OLTP-ENU-Win2012R2-cy15su05\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk3\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk4\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk5\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk6\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk8\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk9\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk10\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk11\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk12\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n SQL Server 2014 SP1 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-05-15T00:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL2014RTMonWIN2012R2Special16\r\n \r\n Public\r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk1\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk2\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk3\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk4\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk5\r\n ReadOnly\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk6\r\n ReadOnly\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk8\r\n ReadOnly\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk9\r\n ReadOnly\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk10\r\n ReadOnly\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk11\r\n ReadOnly\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk12\r\n ReadOnly\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n true\r\n Microsoft SQL Server Group\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL2014RTMonWIN2012R2Special31\r\n \r\n Public\r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk1\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk2\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk3\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk4\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk5\r\n ReadOnly\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk6\r\n ReadOnly\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk8\r\n ReadOnly\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk9\r\n ReadOnly\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk10\r\n ReadOnly\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk11\r\n ReadOnly\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk12\r\n ReadOnly\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk13\r\n ReadOnly\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk14\r\n ReadOnly\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk15\r\n ReadOnly\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk16\r\n ReadOnly\r\n 15\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk17\r\n ReadOnly\r\n 16\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk18\r\n ReadOnly\r\n 17\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk19\r\n ReadOnly\r\n 18\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk20\r\n ReadOnly\r\n 19\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk21\r\n ReadOnly\r\n 20\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk22\r\n ReadOnly\r\n 21\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk23\r\n ReadOnly\r\n 22\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk24\r\n ReadOnly\r\n 23\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk25\r\n ReadOnly\r\n 24\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk26\r\n ReadOnly\r\n 25\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk27\r\n ReadOnly\r\n 26\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk28\r\n ReadOnly\r\n 27\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk29\r\n None\r\n 28\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk30\r\n None\r\n 29\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk31\r\n None\r\n 30\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n true\r\n Microsoft SQL Server Group\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.03\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.03-os-2015-07-21\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-21T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.03\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.03-os-2015-07-21\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-21T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06-datadisk-0-2015-03-18\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04-datadisk-0-2015-07-22\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05-datadisk-0-2015-07-23\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.06-datadisk-0-2015-03-18\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.04-datadisk-0-2015-07-22\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.05-datadisk-0-2015-07-23\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "165223" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "8db863ff16e8c8d58b7d9eeb2457087b" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:55 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8db863ff16e8c8d58b7d9eeb2457087b", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhkYjg2M2ZmMTZlOGM4ZDU4YjdkOWVlYjI0NTcwODdi", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n 8db863ff-16e8-c8d5-8b7d-9eeb2457087b\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": [ - "438ca5c7e5d6c78c9bc135b6a3e48e2f" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:55 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXM=", - "RequestMethod": "POST", - "RequestBody": "\r\n pstestonesdk2888\r\n \r\n \r\n East US\r\n Standard_GRS\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "358" - ], - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "", - "ResponseHeaders": { - "Content-Length": [ - "0" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "2bd9741b3c75c883941ac33a461c2a89" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:57 GMT" - ], - "Location": [ - "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/storage/pstestonesdk2888" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/2bd9741b3c75c883941ac33a461c2a89", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzJiZDk3NDFiM2M3NWM4ODM5NDFhYzMzYTQ2MWMyYTg5", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n 2bd9741b-3c75-c883-941a-c33a461c2a89\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "00b6f3295daac6f19b906f24acb9a6f8" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:17:57 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/2bd9741b3c75c883941ac33a461c2a89", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzJiZDk3NDFiM2M3NWM4ODM5NDFhYzMzYTQ2MWMyYTg5", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n 2bd9741b-3c75-c883-941a-c33a461c2a89\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": [ - "e3e445927c52c68da2e1213ec5fc087d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:28 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", - "RequestMethod": "POST", - "RequestBody": "\r\n pstestonesdk8943\r\n \r\n East US\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "217" - ], - "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": [ - "7f4083bdcfbacb39a7cdf57f68f5d151" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:30 GMT" - ], - "Location": [ - "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/pstestonesdk8943" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 201 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7f4083bdcfbacb39a7cdf57f68f5d151", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdmNDA4M2JkY2ZiYWNiMzlhN2NkZjU3ZjY4ZjVkMTUx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n 7f4083bd-cfba-cb39-a7cd-f57f68f5d151\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": [ - "aaee69a448acc068a149adc35976f764" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "c7ba79215294ce06a306b0ed1b9aeb9d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "3506a9134d82c226a7f0f97d63a89d25" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:34 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Stopped\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n Stopped\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:20:29Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4944" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "8c334c5203b5cfa0a5202071f747d365" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:20:45Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4946" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "a550a195e410cbd4a0e7dcedebf404f7" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:44 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:20:45Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4946" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5d9b13e27eefc6e2b937900ffe1de58e" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:48 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:22:56Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4946" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "34304de23b89c97b8a347ad0c73615ee" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:56 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:22:56Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4946" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "c23a302b620ac6a1aaf69c38c359c6c6" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:58 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:25:51Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4922" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "d0f1e956e740c4b998fc223537ee0997" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:02 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:26:07Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4922" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "15ec5285b076c72684f226dd6a5cde0c" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:07 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:28:41Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4922" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "eb54790b56a9c64281530158ed0c0541" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:43 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:28:41Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4922" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "7286d9d31e9ec2348823eaf456c0cf13" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:45 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "2d71a4ae810cc314a75a20435dca621b" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "75e23c235298c8ed877572a543dd3b15" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:34 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "0e56934d495cc19d9d6b899f7440ea7a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5b8620654ae6c0299a6c62388533e21d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:44 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "4fabb5578da7c83ca296893c8ec4c83f" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:48 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 404 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:22:54Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "5029" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e4b4bbcb90c6cc309167172659bce2f7" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:55 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:22:54Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "5029" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "72f1f49c6239c23fbc89c67b561ff273" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:58 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n RoleStateUnknown\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n RoleStateUnknown\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:26:04Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "5039" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "76b3fe729c1bc9b88fc16ea610cc4387" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:04 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n RoleStateUnknown\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n RoleStateUnknown\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:26:04Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "5039" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "0cc28e3b3a45c97f852d2a650211a668" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:05 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:28:42Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4933" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "d462ead5c3acc12ba49054e97d8201c4" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:43 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:29:10Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
", - "ResponseHeaders": { - "Content-Length": [ - "4933" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "f5379c9d3003c8f2a1547e7498a2d2f1" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:17 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888/keys", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OC9rZXlz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n \r\n vrYVQG4GGj+bjryxRkSH+ChPavffNxFzTmL6r+uDdOe5nUqZmc5z004HrTUAdw8TIzLohsKXsUkY2snqE6Cvig==\r\n ENngrzwVFAik3hiSjnjk5BHaKWnHWXqHRTH1Oe+u4tHw7WIDlLNiPjUbLU7S2tBhOqq29AaLGdnE4gGgcPF3Mw==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "519" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "65728ef86bd0c9418cc3721d31ce18c0" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:32 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888/keys", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OC9rZXlz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n \r\n vrYVQG4GGj+bjryxRkSH+ChPavffNxFzTmL6r+uDdOe5nUqZmc5z004HrTUAdw8TIzLohsKXsUkY2snqE6Cvig==\r\n ENngrzwVFAik3hiSjnjk5BHaKWnHWXqHRTH1Oe+u4tHw7WIDlLNiPjUbLU7S2tBhOqq29AaLGdnE4gGgcPF3Mw==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "519" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "8f84193fca28c08fb7db2acfca1d031a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:40 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888/keys", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OC9rZXlz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n \r\n vrYVQG4GGj+bjryxRkSH+ChPavffNxFzTmL6r+uDdOe5nUqZmc5z004HrTUAdw8TIzLohsKXsUkY2snqE6Cvig==\r\n ENngrzwVFAik3hiSjnjk5BHaKWnHWXqHRTH1Oe+u4tHw7WIDlLNiPjUbLU7S2tBhOqq29AaLGdnE4gGgcPF3Mw==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "519" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "0fb987517d8dc7eb9687702baa22a545" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:45 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888/keys", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OC9rZXlz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n \r\n vrYVQG4GGj+bjryxRkSH+ChPavffNxFzTmL6r+uDdOe5nUqZmc5z004HrTUAdw8TIzLohsKXsUkY2snqE6Cvig==\r\n ENngrzwVFAik3hiSjnjk5BHaKWnHWXqHRTH1Oe+u4tHw7WIDlLNiPjUbLU7S2tBhOqq29AaLGdnE4gGgcPF3Mw==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "519" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "b7774198812dce888347ef46d622e489" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:53 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n pstestonesdk2888\r\n \r\n \r\n East US\r\n \r\n Created\r\n \r\n https://pstestonesdk2888.blob.core.windows.net/\r\n https://pstestonesdk2888.queue.core.windows.net/\r\n https://pstestonesdk2888.table.core.windows.net/\r\n https://pstestonesdk2888.file.core.windows.net/\r\n \r\n East US\r\n Available\r\n West US\r\n Available\r\n 2015-08-07T08:17:58Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-EastUS\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1358" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "c279fb38173dc121b739da4bd0448295" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:32 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n pstestonesdk2888\r\n \r\n \r\n East US\r\n \r\n Created\r\n \r\n https://pstestonesdk2888.blob.core.windows.net/\r\n https://pstestonesdk2888.queue.core.windows.net/\r\n https://pstestonesdk2888.table.core.windows.net/\r\n https://pstestonesdk2888.file.core.windows.net/\r\n \r\n East US\r\n Available\r\n West US\r\n Available\r\n 2015-08-07T08:17:58Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-EastUS\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1358" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "fda2d3630550c703b09b21a5c5723f2f" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:40 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n pstestonesdk2888\r\n \r\n \r\n East US\r\n \r\n Created\r\n \r\n https://pstestonesdk2888.blob.core.windows.net/\r\n https://pstestonesdk2888.queue.core.windows.net/\r\n https://pstestonesdk2888.table.core.windows.net/\r\n https://pstestonesdk2888.file.core.windows.net/\r\n \r\n East US\r\n Available\r\n West US\r\n Available\r\n 2015-08-07T08:17:58Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-EastUS\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1358" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "5f13f10d776fc9efb7bac60745badf51" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:46 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMjg4OA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" - ] - }, - "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk2888\r\n pstestonesdk2888\r\n \r\n \r\n East US\r\n \r\n Created\r\n \r\n https://pstestonesdk2888.blob.core.windows.net/\r\n https://pstestonesdk2888.queue.core.windows.net/\r\n https://pstestonesdk2888.table.core.windows.net/\r\n https://pstestonesdk2888.file.core.windows.net/\r\n \r\n East US\r\n Available\r\n West US\r\n Available\r\n 2015-08-07T08:17:58Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-EastUS\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1358" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "x-ms-request-id": [ - "fd8292e6bb03c0dc95a2eed32692728a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:53 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "", - "ResponseHeaders": { - "Content-Length": [ - "115" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e28837606316c41c8082a5ff1b30eee0" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:34 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1135" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5177b34a10d5c0d89fcaafae87949995" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1135" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "a5adb954a515c1de991f216498b601be" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:48 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "2143" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e17c1f6e6ea9cbe28387e6dfafe37082" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:56 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "2143" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "a884ff0c631fc3629cc9a09ed5c81fe3" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:58 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "2613" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "ea2fa8a4ba20c7f4bde6424bda09b4a0" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:04 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "2613" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "50323f97def8c578b779a8bd2848d1ef" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:07 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Production-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "3615" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "37459673132acd4bbe74b6fa2c601114" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:44 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "", - "ResponseHeaders": { - "Content-Length": [ - "117" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5ad1e2657730c35286a2be52163ff90c" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:35 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "b36752022818cd558ef405fe7945780d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:07 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "0071ba13eddcc2ca91a4146eda552acf" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:48 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "8f148308b98ac4aebc12c648574ee3bf" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:20 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "47be62851b3dcdc9b8d03b03f9cd4e3a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:58 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "2d7d364a39dbcf0bb30445a476371831" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:08 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2NlcnRpZmljYXRlcw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/certificates/sha1-84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQGaL29ZOKQoZIsh/42WSP/zANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwODA3MDgxODM4WhcNMjAwODA3MDgxODM4WjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD3oAxt0vLPYG/mcjG7jt35sr+d+I5KQqE4Lid2CUGg131g6ZynQwI3Fjy0I5FLKVxziYstYd8f/Jt7X/PyirTxSDa8hXMlY1qDhhAzcHUnCP297gUcb0UpZq//p9XzZIa3f5dYgYbSrij9AMT+uT3yZrErv4w8Tkmxc1tr5lAZlRV6s3P08H0sjFxLx6PdLz7WaMiDrOK3ePGPMPQ3V+oL0v4kMOQYtrBr7m8wiAzcB30tU5r0MUFd5oNWNxUAW367lo59ciEv9j0YTEDVw9K0ROBwhQYOoP9GfMsI2aKNHL+ZrNfIIdwxZ81I251iX+nCZR8CIifo9NSIuGDFuqRLAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAFHfhD80p+xfsCS9x1CTaIqkr30NvzZP7cNZSoayQIezEFobNzFXvYngqdwDzoV6SUN2Ar+isxBl605pTxjbxOExa+kc9s0McIdJYUyljXAQQFs24zCUhXs9SpeOuVBF6DcqogMx0Hy2dymoguSwnuP34ARPVk5xJa3NPwGTlY4XfQ/folRozo16Vg8eRN4lns4VO0CVHuovpvc9oq9oAtY82UAGBliRlj/D5gArporqBwA7M0klmfPL/1IcbDx6Qi9YKRI7YRKwlciTcIGDsWRvITSXE6Q6JfdS0eo05cPYKoQLB08FCZ3w4S/gHY7bPTiXrpGzPma8ZqsIWIVjCtg=\r\n \r\n", - "ResponseHeaders": { - "Content-Length": [ - "1532" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "3770955876f6c58295e326a242450dd6" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:39 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n \r\n \r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "784" - ], - "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": [ - "c86eca496911cd19a818af4a65ba5f64" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:35 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n \r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MTwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "974" - ], - "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": [ - "4096ff8eddcccfb4b24e7f4ceb8a54cf" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:07 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Staging-Ext-0\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "828" - ], - "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": [ - "36540583de93c27fbe858e003a5167f3" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:49 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MjwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "1018" - ], - "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": [ - "ad65d9e4c73bce2bb02049c8899058af" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:21 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WorkerRole1-RDP-Production-Ext-0\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "831" - ], - "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": [ - "74ebf88e67cec2398bb816820948357a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:59 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Staging-Ext-0\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDgtMDc8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "825" - ], - "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": [ - "4816be5406b9c53b9c32dcf950c47c62" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:09 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/extensions", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2V4dGVuc2lvbnM=", - "RequestMethod": "POST", - "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Staging-Ext-0\r\n 84D39D5CFDE8D0ECE3BBECF6D734DC21CA4252CA\r\n sha1\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MTwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "1015" - ], - "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": [ - "d5dd7f087626c684b7690319bcbbbefa" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:40 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/c86eca496911cd19a818af4a65ba5f64", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2M4NmVjYTQ5NjkxMWNkMTlhODE4YWY0YTY1YmE1ZjY0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n c86eca49-6911-cd19-a818-af4a65ba5f64\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5b6554e1de1ec1c6bd99bc945a0624fe" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:18:36 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/c86eca496911cd19a818af4a65ba5f64", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2M4NmVjYTQ5NjkxMWNkMTlhODE4YWY0YTY1YmE1ZjY0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n c86eca49-6911-cd19-a818-af4a65ba5f64\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "bcba7c165f55c7bc90c636e0cb9eab0b" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:06 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4096ff8eddcccfb4b24e7f4ceb8a54cf", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwOTZmZjhlZGRjY2NmYjRiMjRlN2Y0Y2ViOGE1NGNm", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 4096ff8e-ddcc-cfb4-b24e-7f4ceb8a54cf\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "a0e1d46d71cfcd9ba9707eac0a2da37d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:07 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4096ff8eddcccfb4b24e7f4ceb8a54cf", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwOTZmZjhlZGRjY2NmYjRiMjRlN2Y0Y2ViOGE1NGNm", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 4096ff8e-ddcc-cfb4-b24e-7f4ceb8a54cf\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "9938c23a707bc64386d59d24ed939d38" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:38 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", - "RequestMethod": "POST", - "RequestBody": "\r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n https://pstestonesdk2888.blob.core.windows.net/mydeployments/20150807_081833_OneWebOneWorker.cspkg\r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n true\r\n false\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "2348" - ], - "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": [ - "8b8592598dc6ce3f8660787d9dc08538" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:38 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8b8592598dc6ce3f8660787d9dc08538", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhiODU5MjU5OGRjNmNlM2Y4NjYwNzg3ZDlkYzA4NTM4", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 8b859259-8dc6-ce3f-8660-787d9dc08538\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "6f735b993286cf529e6d39278bf2a4a2" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:19:39 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8b8592598dc6ce3f8660787d9dc08538", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhiODU5MjU5OGRjNmNlM2Y4NjYwNzg3ZDlkYzA4NTM4", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 8b859259-8dc6-ce3f-8660-787d9dc08538\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "524fbfe47a24ccbfb26c637c2285bddc" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:09 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8b8592598dc6ce3f8660787d9dc08538", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhiODU5MjU5OGRjNmNlM2Y4NjYwNzg3ZDlkYzA4NTM4", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 8b859259-8dc6-ce3f-8660-787d9dc08538\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "3a00b1f55c7ec46f8acc765cf3d5030e" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:39 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8943", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazg5NDM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "242" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "3317c13a0eb0c3b0b45b44d3cf24421b" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:41 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8943", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazg5NDM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "242" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "04f7e04937eaced9b93ec03439658310" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:55 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8943", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazg5NDM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "242" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "1aed0ec50cb3cc4da3bf3bb0610cc9a9" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:02 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8943", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazg5NDM=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", - "ResponseHeaders": { - "Content-Length": [ - "242" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "d38b43068ab1cf2c8c79c76ab0504930" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:43 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/5177b34a10d5c0d89fcaafae87949995", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzUxNzdiMzRhMTBkNWMwZDg5ZmNhYWZhZTg3OTQ5OTk1", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n 5177b34a-10d5-c0d8-9fca-afae87949995\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": [ - "c0f6f265b7d3caa4b2eff43e13fe45f0" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/36540583de93c27fbe858e003a5167f3", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM2NTQwNTgzZGU5M2MyN2ZiZTg1OGUwMDNhNTE2N2Yz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 36540583-de93-c27f-be85-8e003a5167f3\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "63e512d87994cc0b8722efa24fa0d11d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:20:49 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/36540583de93c27fbe858e003a5167f3", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM2NTQwNTgzZGU5M2MyN2ZiZTg1OGUwMDNhNTE2N2Yz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 36540583-de93-c27f-be85-8e003a5167f3\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "3c51145b8a86c4dfbe12faacc53b9b46" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:19 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ad65d9e4c73bce2bb02049c8899058af", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2FkNjVkOWU0YzczYmNlMmJiMDIwNDljODg5OTA1OGFm", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ad65d9e4-c73b-ce2b-b020-49c8899058af\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "64b20568b9d7c5fcbcd86302bf08dbf8" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:21 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ad65d9e4c73bce2bb02049c8899058af", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2FkNjVkOWU0YzczYmNlMmJiMDIwNDljODg5OTA1OGFm", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n ad65d9e4-c73b-ce2b-b020-49c8899058af\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "1713945f6e59cc818fe7e5454fd5e2d5" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:51 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", - "RequestMethod": "POST", - "RequestBody": "\r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n https://pstestonesdk2888.blob.core.windows.net/mydeployments/20150807_082046_OneWebOneWorker.cspkg\r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n true\r\n false\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Staging-Ext-0\r\n \r\n \r\n WorkerRole1-ADDomain-Staging-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "2351" - ], - "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": [ - "fcc44ed3e131cc489bd603a3d03ba786" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:52 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fcc44ed3e131cc489bd603a3d03ba786", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZjYzQ0ZWQzZTEzMWNjNDg5YmQ2MDNhM2QwM2JhNzg2", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n fcc44ed3-e131-cc48-9bd6-03a3d03ba786\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "5289c722b80cc144b2bedcefb2598bc4" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:21:52 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fcc44ed3e131cc489bd603a3d03ba786", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZjYzQ0ZWQzZTEzMWNjNDg5YmQ2MDNhM2QwM2JhNzg2", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n fcc44ed3-e131-cc48-9bd6-03a3d03ba786\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "b822d6ffb967c441914f54bee27ae6a0" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:22 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fcc44ed3e131cc489bd603a3d03ba786", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZjYzQ0ZWQzZTEzMWNjNDg5YmQ2MDNhM2QwM2JhNzg2", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n fcc44ed3-e131-cc48-9bd6-03a3d03ba786\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "171fc9121dfcc369996561c93cdd6e30" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:53 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/e17c1f6e6ea9cbe28387e6dfafe37082", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2UxN2MxZjZlNmVhOWNiZTI4Mzg3ZTZkZmFmZTM3MDgy", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n e17c1f6e-6ea9-cbe2-8387-e6dfafe37082\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": [ - "684c16c54ed1c463888f9be3ca438a18" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:22:57 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/74ebf88e67cec2398bb816820948357a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzc0ZWJmODhlNjdjZWMyMzk4YmI4MTY4MjA5NDgzNTdh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 74ebf88e-67ce-c239-8bb8-16820948357a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "1dd14d59edc6c252acc10ed1d0208770" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:23:00 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/74ebf88e67cec2398bb816820948357a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzc0ZWJmODhlNjdjZWMyMzk4YmI4MTY4MjA5NDgzNTdh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 74ebf88e-67ce-c239-8bb8-16820948357a\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "09cfe4d17cb0c62b9135bec49b0652fb" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:23:30 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Production/?comp=config", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9uLz9jb21wPWNvbmZpZw==", - "RequestMethod": "POST", - "RequestBody": "\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "1936" - ], - "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": [ - "732760104768c7c5a99adc6799f7ff0a" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:23:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "72fd86d1a672cf45bf2a66cca30735dc" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:23:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "67f96e12126bcb6ea9ece3ec989bf045" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:24:00 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "fe79acafd06dc77ca15f57b6f87c845d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:24:30 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "ecfc56ff5634cc0981f5cd8a02fc75b5" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:25:01 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "08040cfafcefc25294e23b4b54937222" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:25:31 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/732760104768c7c5a99adc6799f7ff0a", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzczMjc2MDEwNDc2OGM3YzVhOTlhZGM2Nzk5ZjdmZjBh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 73276010-4768-c7c5-a99a-dc6799f7ff0a\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "0940092188e1c447b57dcd654d67efa5" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:02 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ea2fa8a4ba20c7f4bde6424bda09b4a0", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2VhMmZhOGE0YmEyMGM3ZjRiZGU2NDI0YmRhMDliNGEw", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n ea2fa8a4-ba20-c7f4-bde6-424bda09b4a0\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": [ - "49704b8d14b3c8a993f55a8647b9d5ad" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:04 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4816be5406b9c53b9c32dcf950c47c62", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQ4MTZiZTU0MDZiOWM1M2I5YzMyZGNmOTUwYzQ3YzYy", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 4816be54-06b9-c53b-9c32-dcf950c47c62\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "328e202e1c76cdc19b714ce0839006f6" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:09 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4816be5406b9c53b9c32dcf950c47c62", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQ4MTZiZTU0MDZiOWM1M2I5YzMyZGNmOTUwYzQ3YzYy", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 4816be54-06b9-c53b-9c32-dcf950c47c62\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "b4a6ee7ef13ac904a8ee72cad4354e08" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:39 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/d5dd7f087626c684b7690319bcbbbefa", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2Q1ZGQ3ZjA4NzYyNmM2ODRiNzY5MDMxOWJjYmJiZWZh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n d5dd7f08-7626-c684-b769-0319bcbbbefa\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "7ffda987bde1c141abec524c7d45d057" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:26:41 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/d5dd7f087626c684b7690319bcbbbefa", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2Q1ZGQ3ZjA4NzYyNmM2ODRiNzY5MDMxOWJjYmJiZWZh", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n d5dd7f08-7626-c684-b769-0319bcbbbefa\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "ab6384a5793cc8c6a89ed7a07efd5b2d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:27:11 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deploymentslots/Staging/?comp=config", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzbG90cy9TdGFnaW5nLz9jb21wPWNvbmZpZw==", - "RequestMethod": "POST", - "RequestBody": "\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", - "RequestHeaders": { - "Content-Type": [ - "application/xml" - ], - "Content-Length": [ - "2028" - ], - "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": [ - "32ef1b183a40c1a3b41ab4e088fdc3e7" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:27:11 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/32ef1b183a40c1a3b41ab4e088fdc3e7", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzMyZWYxYjE4M2E0MGMxYTNiNDFhYjRlMDg4ZmRjM2U3", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 32ef1b18-3a40-c1a3-b41a-b4e088fdc3e7\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "9b47ccdb964ace0aa93aa95c19b584d9" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:27:11 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/32ef1b183a40c1a3b41ab4e088fdc3e7", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzMyZWYxYjE4M2E0MGMxYTNiNDFhYjRlMDg4ZmRjM2U3", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 32ef1b18-3a40-c1a3-b41a-b4e088fdc3e7\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e85dc4ec7bd8c9308ce86344c183e3ee" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:27:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/32ef1b183a40c1a3b41ab4e088fdc3e7", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzMyZWYxYjE4M2E0MGMxYTNiNDFhYjRlMDg4ZmRjM2U3", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 32ef1b18-3a40-c1a3-b41a-b4e088fdc3e7\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e1fc3ef0dd70c929bfd6516ca312c732" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:12 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/32ef1b183a40c1a3b41ab4e088fdc3e7", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzMyZWYxYjE4M2E0MGMxYTNiNDFhYjRlMDg4ZmRjM2U3", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 32ef1b18-3a40-c1a3-b41a-b4e088fdc3e7\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "8dda41519fa1cab0b4650de4707b87f8" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:42 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/37459673132acd4bbe74b6fa2c601114", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM3NDU5NjczMTMyYWNkNGJiZTc0YjZmYTJjNjAxMTE0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2014-10-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" - ] - }, - "ResponseBody": "\r\n 37459673-132a-cd4b-be74-b6fa2c601114\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": [ - "eeaafefc03b3c95a829818a50c9290df" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:44 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943?embed-detail=true", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzP2VtYmVkLWRldGFpbD10cnVl", - "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/pstestonesdk8943\r\n pstestonesdk8943\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-08-07T08:18:30Z\r\n 2015-08-07T08:21:52Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8943\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n \r\n \r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:28:42Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
\r\n \r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:28:41Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", - "ResponseHeaders": { - "Content-Length": [ - "10474" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "f5182bdbc8c3c3ce943c6144cd867550" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:45 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943?embed-detail=true", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzP2VtYmVkLWRldGFpbD10cnVl", - "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/pstestonesdk8943\r\n pstestonesdk8943\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-08-07T08:18:30Z\r\n 2015-08-07T08:21:52Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8943\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n \r\n \r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:28:42Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
\r\n \r\n cdf34a4c-363c-41ba-9274-0a1d859d3b88\r\n Production\r\n 50ecf2507df146d7bc966ccef242671a\r\n Running\r\n \r\n http://pstestonesdk8943.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.106.56\r\n \r\n \r\n Endpoint1\r\n 137.135.102.129\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.84.95\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 137.135.102.129\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 137.135.102.129\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:19:38Z\r\n 2015-08-07T08:28:41Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n \r\n \r\n WorkerRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
137.135.102.129
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", - "ResponseHeaders": { - "Content-Length": [ - "10474" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "48663ca72a80c0b2a2e68ced97b7f360" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:45 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943?embed-detail=true", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzP2VtYmVkLWRldGFpbD10cnVl", - "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/pstestonesdk8943\r\n pstestonesdk8943\r\n \r\n \r\n East US\r\n \r\n Created\r\n 2015-08-07T08:18:30Z\r\n 2015-08-07T08:21:52Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8943\r\n \r\n \r\n ResourceLocation\r\n East US\r\n \r\n \r\n \r\n \r\n \r\n 22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673\r\n Staging\r\n 3bd64017875c48249b23071ed5c92166\r\n Running\r\n \r\n http://3bd64017875c48249b23071ed5c92166.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iT25lV2ViT25lV29ya2VyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iMiIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDEyLTEwLjEuOCI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJXb3JrZXJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+PC9TZXJ2aWNlQ29uZmlndXJhdGlvbj4=\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.112.97\r\n \r\n \r\n Endpoint1\r\n 191.237.79.214\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 191.237.79.214\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WorkerRole1\r\n WorkerRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.117.80.26\r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 191.237.79.214\r\n OneWebOneWorkerContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WorkerRole1\r\n WA-GUEST-OS-2.41_201507-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n 1.8.31004.1351\r\n false\r\n false\r\n 2015-08-07T08:21:52Z\r\n 2015-08-07T08:29:10Z\r\n \r\n \r\n 2015-08-04T15:59:24Z\r\n 2015-08-08T15:59:24Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
191.237.79.214
\r\n true\r\n OneWebOneWorkerContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", - "ResponseHeaders": { - "Content-Length": [ - "5654" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e8e3ad07a51ac4bb8dd7442e2327fbb8" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:17 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deployments/cdf34a4c-363c-41ba-9274-0a1d859d3b88", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzL2NkZjM0YTRjLTM2M2MtNDFiYS05Mjc0LTBhMWQ4NTlkM2I4OA==", - "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": [ - "fe5963e7951ec1999771e05486e0b868" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:46 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fe5963e7951ec1999771e05486e0b868", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZlNTk2M2U3OTUxZWMxOTk5NzcxZTA1NDg2ZTBiODY4", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n fe5963e7-951e-c199-9771-e05486e0b868\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "c91bb1ea8ea5c7909020374a41f3b105" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:28:46 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fe5963e7951ec1999771e05486e0b868", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZlNTk2M2U3OTUxZWMxOTk5NzcxZTA1NDg2ZTBiODY4", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n fe5963e7-951e-c199-9771-e05486e0b868\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "cd38b4fc7b71c77eabb177dc6d386707" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:16 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943/deployments/22ecff5c-b93a-4dd0-bed4-f7cbcfe9f673", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQzL2RlcGxveW1lbnRzLzIyZWNmZjVjLWI5M2EtNGRkMC1iZWQ0LWY3Y2JjZmU5ZjY3Mw==", - "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": [ - "16c3fdb62aa6ca9994ed0350c49cbf7d" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:17 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 202 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/16c3fdb62aa6ca9994ed0350c49cbf7d", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzE2YzNmZGI2MmFhNmNhOTk5NGVkMDM1MGM0OWNiZjdk", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 16c3fdb6-2aa6-ca99-94ed-0350c49cbf7d\r\n InProgress\r\n", - "ResponseHeaders": { - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "eb1c941501d5c76bb1da571a70bd35a5" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:17 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/16c3fdb62aa6ca9994ed0350c49cbf7d", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzE2YzNmZGI2MmFhNmNhOTk5NGVkMDM1MGM0OWNiZjdk", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-version": [ - "2015-04-01" - ], - "User-Agent": [ - "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" - ] - }, - "ResponseBody": "\r\n 16c3fdb6-2aa6-ca99-94ed-0350c49cbf7d\r\n Succeeded\r\n 200\r\n", - "ResponseHeaders": { - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/xml; charset=utf-8" - ], - "x-ms-servedbyregion": [ - "ussouth3" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "x-ms-request-id": [ - "e4304f46dec2ca548acf2bf01829b7e7" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:48 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - }, - { - "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8943", - "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4OTQz", - "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": [ - "51607a2b3231c3aba01102aa7683c3b9" - ], - "Cache-Control": [ - "no-cache" - ], - "Date": [ - "Fri, 07 Aug 2015 08:29:49 GMT" - ], - "Server": [ - "1.0.6198.253", - "(rd_rdfe_stable.150804-1019)", - "Microsoft-HTTPAPI/2.0" - ] - }, - "StatusCode": 200 - } - ], - "Names": { - "": [ - "onesdk2888", - "onesdk8943" - ] - }, - "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 0a021c9182e4..7e37ef305660 100644 --- a/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj +++ b/src/Common/Commands.ScenarioTests.Common/Commands.ScenarioTests.Common.csproj @@ -1,6 +1,6 @@  - + Debug @@ -14,7 +14,7 @@ 512 ..\..\ true - f522df7f + 3c43a8cf true @@ -47,7 +47,7 @@
False - ..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -57,10 +57,10 @@ ..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -86,6 +86,7 @@ ..\..\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 @@ -119,11 +120,18 @@ - + ..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True + + @@ -132,8 +140,10 @@ + + @@ -157,13 +167,9 @@ 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}.
- + - - - - diff --git a/src/Common/Commands.ScenarioTests.Common/EnvironmentSetupHelper.cs b/src/Common/Commands.ScenarioTests.Common/EnvironmentSetupHelper.cs index e217c1044489..03e16d6c5363 100644 --- a/src/Common/Commands.ScenarioTests.Common/EnvironmentSetupHelper.cs +++ b/src/Common/Commands.ScenarioTests.Common/EnvironmentSetupHelper.cs @@ -50,8 +50,8 @@ public EnvironmentSetupHelper() { var datastore = new MemoryDataStore(); AzureSession.DataStore = datastore; - var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); - AzurePSCmdlet.CurrentProfile = profile; + var profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + AzureSMCmdlet.CurrentProfile = profile; AzureSession.DataStore = datastore; ProfileClient = new ProfileClient(profile); @@ -266,7 +266,7 @@ public virtual Collection RunPowerShellTest(params string[] scripts) { using (var powershell = System.Management.Automation.PowerShell.Create()) { - SetupPowerShellModules(powershell); + SetupPowerShellModules(powershell); Collection output = null; for (int i = 0; i < scripts.Length; ++i) @@ -276,7 +276,8 @@ public virtual Collection RunPowerShellTest(params string[] scripts) } try { - output = powershell.Invoke(); + powershell.Runspace.Events.Subscribers.Clear(); + output = powershell.Invoke(); if (powershell.Streams.Error.Count > 0) { @@ -294,6 +295,7 @@ public virtual Collection RunPowerShellTest(params string[] scripts) finally { powershell.LogPowerShellResults(output); + powershell.Streams.Error.Clear(); } } } @@ -313,5 +315,6 @@ private void SetupPowerShellModules(System.Management.Automation.PowerShell powe 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.Common/Mocks/MockCertificateAuthenticationFactory.cs b/src/Common/Commands.ScenarioTests.Common/Mocks/MockCertificateAuthenticationFactory.cs index c7c09d774760..e8016b59a4f6 100644 --- a/src/Common/Commands.ScenarioTests.Common/Mocks/MockCertificateAuthenticationFactory.cs +++ b/src/Common/Commands.ScenarioTests.Common/Mocks/MockCertificateAuthenticationFactory.cs @@ -34,7 +34,13 @@ public MockCertificateAuthenticationFactory(string userId, X509Certificate2 cert Certificate = certificate; } - public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environment, string tenant, SecureString password, ShowDialog promptBehavior, + public IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + IdentityModel.Clients.ActiveDirectory.TokenCache tokenCache, AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) { if (account.Id == null) @@ -52,6 +58,17 @@ public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environm return token; } + public IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + return Authenticate(account, environment, tenant, password, promptBehavior, AzureSession.TokenCache, resourceId); + } + public SubscriptionCloudCredentials GetSubscriptionCloudCredentials(AzureContext context) { return new CertificateCloudCredentials(context.Subscription.Id.ToString(), Certificate); diff --git a/src/Common/Commands.ScenarioTests.Common/Mocks/MockClientFactory.cs b/src/Common/Commands.ScenarioTests.Common/Mocks/MockClientFactory.cs index acbb1c4247b7..245081ed4d22 100644 --- a/src/Common/Commands.ScenarioTests.Common/Mocks/MockClientFactory.cs +++ b/src/Common/Commands.ScenarioTests.Common/Mocks/MockClientFactory.cs @@ -36,6 +36,8 @@ 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) @@ -55,12 +57,12 @@ public TClient CreateClient(AzureContext context, AzureEnvironment.Endp return client; } - public TClient CreateClient(AzureProfile profile, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + public TClient CreateClient(AzureSMProfile profile, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient { return CreateClient(profile, profile.Context.Subscription, endpoint); } - public TClient CreateClient(AzureProfile profile, AzureSubscription subscription, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient + public TClient CreateClient(AzureSMProfile profile, AzureSubscription subscription, AzureEnvironment.Endpoint endpoint) where TClient : ServiceClient { if (subscription == null) { @@ -69,7 +71,7 @@ public TClient CreateClient(AzureProfile profile, AzureSubscription sub if (profile == null) { - profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); } SubscriptionCloudCredentials creds = new TokenCloudCredentials(subscription.Id.ToString(), "fake_token"); @@ -112,10 +114,13 @@ public TClient CreateCustomClient(params object[] parameters) where TCl } else { - // 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()); + 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; @@ -160,7 +165,6 @@ public void RemoveAction(Type actionType) // Do nothing } - public void AddUserAgent(string productName, string productVersion) { throw new NotImplementedException(); @@ -185,7 +189,6 @@ protected override Task SendAsync(HttpRequestMessage reques } } - public TClient CreateArmClient(AzureContext context, AzureEnvironment.Endpoint endpoint) where TClient : Rest.ServiceClient { Debug.Assert(context != null); diff --git a/src/Common/Commands.Common.Test/Mocks/MockCommandRuntime.cs b/src/Common/Commands.ScenarioTests.Common/Mocks/MockCommandRuntime.cs similarity index 100% rename from src/Common/Commands.Common.Test/Mocks/MockCommandRuntime.cs rename to src/Common/Commands.ScenarioTests.Common/Mocks/MockCommandRuntime.cs diff --git a/src/Common/Commands.ScenarioTests.Common/Mocks/MockTokenAuthenticationFactory.cs b/src/Common/Commands.ScenarioTests.Common/Mocks/MockTokenAuthenticationFactory.cs index da7012921bfe..17da1171b4fd 100644 --- a/src/Common/Commands.ScenarioTests.Common/Mocks/MockTokenAuthenticationFactory.cs +++ b/src/Common/Commands.ScenarioTests.Common/Mocks/MockTokenAuthenticationFactory.cs @@ -56,7 +56,13 @@ public MockTokenAuthenticationFactory(string userId, string accessToken) TokenProvider = ((account, environment, tenant) => Token); } - public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environment, string tenant, SecureString password, ShowDialog promptBehavior, + public IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + IdentityModel.Clients.ActiveDirectory.TokenCache tokenCache, AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) { if (account.Id == null) @@ -78,6 +84,16 @@ public IAccessToken Authenticate(AzureAccount account, AzureEnvironment environm return TokenProvider(account, environment, tenant); } } + public IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + return Authenticate(account, environment, tenant, password, promptBehavior, AzureSession.TokenCache, resourceId); + } public SubscriptionCloudCredentials GetSubscriptionCloudCredentials(AzureContext context) { diff --git a/src/Common/Commands.ScenarioTests.Common/PSCmdletExtensions.cs b/src/Common/Commands.ScenarioTests.Common/PSCmdletExtensions.cs new file mode 100644 index 000000000000..90623209d3d9 --- /dev/null +++ b/src/Common/Commands.ScenarioTests.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.Common/PermissiveRecordMatcherWithApiExclusion.cs b/src/Common/Commands.ScenarioTests.Common/PermissiveRecordMatcherWithApiExclusion.cs new file mode 100644 index 000000000000..d2288d2ba61c --- /dev/null +++ b/src/Common/Commands.ScenarioTests.Common/PermissiveRecordMatcherWithApiExclusion.cs @@ -0,0 +1,98 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Text; +using System.Text.RegularExpressions; +using Microsoft.Azure.Test.HttpRecorder; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + public class PermissiveRecordMatcherWithApiExclusion : IRecordMatcher + { + private bool _ignoreGenericResource; + private Dictionary _providersToIgnore; + + public PermissiveRecordMatcherWithApiExclusion(bool ignoreResourcesClient, Dictionary providers) + { + _ignoreGenericResource = ignoreResourcesClient; + _providersToIgnore = providers; + } + + public string GetMatchingKey(System.Net.Http.HttpRequestMessage request) + { + var path = request.RequestUri.PathAndQuery; + if (path.Contains("?&")) + { + path = path.Replace("?&", "?"); + } + + string version; + if (ContainsIgnoredProvider(path, out version)) + { + path = RemoveApiVersion(path, version); + } + + 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("?&", "?"); + + string version; + if (ContainsIgnoredProvider(updatedPath, out version)) + { + updatedPath = RemoveApiVersion(updatedPath, version); + } + + encodedPath = Convert.ToBase64String(Encoding.UTF8.GetBytes(updatedPath)); + } + + return string.Format("{0} {1}", recordEntry.RequestMethod, encodedPath); + } + + private bool ContainsIgnoredProvider(string requestUri, out string version) + { + if (_ignoreGenericResource && !requestUri.Contains("providers")) + { + version = String.Empty; + return true; + } + + foreach (var provider in _providersToIgnore) + { + var providerString = string.Format("providers/{0}", provider.Key); + if (requestUri.Contains(providerString)) + { + version = provider.Value; + return true; + } + } + + version = string.Empty; + return false; + } + + private string RemoveApiVersion(string requestUri, string version) + { + return Regex.Replace(requestUri, @"\?api-version=[^&]+", string.Format("?api-version={0}", version)); + } + } +} diff --git a/src/Common/Commands.ScenarioTests.Common/Properties/AssemblyInfo.cs b/src/Common/Commands.ScenarioTests.Common/Properties/AssemblyInfo.cs index eeda9de2a6f0..98d020782545 100644 --- a/src/Common/Commands.ScenarioTests.Common/Properties/AssemblyInfo.cs +++ b/src/Common/Commands.ScenarioTests.Common/Properties/AssemblyInfo.cs @@ -1,5 +1,6 @@ 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 diff --git a/src/Common/Commands.Common.Test/Common/TestBase.cs b/src/Common/Commands.ScenarioTests.Common/SMTestBase.cs similarity index 90% rename from src/Common/Commands.Common.Test/Common/TestBase.cs rename to src/Common/Commands.ScenarioTests.Common/SMTestBase.cs index 43a07128d224..8fe3e7a69d2c 100644 --- a/src/Common/Commands.Common.Test/Common/TestBase.cs +++ b/src/Common/Commands.ScenarioTests.Common/SMTestBase.cs @@ -15,22 +15,20 @@ using System; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Microsoft.WindowsAzure.Commands.Common; using Microsoft.Azure.Common.Authentication.Models; using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; -using Microsoft.WindowsAzure.Commands.Utilities.Common; using Microsoft.Azure.Common.Authentication; namespace Microsoft.WindowsAzure.Commands.Test.Utilities.Common { /// - /// Base class for Microsoft Azure PowerShell unit tests. + /// Base class for Microsoft Azure PowerShell Service Management unit tests. /// - public abstract class TestBase + public abstract class SMTestBase { - protected AzureProfile currentProfile; + protected AzureSMProfile currentProfile; - public TestBase() + public SMTestBase() { BaseSetup(); } @@ -45,7 +43,7 @@ public void BaseSetup() { AzureSession.DataStore = new MemoryDataStore(); } - currentProfile = new AzureProfile(); + currentProfile = new AzureSMProfile(); if (currentProfile.Context.Subscription == null) { diff --git a/src/Common/Commands.ScenarioTests.Common/packages.config b/src/Common/Commands.ScenarioTests.Common/packages.config index c905cbbbdb5a..942d14ec3068 100644 --- a/src/Common/Commands.ScenarioTests.Common/packages.config +++ b/src/Common/Commands.ScenarioTests.Common/packages.config @@ -2,11 +2,11 @@ - + - - + + @@ -17,5 +17,7 @@ - + + + \ No newline at end of file diff --git a/src/Common/Storage/Azure.Storage.psd1 b/src/Common/Storage/Azure.Storage.psd1 new file mode 100644 index 000000000000..27e92ce5e999 --- /dev/null +++ b/src/Common/Storage/Azure.Storage.psd1 @@ -0,0 +1,96 @@ +# +# Module manifest for module 'Microsoft.WindowsAzure.Commands.Storage' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '00612bca-fa22-401d-a671-9cc48b010e3b' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Storage' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @( + '.\Microsoft.WindowsAzure.Commands.Storage.Types.ps1xml' +) + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.WindowsAzure.Commands.Storage.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.WindowsAzure.Commands.Storage.dll', +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @( + 'Get-AzureRMStorageContainerAcl', + 'Start-CopyAzureStorageBlob', + 'Stop-CopyAzureStorageBlob' +) + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/Commands.Storage.MsTest2.csproj b/src/Common/Storage/Commands.Storage.MsTest2/Commands.Storage.MsTest2.csproj similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/Commands.Storage.MsTest2.csproj rename to src/Common/Storage/Commands.Storage.MsTest2/Commands.Storage.MsTest2.csproj diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/Main.cs b/src/Common/Storage/Commands.Storage.MsTest2/Main.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/Main.cs rename to src/Common/Storage/Commands.Storage.MsTest2/Main.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/Properties/AssemblyInfo.cs b/src/Common/Storage/Commands.Storage.MsTest2/Properties/AssemblyInfo.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/Properties/AssemblyInfo.cs rename to src/Common/Storage/Commands.Storage.MsTest2/Properties/AssemblyInfo.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestClassUnit.cs b/src/Common/Storage/Commands.Storage.MsTest2/TestClassUnit.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestClassUnit.cs rename to src/Common/Storage/Commands.Storage.MsTest2/TestClassUnit.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestContext2.cs b/src/Common/Storage/Commands.Storage.MsTest2/TestContext2.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestContext2.cs rename to src/Common/Storage/Commands.Storage.MsTest2/TestContext2.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestMethodUnit.cs b/src/Common/Storage/Commands.Storage.MsTest2/TestMethodUnit.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTest2/TestMethodUnit.cs rename to src/Common/Storage/Commands.Storage.MsTest2/TestMethodUnit.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ClassConfig.cs b/src/Common/Storage/Commands.Storage.MsTestLib/ClassConfig.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ClassConfig.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/ClassConfig.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Commands.Storage.MsTestLib.csproj b/src/Common/Storage/Commands.Storage.MsTestLib/Commands.Storage.MsTestLib.csproj similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Commands.Storage.MsTestLib.csproj rename to src/Common/Storage/Commands.Storage.MsTestLib/Commands.Storage.MsTestLib.csproj diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ConsoleLogger.cs b/src/Common/Storage/Commands.Storage.MsTestLib/ConsoleLogger.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ConsoleLogger.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/ConsoleLogger.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Exceptions.cs b/src/Common/Storage/Commands.Storage.MsTestLib/Exceptions.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Exceptions.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/Exceptions.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/FileLogger.cs b/src/Common/Storage/Commands.Storage.MsTestLib/FileLogger.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/FileLogger.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/FileLogger.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ILogger.cs b/src/Common/Storage/Commands.Storage.MsTestLib/ILogger.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/ILogger.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/ILogger.cs diff --git a/src/Common/Commands.Common.Test/MSSharedLibKey.snk b/src/Common/Storage/Commands.Storage.MsTestLib/MSSharedLibKey.snk similarity index 100% rename from src/Common/Commands.Common.Test/MSSharedLibKey.snk rename to src/Common/Storage/Commands.Storage.MsTestLib/MSSharedLibKey.snk diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MessageBuilder.cs b/src/Common/Storage/Commands.Storage.MsTestLib/MessageBuilder.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MessageBuilder.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/MessageBuilder.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MethodConfig.cs b/src/Common/Storage/Commands.Storage.MsTestLib/MethodConfig.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MethodConfig.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/MethodConfig.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Properties/AssemblyInfo.cs b/src/Common/Storage/Commands.Storage.MsTestLib/Properties/AssemblyInfo.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Properties/AssemblyInfo.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/Properties/AssemblyInfo.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Test.cs b/src/Common/Storage/Commands.Storage.MsTestLib/Test.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/Test.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/Test.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestConfig.cs b/src/Common/Storage/Commands.Storage.MsTestLib/TestConfig.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestConfig.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/TestConfig.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestHelper.cs b/src/Common/Storage/Commands.Storage.MsTestLib/TestHelper.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestHelper.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/TestHelper.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestLogger.cs b/src/Common/Storage/Commands.Storage.MsTestLib/TestLogger.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/TestLogger.cs rename to src/Common/Storage/Commands.Storage.MsTestLib/TestLogger.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/Agent.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/Agent.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/Agent.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/Agent.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/AssemblyInitCleanup.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/AssemblyInitCleanup.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/AssemblyInitCleanup.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/AssemblyInitCleanup.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/CLICommonBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/CLICommonBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/CLICommonBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/CLICommonBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AnonymousBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AnonymousBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AnonymousBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AnonymousBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEmulatorBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEmulatorBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEmulatorBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEmulatorBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEnvironment.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEnvironment.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEnvironment.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/AzureEnvironment.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/ConnectionStringBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/ConnectionStringBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/ConnectionStringBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/ConnectionStringBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/EnvConnectionStringBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/EnvConnectionStringBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/EnvConnectionStringBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/EnvConnectionStringBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/NameKeyContextBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/NameKeyContextBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/NameKeyContextBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/NameKeyContextBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/SecondaryEndPointBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/SecondaryEndPointBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/SecondaryEndPointBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTP/SecondaryEndPointBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AnonymousBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AnonymousBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AnonymousBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AnonymousBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AzureEnvironment.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AzureEnvironment.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AzureEnvironment.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/AzureEnvironment.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/ConnectionStringBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/ConnectionStringBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/ConnectionStringBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/ConnectionStringBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/EnvConnectionStringBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/EnvConnectionStringBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/EnvConnectionStringBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/EnvConnectionStringBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/NameKeyContextBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/NameKeyContextBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/NameKeyContextBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/NameKeyContextBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SecondaryEndPointBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SecondaryEndPointBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SecondaryEndPointBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SecondaryEndPointBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SubScriptionBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SubScriptionBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SubScriptionBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/HTTPS/SubScriptionBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/StorageBVT.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/BVT/StorageBVT.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/BVT/StorageBVT.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/BVT/StorageBVT.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIBlobFunc.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/CLIBlobFunc.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIBlobFunc.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/CLIBlobFunc.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIContainerFunc.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/CLIContainerFunc.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIContainerFunc.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/CLIContainerFunc.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIContextFunc.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/CLIContextFunc.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIContextFunc.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/CLIContextFunc.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIQueueFunc.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/CLIQueueFunc.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLIQueueFunc.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/CLIQueueFunc.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLITableFunc.cs b/src/Common/Storage/Commands.Storage.ScenarioTest/CLITableFunc.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/CLITableFunc.cs rename to src/Common/Storage/Commands.Storage.ScenarioTest/CLITableFunc.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj b/src/Common/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj similarity index 88% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj rename to src/Common/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj index 39c38bdd72f9..bdd0e1477fc5 100644 --- a/src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj +++ b/src/Common/Storage/Commands.Storage.ScenarioTest/Commands.Storage.ScenarioTest.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -20,7 +20,8 @@ ..\..\..\ true - 97aa8743 + + true @@ -49,8 +50,12 @@ false - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -184,7 +189,7 @@ {c1bda476-a5cc-4394-914d-48b0ec31a710} Commands.ScenarioTests.Common - + {a3965b66-5a3e-4b8c-9574-28e5958d4828} Commands.ScenarioTest @@ -236,15 +241,11 @@ - - - - - + - 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}. + This project references NuGet package(s) that are missing on this computer. Use 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/ServiceManagement/Storage/Commands.Storage.StorageTestLib/Helpers.cs b/src/Common/Storage/Commands.Storage.StorageTestLib/Helpers.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/Helpers.cs rename to src/Common/Storage/Commands.Storage.StorageTestLib/Helpers.cs diff --git a/src/Common/Commands.ScenarioTest/MSSharedLibKey.snk b/src/Common/Storage/Commands.Storage.StorageTestLib/MSSharedLibKey.snk similarity index 100% rename from src/Common/Commands.ScenarioTest/MSSharedLibKey.snk rename to src/Common/Storage/Commands.Storage.StorageTestLib/MSSharedLibKey.snk diff --git a/src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/Properties/AssemblyInfo.cs b/src/Common/Storage/Commands.Storage.StorageTestLib/Properties/AssemblyInfo.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/Properties/AssemblyInfo.cs rename to src/Common/Storage/Commands.Storage.StorageTestLib/Properties/AssemblyInfo.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/TestConstants.cs b/src/Common/Storage/Commands.Storage.StorageTestLib/TestConstants.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/TestConstants.cs rename to src/Common/Storage/Commands.Storage.StorageTestLib/TestConstants.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/packages.config b/src/Common/Storage/Commands.Storage.StorageTestLib/packages.config similarity index 75% rename from src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/packages.config rename to src/Common/Storage/Commands.Storage.StorageTestLib/packages.config index c6e9c879a28b..23ae268ea470 100644 --- a/src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/packages.config +++ b/src/Common/Storage/Commands.Storage.StorageTestLib/packages.config @@ -1,5 +1,6 @@  + @@ -7,5 +8,5 @@ - - + + \ No newline at end of file diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobContentTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobContentTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobContentTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobContentTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageBlobTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageContainerTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageContainerTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageContainerTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/GetAzureStorageContainerTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageBlobSasTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageBlobSasTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageBlobSasTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageBlobSasTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerSasTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerSasTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerSasTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerSasTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/NewAzureStorageContainerTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageBlobTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageBlobTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageBlobTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageBlobTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageContainerTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageContainerTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageContainerTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/RemoveAzureStorageContainerTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageBlobContentTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageBlobContentTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageBlobContentTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageBlobContentTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageContainerAclTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageContainerAclTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageContainerAclTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/Cmdlet/SetAzureStorageContainerAclTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/StorageBlobTestBase.cs b/src/Common/Storage/Commands.Storage.Test/Blob/StorageBlobTestBase.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/StorageBlobTestBase.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/StorageBlobTestBase.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Blob/StorageCloudBlobCmdletBaseTest.cs b/src/Common/Storage/Commands.Storage.Test/Blob/StorageCloudBlobCmdletBaseTest.cs similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Blob/StorageCloudBlobCmdletBaseTest.cs rename to src/Common/Storage/Commands.Storage.Test/Blob/StorageCloudBlobCmdletBaseTest.cs diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj b/src/Common/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj similarity index 90% rename from src/ServiceManagement/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj rename to src/Common/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj index 07028ab67926..d1c662acd1c2 100644 --- a/src/ServiceManagement/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj +++ b/src/Common/Storage/Commands.Storage.Test/Commands.Storage.Test.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -20,7 +20,8 @@ true ..\..\..\ - 14b3fe9f + + true @@ -58,17 +59,21 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -226,10 +231,14 @@ - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test + + {c1bda476-a5cc-4394-914d-48b0ec31a710} + Commands.ScenarioTests.Common + {08cf7da7-0392-4a19-b79b-e1ff67cdb81a} Commands.Storage @@ -269,15 +278,11 @@ - - - - - + - 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}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + - Add-AzureApiManagementApiToProduct + Add-AzureRMApiManagementApiToProduct Adds existing API to existing Product. @@ -18,7 +18,7 @@ - Add-AzureApiManagementApiToProduct + Add-AzureRMApiManagementApiToProduct Context @@ -158,7 +158,7 @@ PS C:\> - Add-AzureApiManagementApiToProduct –Context $apimContext –ProductId 0123456789 –ApiId 0001 + Add-AzureRMApiManagementApiToProduct –Context $apimContext –ProductId 0123456789 –ApiId 0001 Add existing API to an existing Product. @@ -180,7 +180,7 @@ - Add-AzureApiManagementProductToGroup + Add-AzureRMApiManagementProductToGroup Adds existing product to existing group. In other words assigns a group to a product. @@ -196,7 +196,7 @@ - Add-AzureApiManagementProductToGroup + Add-AzureRMApiManagementProductToGroup Context @@ -336,7 +336,7 @@ PS C:\> - Add-AzureApiManagementProductToGroup –Context $apimContext –GroupId 0001 –ProductId 0123456789 + Add-AzureRMApiManagementProductToGroup –Context $apimContext –GroupId 0001 –ProductId 0123456789 Add existing product to an existing group. @@ -358,7 +358,7 @@ - Add-AzureApiManagementUserToGroup + Add-AzureRMApiManagementUserToGroup Adds existing user to existing group. @@ -374,7 +374,7 @@ - Add-AzureApiManagementUserToGroup + Add-AzureRMApiManagementUserToGroup Context @@ -514,7 +514,7 @@ PS C:\> - Add-AzureApiManagementUserToGroup –Context $apimContext –GroupId 0001 –UserId 0123456789 + Add-AzureRMApiManagementUserToGroup –Context $apimContext –GroupId 0001 –UserId 0123456789 Add existing user to an existing group. @@ -536,7 +536,7 @@ - Export-AzureApiManagementApi + Export-AzureRMApiManagementApi Export API to file in one of the supported formats. @@ -552,7 +552,7 @@ - Export-AzureApiManagementApi + Export-AzureRMApiManagementApi Context @@ -583,7 +583,7 @@ - Export-AzureApiManagementApi + Export-AzureRMApiManagementApi Context @@ -772,7 +772,7 @@ true/false PS C:\> - Export-AzureApiManagementApi –Context $apimContext –ApiId 0123456789 –SpecificationFormat 'Wadl' –SaveAs 'C:\contoso\specifications\0123456789.wadl' + Export-AzureRMApiManagementApi –Context $apimContext –ApiId 0123456789 –SpecificationFormat 'Wadl' –SaveAs 'C:\contoso\specifications\0123456789.wadl' Export API to file as WADL. @@ -794,7 +794,7 @@ true/false - Get-AzureApiManagementApi + Get-AzureRMApiManagementApi Gets a list or a particular API description. @@ -810,7 +810,7 @@ true/false - Get-AzureApiManagementApi + Get-AzureRMApiManagementApi Context @@ -827,7 +827,7 @@ true/false - Get-AzureApiManagementApi + Get-AzureRMApiManagementApi Context @@ -851,7 +851,7 @@ true/false - Get-AzureApiManagementApi + Get-AzureRMApiManagementApi Context @@ -875,7 +875,7 @@ true/false - Get-AzureApiManagementApi + Get-AzureRMApiManagementApi Context @@ -1011,7 +1011,7 @@ true/false PS C:\> - Get-AzureApiManagementApi –Context $apimContext + Get-AzureRMApiManagementApi –Context $apimContext Get list of all APIs. @@ -1031,7 +1031,7 @@ true/false PS C:\> - Get-AzureApiManagementApi –Context $apimContext –ApiId $apiId + Get-AzureRMApiManagementApi –Context $apimContext –ApiId $apiId Get API by Id. @@ -1051,7 +1051,7 @@ true/false PS C:\> - Get-AzureApiManagementApi –Context $apimContext –Name "EchoApi" + Get-AzureRMApiManagementApi –Context $apimContext –Name "EchoApi" Get API by Name @@ -1073,7 +1073,7 @@ true/false - Get-AzureApiManagementAuthorizationServer + Get-AzureRMApiManagementAuthorizationServer Gets all or specific authorization servers. @@ -1089,7 +1089,7 @@ true/false - Get-AzureApiManagementAuthorizationServer + Get-AzureRMApiManagementAuthorizationServer Context @@ -1201,7 +1201,7 @@ true/false PS C:\> - Get-AzureApiManagementAuthrizarionServer –Context $apimContext + Get-AzureRMApiManagementAuthrizarionServer –Context $apimContext Get all authorization servers. @@ -1221,7 +1221,7 @@ true/false PS C:\> - Get-AzureApiManagementCertificate –Context $apimContext –ServerId 0123456789 + Get-AzureRMApiManagementCertificate –Context $apimContext –ServerId 0123456789 Get specific authorization server. @@ -1243,7 +1243,7 @@ true/false - Get-AzureApiManagementCertificate + Get-AzureRMApiManagementCertificate Gets all or specific certificates. @@ -1259,7 +1259,7 @@ true/false - Get-AzureApiManagementCertificate + Get-AzureRMApiManagementCertificate Context @@ -1276,7 +1276,7 @@ true/false - Get-AzureApiManagementCertificate + Get-AzureRMApiManagementCertificate Context @@ -1378,7 +1378,7 @@ true/false PS C:\> - Get-AzureApiManagementCertificate –Context $apimContext + Get-AzureRMApiManagementCertificate –Context $apimContext Get all certificates. @@ -1398,7 +1398,7 @@ true/false PS C:\> - Get-AzureApiManagementCertificate –Context $apimContext –CertificateId 0123456789 + Get-AzureRMApiManagementCertificate –Context $apimContext –CertificateId 0123456789 Get specific certificate. @@ -1420,7 +1420,7 @@ true/false - Get-AzureApiManagementGroup + Get-AzureRMApiManagementGroup Gets all or specific groups. @@ -1436,7 +1436,7 @@ true/false - Get-AzureApiManagementGroup + Get-AzureRMApiManagementGroup Context @@ -1460,7 +1460,7 @@ true/false - Get-AzureApiManagementGroup + Get-AzureRMApiManagementGroup Context @@ -1491,7 +1491,7 @@ true/false - Get-AzureApiManagementGroup + Get-AzureRMApiManagementGroup Context @@ -1522,7 +1522,7 @@ true/false - Get-AzureApiManagementGroup + Get-AzureRMApiManagementGroup Context @@ -1677,7 +1677,7 @@ true/false PS C:\> - Get-AzureApiManagementGroup –Context $apimContext + Get-AzureRMApiManagementGroup –Context $apimContext Get all groups. @@ -1697,7 +1697,7 @@ true/false PS C:\> - Get-AzureApiManagementGroup –Context $apimContext –GroupId 0123456789 + Get-AzureRMApiManagementGroup –Context $apimContext –GroupId 0123456789 Get group by identifier. @@ -1717,7 +1717,7 @@ true/false PS C:\> - Get-AzureApiManagementGroup –Context $apimContext –Name 'Custom group' + Get-AzureRMApiManagementGroup –Context $apimContext –Name 'Custom group' Get group by name. @@ -1737,7 +1737,7 @@ true/false PS C:\> - Get-AzureApiManagementGroup –Context $apimContext –UserId 0123456789 + Get-AzureRMApiManagementGroup –Context $apimContext –UserId 0123456789 Get all user groups. @@ -1759,7 +1759,7 @@ true/false - Get-AzureApiManagementOperation + Get-AzureRMApiManagementOperation Gets a list or a particular API Operation. @@ -1775,7 +1775,7 @@ true/false - Get-AzureApiManagementOperation + Get-AzureRMApiManagementOperation Context @@ -1799,7 +1799,7 @@ true/false - Get-AzureApiManagementOperation + Get-AzureRMApiManagementOperation Context @@ -1931,7 +1931,7 @@ true/false PS C:\> - Get-AzureApiManagementOperation –Context $apimContext –ApiId $apiId + Get-AzureRMApiManagementOperation –Context $apimContext –ApiId $apiId Get all API Operations. @@ -1951,7 +1951,7 @@ true/false PS C:\> - Get-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 0123456789 + Get-AzureRMApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 0123456789 Get Operation by id. @@ -1973,7 +1973,7 @@ true/false - Get-AzureApiManagementPolicy + Get-AzureRMApiManagementPolicy Gets specified scope policy. @@ -1989,7 +1989,7 @@ true/false - Get-AzureApiManagementPolicy + Get-AzureRMApiManagementPolicy Context @@ -2027,7 +2027,7 @@ true/false - Get-AzureApiManagementPolicy + Get-AzureRMApiManagementPolicy Context @@ -2072,7 +2072,7 @@ true/false - Get-AzureApiManagementPolicy + Get-AzureRMApiManagementPolicy Context @@ -2124,7 +2124,7 @@ true/false - Get-AzureApiManagementPolicy + Get-AzureRMApiManagementPolicy Context @@ -2317,7 +2317,7 @@ true/false PS C:\> - Get-AzureApiManagementPolicy –Context $apimContext –SaveAs 'C:\contoso\policies\tenantpolicy.xml' + Get-AzureRMApiManagementPolicy –Context $apimContext –SaveAs 'C:\contoso\policies\tenantpolicy.xml' Get tenant level policy and save to file named tenantpolicy.xml. @@ -2337,7 +2337,7 @@ true/false PS C:\> - $policyString = Get-AzureApiManagementPolicy –Context $apimContext –ProductId 0123456789 + $policyString = Get-AzureRMApiManagementPolicy –Context $apimContext –ProductId 0123456789 Get product-scope policy @@ -2357,7 +2357,7 @@ true/false PS C:\> - $policyString = Get-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 + $policyString = Get-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 Get API-scope policy. @@ -2377,7 +2377,7 @@ true/false PS C:\> - Get-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 + Get-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 Get operation-scope policy. @@ -2399,7 +2399,7 @@ true/false - Get-AzureApiManagementProduct + Get-AzureRMApiManagementProduct Gets a list or a particular Product. @@ -2415,7 +2415,7 @@ true/false - Get-AzureApiManagementProduct + Get-AzureRMApiManagementProduct Context @@ -2432,7 +2432,7 @@ true/false - Get-AzureApiManagementProduct + Get-AzureRMApiManagementProduct Context @@ -2456,7 +2456,7 @@ true/false - Get-AzureApiManagementProduct + Get-AzureRMApiManagementProduct Context @@ -2581,7 +2581,7 @@ true/false PS C:\> - Get-AzureApiManagementProduct –Context $apimContext + Get-AzureRMApiManagementProduct –Context $apimContext Get all Products. @@ -2601,7 +2601,7 @@ true/false PS C:\> - Get-AzureApiManagementProduct –Context $apimContext –ProductId 0123456789 + Get-AzureRMApiManagementProduct –Context $apimContext –ProductId 0123456789 Get Product by id. @@ -2623,7 +2623,7 @@ true/false - Get-AzureApiManagementSubscription + Get-AzureRMApiManagementSubscription Gets all or specific subscriptions. @@ -2639,7 +2639,7 @@ true/false - Get-AzureApiManagementSubscription + Get-AzureRMApiManagementSubscription Context @@ -2656,7 +2656,7 @@ true/false - Get-AzureApiManagementSubscription + Get-AzureRMApiManagementSubscription Context @@ -2680,7 +2680,7 @@ true/false - Get-AzureApiManagementSubscription + Get-AzureRMApiManagementSubscription Context @@ -2704,7 +2704,7 @@ true/false - Get-AzureApiManagementSubscription + Get-AzureRMApiManagementSubscription Context @@ -2840,7 +2840,7 @@ true/false PS C:\> - Get-AzureApiManagementSubscription –Context $apimContext + Get-AzureRMApiManagementSubscription –Context $apimContext Get all subscriptions. @@ -2860,7 +2860,7 @@ true/false PS C:\> - Get-AzureApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 + Get-AzureRMApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 Get subscription by Id. @@ -2880,7 +2880,7 @@ true/false PS C:\> - Get-AzureApiManagementSubscription –Context $apimContext –UserId 777 + Get-AzureRMApiManagementSubscription –Context $apimContext –UserId 777 Get all users subscriptions. @@ -2900,7 +2900,7 @@ true/false PS C:\> - Get-AzureApiManagementSubscription –Context $apimContext –ProductId 999 + Get-AzureRMApiManagementSubscription –Context $apimContext –ProductId 999 Get all subscriptions for the product. @@ -2922,7 +2922,7 @@ true/false - Get-AzureApiManagementUser + Get-AzureRMApiManagementUser Gets all or specific user. @@ -2938,7 +2938,7 @@ true/false - Get-AzureApiManagementUser + Get-AzureRMApiManagementUser Context @@ -2955,7 +2955,7 @@ true/false - Get-AzureApiManagementUser + Get-AzureRMApiManagementUser Context @@ -2979,7 +2979,7 @@ true/false - Get-AzureApiManagementUser + Get-AzureRMApiManagementUser Context @@ -3179,7 +3179,7 @@ true/false PS C:\> - Get-AzureApiManagementUser –Context $apimContext + Get-AzureRMApiManagementUser –Context $apimContext Get all users. @@ -3199,7 +3199,7 @@ true/false PS C:\> - Get-AzureApiManagementUser –Context $apimContext –UserId 0123456789 + Get-AzureRMApiManagementUser –Context $apimContext –UserId 0123456789 Get user by Id. @@ -3219,7 +3219,7 @@ true/false PS C:\> - Get-AzureApiManagementUser –Context $apimContext –LastName 'Ivanov' + Get-AzureRMApiManagementUser –Context $apimContext –LastName 'Ivanov' Get users by last name. @@ -3239,7 +3239,7 @@ true/false PS C:\> - Get-AzureApiManagementUser –Context $apimContext –Email 'user@contoso.com' + Get-AzureRMApiManagementUser –Context $apimContext –Email 'user@contoso.com' Get user by email. @@ -3259,7 +3259,7 @@ true/false PS C:\> - Get-AzureApiManagementUser –Context $apimContext –GroupId 0001 + Get-AzureRMApiManagementUser –Context $apimContext –GroupId 0001 Get all users within the group. @@ -3281,7 +3281,7 @@ true/false - Get-AzureApiManagementUserSsoUrl + Get-AzureRMApiManagementUserSsoUrl Generates SSO URL for the user. @@ -3297,7 +3297,7 @@ true/false - Get-AzureApiManagementUserSsoUrl + Get-AzureRMApiManagementUserSsoUrl Context @@ -3399,7 +3399,7 @@ true/false PS C:\> - Get-AzureApiManagementUserSsoUrl –Context $apimContext –UserId 0123456789 + Get-AzureRMApiManagementUserSsoUrl –Context $apimContext –UserId 0123456789 Get user SSO URL. @@ -3421,7 +3421,7 @@ true/false - Import-AzureApiManagementApi + Import-AzureRMApiManagementApi Imports API from file or URL in one of the supported formats. @@ -3437,7 +3437,7 @@ true/false - Import-AzureApiManagementApi + Import-AzureRMApiManagementApi Context @@ -3482,7 +3482,7 @@ true/false - Import-AzureApiManagementApi + Import-AzureRMApiManagementApi Context @@ -3653,7 +3653,7 @@ Imported API PS C:\> - Import-AzureApiManagementApi –Context $apimContext –SpecificationFormat 'Wadl' –SpecificationPath 'C:\contoso\specifications\echoapi.wadl' –Path 'apis' + Import-AzureRMApiManagementApi –Context $apimContext –SpecificationFormat 'Wadl' –SpecificationPath 'C:\contoso\specifications\echoapi.wadl' –Path 'apis' Import API from WADL file. @@ -3673,7 +3673,7 @@ Imported API PS C:\> - Import-AzureApiManagementApi –Context $apimContext –SpecificationFormat 'Swagger' –SpecificationPath 'C:\contoso\specifications\echoapi.swagger' –Path 'apis' + Import-AzureRMApiManagementApi –Context $apimContext –SpecificationFormat 'Swagger' –SpecificationPath 'C:\contoso\specifications\echoapi.swagger' –Path 'apis' Import API from Swagger file. @@ -3693,7 +3693,7 @@ Imported API PS C:\> - Import-AzureApiManagementApi –Context $apimContext –SpecificationFormat 'Wadl' –SpecificationUrl 'http://contoso.com/specifications/wadl/echoapi' –Path 'apis' + Import-AzureRMApiManagementApi –Context $apimContext –SpecificationFormat 'Wadl' –SpecificationUrl 'http://contoso.com/specifications/wadl/echoapi' –Path 'apis' Import API from WADL link. @@ -3715,7 +3715,7 @@ Imported API - New-AzureApiManagementApi + New-AzureRMApiManagementApi Creates new API. @@ -3731,7 +3731,7 @@ Imported API - New-AzureApiManagementApi + New-AzureRMApiManagementApi Context @@ -4023,7 +4023,7 @@ Imported API PS C:\> - New-AzureApiManagementApi –Context $apimContext –Name EchoApi –ServiceUrl 'https://contoso.com/apis/echo' -Protocols @('http', 'https') + New-AzureRMApiManagementApi –Context $apimContext –Name EchoApi –ServiceUrl 'https://contoso.com/apis/echo' -Protocols @('http', 'https') Create new API. @@ -4045,7 +4045,7 @@ Imported API - New-AzureApiManagementAuthorizationServer + New-AzureRMApiManagementAuthorizationServer Creates new authorization server. @@ -4061,7 +4061,7 @@ Imported API - New-AzureApiManagementAuthorizationServer + New-AzureRMApiManagementAuthorizationServer Context @@ -4467,7 +4467,7 @@ Imported API PS C:\> - New-AzureApiManagementAuthrizarionServer –Context $apimContext –Name 'Contoso OAuth2 server' –ClientRegistrationPageUrl 'https://contoso/signup' -AthorizationEndpointUrl 'https://contoso/auth' -TokenEndpointUrl 'https://contoso/token' -ClientId clientid -ClientSecret e041ed1b660b4eadbad5a29d066e6e88 –AuthorizationRequestMethods @('Get', 'Post') –GrantTypes @( 'AuthorizationCode', 'Implicit', 'ResourceOwnerPassword', 'ClientCredentials') –ClientAuthenticationMethods @('Basic') –TokenBodyParameters @{'par1'='val1'; 'par2'='val2'} –AccessTokenSendingMethods @('AuthorizationHeader', 'Query') –ResourceOwnerUsername 'ivan' –ResourveOwnerPassword 'qwerty' + New-AzureRMApiManagementAuthrizarionServer –Context $apimContext –Name 'Contoso OAuth2 server' –ClientRegistrationPageUrl 'https://contoso/signup' -AthorizationEndpointUrl 'https://contoso/auth' -TokenEndpointUrl 'https://contoso/token' -ClientId clientid -ClientSecret e041ed1b660b4eadbad5a29d066e6e88 –AuthorizationRequestMethods @('Get', 'Post') –GrantTypes @( 'AuthorizationCode', 'Implicit', 'ResourceOwnerPassword', 'ClientCredentials') –ClientAuthenticationMethods @('Basic') –TokenBodyParameters @{'par1'='val1'; 'par2'='val2'} –AccessTokenSendingMethods @('AuthorizationHeader', 'Query') –ResourceOwnerUsername 'ivan' –ResourveOwnerPassword 'qwerty' Create new authorization server. @@ -4489,7 +4489,7 @@ Imported API - New-AzureApiManagementCertificate + New-AzureRMApiManagementCertificate Creates new certificate. @@ -4505,7 +4505,7 @@ Imported API - New-AzureApiManagementCertificate + New-AzureRMApiManagementCertificate Context @@ -4543,7 +4543,7 @@ Imported API - New-AzureApiManagementCertificate + New-AzureRMApiManagementCertificate Context @@ -4695,7 +4695,7 @@ Imported API PS C:\> - New-AzureApiManagementCertificate –Context $apimContext –PfxFilePath 'C:\contoso\certificates\apimanagement.pfx' –PfxPassword 1111 + New-AzureRMApiManagementCertificate –Context $apimContext –PfxFilePath 'C:\contoso\certificates\apimanagement.pfx' –PfxPassword 1111 Create/upload new certificate. @@ -4717,7 +4717,7 @@ Imported API - New-AzureApiManagementContext + New-AzureRMApiManagementContext Create PsAzureApiManagementContext. @@ -4733,7 +4733,7 @@ Imported API - New-AzureApiManagementContext + New-AzureRMApiManagementContext ResourceGroupName @@ -4835,7 +4835,7 @@ Imported API PS C:\> - $apimContext = New-AzureApiManagementContext –ResourceGroupName contosoresources –ServiceName contoso + $apimContext = New-AzureRMApiManagementContext –ResourceGroupName contosoresources –ServiceName contoso Create an instance of PsApiManagementContext @@ -4857,7 +4857,7 @@ Imported API - New-AzureApiManagementGroup + New-AzureRMApiManagementGroup Creates new group. @@ -4873,7 +4873,7 @@ Imported API - New-AzureApiManagementGroup + New-AzureRMApiManagementGroup Context @@ -5013,7 +5013,7 @@ Imported API PS C:\> - New-AzureApiManagementGroup –Context $apimContext –Name 'Best devs' + New-AzureRMApiManagementGroup –Context $apimContext –Name 'Best devs' Create new group. @@ -5035,7 +5035,7 @@ Imported API - New-AzureApiManagementOperation + New-AzureRMApiManagementOperation Create new API Operation. @@ -5051,7 +5051,7 @@ Imported API - New-AzureApiManagementOperation + New-AzureRMApiManagementOperation Context @@ -5305,7 +5305,7 @@ Imported API PS C:\> - New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 01234567890 –Name 'Get resource' –Method 'GET' –UrlTemplate '/resource' –Description 'Use this operation to get resource' + New-AzureRMApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 01234567890 –Name 'Get resource' –Method 'GET' –UrlTemplate '/resource' –Description 'Use this operation to get resource' Create new operation. @@ -5356,7 +5356,7 @@ $request.Representations = @($requestRepresentation) #create response $response = New-Object –TypeName Microsoft.Azure.Commands.ApiManagement.ServiceManagement.Models.PsApiManagementResponse $response.StatusCode = 204 -New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 01234567890 –Name 'Create/update resource' –Method 'PUT' –UrlTemplate '/resource/{rid}?q={query}' –Description 'Use this operation to create new or update existing resource' –TemplateParameters @($rid, $query) –Request $request –Responses @($response) +New-AzureRMApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId 01234567890 –Name 'Create/update resource' –Method 'PUT' –UrlTemplate '/resource/{rid}?q={query}' –Description 'Use this operation to create new or update existing resource' –TemplateParameters @($rid, $query) –Request $request –Responses @($response) Script to create new operation with request and response details. @@ -5378,7 +5378,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementProduct + New-AzureRMApiManagementProduct Creates new product. @@ -5394,7 +5394,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementProduct + New-AzureRMApiManagementProduct Context @@ -5667,7 +5667,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementProduct –Context $apimContext –ProductId 0123456789 –Title 'Starter' –Description 'Starter Product' –LegalTerms 'Free for all' –SubscriptionRequired $false –State 'Published' + New-AzureRMApiManagementProduct –Context $apimContext –ProductId 0123456789 –Title 'Starter' –Description 'Starter Product' –LegalTerms 'Free for all' –SubscriptionRequired $false –State 'Published' Crete new product. No subscription required. @@ -5687,7 +5687,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementProduct –Context $apimContext –ProductId 9876543210 –Title Unlimited –Description 'Subscribers have completely unlimited access to the API. Administrator approval is required.' –LegalTerms 'Free for all' –ApprovalRequired $true –State Published –NotificationPeriod 'D10' –SubscriptionPeriod 'Y1' + New-AzureRMApiManagementProduct –Context $apimContext –ProductId 9876543210 –Title Unlimited –Description 'Subscribers have completely unlimited access to the API. Administrator approval is required.' –LegalTerms 'Free for all' –ApprovalRequired $true –State Published –NotificationPeriod 'D10' –SubscriptionPeriod 'Y1' Crete new product. Subscription and approval required. Notification period – 10 days. Subscription period – 1 year. @@ -5709,7 +5709,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementSubscription + New-AzureRMApiManagementSubscription Creates new subscription. @@ -5725,7 +5725,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementSubscription + New-AzureRMApiManagementSubscription Context @@ -5941,7 +5941,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementSubscription –Context $apimContext –UserId 777 –ProductId 999 + New-AzureRMApiManagementSubscription –Context $apimContext –UserId 777 –ProductId 999 Subscribe existing user to existing product. @@ -5963,7 +5963,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementUser + New-AzureRMApiManagementUser Register new user. @@ -5979,7 +5979,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - New-AzureApiManagementUser + New-AzureRMApiManagementUser Context @@ -6195,7 +6195,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementUser –Context $apimContext –FirstName 'Ivan' –LastName 'Ivanov' –Email 'ivan.ivanov@contoso.com' –Password 'qwerty' + New-AzureRMApiManagementUser –Context $apimContext –FirstName 'Ivan' –LastName 'Ivanov' –Email 'ivan.ivanov@contoso.com' –Password 'qwerty' Register new user. @@ -6217,7 +6217,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementApi + Remove-AzureRMApiManagementApi Remove existing API. @@ -6233,7 +6233,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementApi + Remove-AzureRMApiManagementApi Context @@ -6373,7 +6373,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementApi –Context $apimContext –ApiId 0123456789 + Remove-AzureRMApiManagementApi –Context $apimContext –ApiId 0123456789 Remove existing API. @@ -6395,7 +6395,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementApiFromProduct + Remove-AzureRMApiManagementApiFromProduct Removes existing API from existing Product. @@ -6411,7 +6411,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementApiFromProduct + Remove-AzureRMApiManagementApiFromProduct Context @@ -6551,7 +6551,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementApiFromProduct –Context $apimContext –ProductId 0123456789 –ApiId 0001 –PassThru + Remove-AzureRMApiManagementApiFromProduct –Context $apimContext –ProductId 0123456789 –ApiId 0001 –PassThru Remove existing API from an existing Product. @@ -6573,7 +6573,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementAuthorizationServer + Remove-AzureRMApiManagementAuthorizationServer Deletes existing authorization server. @@ -6589,7 +6589,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementAuthorizationServer + Remove-AzureRMApiManagementAuthorizationServer Context @@ -6751,7 +6751,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementCertificate + Remove-AzureRMApiManagementCertificate Deletes existing certificate. @@ -6767,7 +6767,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementCertificate + Remove-AzureRMApiManagementCertificate Context @@ -6907,7 +6907,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementCertificate –Context $apimContext –CertificateId 0123456789 –Force + Remove-AzureRMApiManagementCertificate –Context $apimContext –CertificateId 0123456789 –Force Delete existing certificate. @@ -6929,7 +6929,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementGroup + Remove-AzureRMApiManagementGroup Deletes existing group. @@ -6945,7 +6945,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementGroup + Remove-AzureRMApiManagementGroup Context @@ -7085,7 +7085,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementGroup –Context $apimContext –GroupId 0123456789 –Force + Remove-AzureRMApiManagementGroup –Context $apimContext –GroupId 0123456789 –Force Delete existing group. @@ -7107,7 +7107,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementOperation + Remove-AzureRMApiManagementOperation Remove existing operation. @@ -7123,7 +7123,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementOperation + Remove-AzureRMApiManagementOperation Context @@ -7282,7 +7282,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementOperation –Context $apimContext –ApiId 0123456789 –OperationId 9876543210 –Force + Remove-AzureRMApiManagementOperation –Context $apimContext –ApiId 0123456789 –OperationId 9876543210 –Force Remove existing API Operation. @@ -7304,7 +7304,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementPolicy + Remove-AzureRMApiManagementPolicy Removes policy from specified scope. @@ -7320,7 +7320,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementPolicy + Remove-AzureRMApiManagementPolicy Context @@ -7351,7 +7351,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementPolicy + Remove-AzureRMApiManagementPolicy Context @@ -7389,7 +7389,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementPolicy + Remove-AzureRMApiManagementPolicy Context @@ -7427,7 +7427,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementPolicy + Remove-AzureRMApiManagementPolicy Context @@ -7598,7 +7598,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementPolicy –Context $apimContext + Remove-AzureRMApiManagementPolicy –Context $apimContext Remove tenant level policy. @@ -7618,7 +7618,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementPolicy –Context $apimContext –ProductId 0123456789 + Remove-AzureRMApiManagementPolicy –Context $apimContext –ProductId 0123456789 Remove product-scope policy. @@ -7638,7 +7638,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 + Remove-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 Remove API-scope policy. @@ -7658,7 +7658,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 + Remove-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 Remove operation-scope policy. @@ -7680,7 +7680,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementProduct + Remove-AzureRMApiManagementProduct Remove existing product. @@ -7696,7 +7696,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementProduct + Remove-AzureRMApiManagementProduct Context @@ -7855,7 +7855,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementProduct –Context $apimContext –Id 0123456789 -DeleteSubscriptions –Force + Remove-AzureRMApiManagementProduct –Context $apimContext –Id 0123456789 -DeleteSubscriptions –Force Remove existing Product with all subscriptions. @@ -7877,7 +7877,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementProductFromGroup + Remove-AzureRMApiManagementProductFromGroup Removes existing product from existing group. @@ -7893,7 +7893,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementProductFromGroup + Remove-AzureRMApiManagementProductFromGroup Context @@ -8033,7 +8033,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementProductFromGroup –Context $apimContext –GroupId 0001 –ProductId 0123456789 + Remove-AzureRMApiManagementProductFromGroup –Context $apimContext –GroupId 0001 –ProductId 0123456789 Remove existing product from an existing group. @@ -8055,7 +8055,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementSubscription + Remove-AzureRMApiManagementSubscription Deletes existing subscription. @@ -8071,7 +8071,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementSubscription + Remove-AzureRMApiManagementSubscription Context @@ -8211,7 +8211,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 -Force + Remove-AzureRMApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 -Force Delete existing subscription. @@ -8233,7 +8233,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementUser + Remove-AzureRMApiManagementUser Deletes existing user. @@ -8249,7 +8249,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementUser + Remove-AzureRMApiManagementUser Context @@ -8408,7 +8408,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementUser –Context $apimContext –UserId 0123456789 –Force + Remove-AzureRMApiManagementUser –Context $apimContext –UserId 0123456789 –Force Delete existing user. @@ -8430,7 +8430,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementUserFromGroup + Remove-AzureRMApiManagementUserFromGroup Removes existing user from existing group. @@ -8446,7 +8446,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Remove-AzureApiManagementUserFromGroup + Remove-AzureRMApiManagementUserFromGroup Context @@ -8586,7 +8586,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Remove-AzureApiManagementUserFromGroup –Context $apimContext –GroupId 0001 –UserId 0123456789 + Remove-AzureRMApiManagementUserFromGroup –Context $apimContext –GroupId 0001 –UserId 0123456789 Remove existing user from an existing group. @@ -8608,7 +8608,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementApi + Set-AzureRMApiManagementApi Set API details. @@ -8624,7 +8624,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementApi + Set-AzureRMApiManagementApi Context @@ -8916,7 +8916,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementApi –Context $apimContext –Name EchoApi –ServiceUrl 'https://contoso.com/apis/echo' -Protocols @('https') –Description 'Responds with what was sent' –Path 'echo' + Set-AzureRMApiManagementApi –Context $apimContext –Name EchoApi –ServiceUrl 'https://contoso.com/apis/echo' -Protocols @('https') –Description 'Responds with what was sent' –Path 'echo' @@ -8938,7 +8938,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementAuthorizationServer + Set-AzureRMApiManagementAuthorizationServer Sets authorization server details. @@ -8954,7 +8954,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementAuthorizationServer + Set-AzureRMApiManagementAuthorizationServer Context @@ -9379,7 +9379,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementAuthrizarionServer –Context $apimContext –ServerId 0123456789 –Name 'Contoso OAuth2 server' –ClientRegistrationPageUrl 'https://contoso/signupv2' -AthorizationEndpointUrl 'https://contoso/authv2' -TokenEndpointUrl 'https://contoso/tokenv2' -ClientId clientid -ClientSecret e041ed1b660b4eadbad5a29d066e6e88 –AuthorizationRequestMethods @('Get') –GrantTypes @( 'AuthorizationCode', 'Implicit', 'ClientCredentials') –ClientAuthenticationMethods @('Basic') –TokenBodyParameters @{'par1'='val1'} –AccessTokenSendingMethods @('AuthorizationHeader') + Set-AzureRMApiManagementAuthrizarionServer –Context $apimContext –ServerId 0123456789 –Name 'Contoso OAuth2 server' –ClientRegistrationPageUrl 'https://contoso/signupv2' -AthorizationEndpointUrl 'https://contoso/authv2' -TokenEndpointUrl 'https://contoso/tokenv2' -ClientId clientid -ClientSecret e041ed1b660b4eadbad5a29d066e6e88 –AuthorizationRequestMethods @('Get') –GrantTypes @( 'AuthorizationCode', 'Implicit', 'ClientCredentials') –ClientAuthenticationMethods @('Basic') –TokenBodyParameters @{'par1'='val1'} –AccessTokenSendingMethods @('AuthorizationHeader') Set authorization server details. @@ -9401,7 +9401,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementCertificate + Set-AzureRMApiManagementCertificate Sets certificate data. @@ -9417,7 +9417,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementCertificate + Set-AzureRMApiManagementCertificate Context @@ -9462,7 +9462,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementCertificate + Set-AzureRMApiManagementCertificate Context @@ -9633,7 +9633,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementCertificate –Context $apimContext –CertificateId 0123456789 –PfxFilePath 'C:\contoso\certificates\apimanagementnew.pfx' –PfxPassword 2222 + Set-AzureRMApiManagementCertificate –Context $apimContext –CertificateId 0123456789 –PfxFilePath 'C:\contoso\certificates\apimanagementnew.pfx' –PfxPassword 2222 Set certificate. @@ -9655,7 +9655,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementGroup + Set-AzureRMApiManagementGroup Sets existing group details. @@ -9671,7 +9671,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementGroup + Set-AzureRMApiManagementGroup Context @@ -9830,7 +9830,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementGroup –Context $apimContext –Name 'Best devs' + New-AzureRMApiManagementGroup –Context $apimContext –Name 'Best devs' Create new group. @@ -9852,7 +9852,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementOperation + Set-AzureRMApiManagementOperation Set API Operation details. @@ -9868,7 +9868,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementOperation + Set-AzureRMApiManagementOperation Context @@ -10141,7 +10141,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId $operationId –Name 'Get resource' –Method GET –UrlTemplate '/newresource' –Description 'Use this operation to get newresource' + New-AzureRMApiManagementOperation –Context $apimContext –ApiId $apiId –OperationId $operationId –Name 'Get resource' –Method GET –UrlTemplate '/newresource' –Description 'Use this operation to get newresource' Set operation details. @@ -10163,7 +10163,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementPolicy + Set-AzureRMApiManagementPolicy Set specified scope policy. @@ -10179,7 +10179,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementPolicy + Set-AzureRMApiManagementPolicy Context @@ -10224,7 +10224,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementPolicy + Set-AzureRMApiManagementPolicy Context @@ -10276,7 +10276,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementPolicy + Set-AzureRMApiManagementPolicy Context @@ -10328,7 +10328,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementPolicy + Set-AzureRMApiManagementPolicy Context @@ -10537,7 +10537,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementPolicy –Context $apimContext –PolicyFilePath 'C:\contoso\policies\tenantpolicy.xml' + Set-AzureRMApiManagementPolicy –Context $apimContext –PolicyFilePath 'C:\contoso\policies\tenantpolicy.xml' Set tenant level policy from file named tenantpolicy.xml. @@ -10557,7 +10557,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementPolicy –Context $apimContext –ProductId 0123456789 –Policy $policystring + Set-AzureRMApiManagementPolicy –Context $apimContext –ProductId 0123456789 –Policy $policystring Set product-scope policy. @@ -10577,7 +10577,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Get-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 –Policy $policystring + Get-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 –Policy $policystring Set API-scope policy. @@ -10597,7 +10597,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 –Policy $policystring + Set-AzureRMApiManagementPolicy –Context $apimContext –ApiId 9876543210 –OperationId 777 –Policy $policystring Set operation-scope policy. @@ -10619,7 +10619,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementProduct + Set-AzureRMApiManagementProduct Sets Product details. @@ -10635,7 +10635,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementProduct + Set-AzureRMApiManagementProduct Context @@ -10927,7 +10927,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementProduct –Context $apimContext –ProductId 0123456789 –Title 'Starter' –Description 'Starter Product' –LegalTerms 'Free for all' –SubscriptionRequired $true –State 'NotPublished' + Set-AzureRMApiManagementProduct –Context $apimContext –ProductId 0123456789 –Title 'Starter' –Description 'Starter Product' –LegalTerms 'Free for all' –SubscriptionRequired $true –State 'NotPublished' Update product details: require subscription, unpublish. @@ -10949,7 +10949,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementSubscription + Set-AzureRMApiManagementSubscription Sets existing subscription details. @@ -10965,7 +10965,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementSubscription + Set-AzureRMApiManagementSubscription Context @@ -11200,7 +11200,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 –PrimaryKey '80450f7d0b6d481382113073f67822c1' –SencondaryKey '97d6112c3a8f48d5bf0266b7a09a761c' –State 'Active' + Set-AzureRMApiManagementSubscription –Context $apimContext –SubscriptionId 0123456789 –PrimaryKey '80450f7d0b6d481382113073f67822c1' –SencondaryKey '97d6112c3a8f48d5bf0266b7a09a761c' –State 'Active' Set subscription primary, secondary key and activate. @@ -11222,7 +11222,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementUser + Set-AzureRMApiManagementUser Sets user details. @@ -11238,7 +11238,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera - Set-AzureApiManagementUser + Set-AzureRMApiManagementUser Context @@ -11473,7 +11473,7 @@ New-AzureApiManagementOperation –Context $apimContext –ApiId $apiId –Opera PS C:\> - Set-AzureApiManagementUser –Context $apimContext -UserId 0123456789 –Email 'ivanov.ivan@contoso.com' –Password 'asdfgh' –State 'Blocked' + Set-AzureRMApiManagementUser –Context $apimContext -UserId 0123456789 –Email 'ivanov.ivan@contoso.com' –Password 'asdfgh' –State 'Blocked' Set new user password and email and block the user. diff --git a/src/ResourceManager/ApiManagement/Commands.ApiManagement.ServiceManagement/packages.config b/src/ResourceManager/ApiManagement/Commands.ApiManagement.ServiceManagement/packages.config index 9a5e820371eb..5fcdc5862226 100644 --- a/src/ResourceManager/ApiManagement/Commands.ApiManagement.ServiceManagement/packages.config +++ b/src/ResourceManager/ApiManagement/Commands.ApiManagement.ServiceManagement/packages.config @@ -3,8 +3,9 @@ - + + @@ -22,4 +23,4 @@ - + \ No newline at end of file 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 d2a09f55c46c..6eb66cc1db04 100644 --- a/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj +++ b/src/ResourceManager/ApiManagement/Commands.ApiManagement.Test/Commands.ApiManagement.Test.csproj @@ -13,6 +13,7 @@ 512 ..\..\..\ true + 39896c3d true @@ -41,24 +42,24 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - + False - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Resources\Microsoft.Azure.Gallery.dll + ..\..\..\Package\$(Configuration)\ResourceManager\AzureResourceManager\AzureRM.Resources\Microsoft.Azure.Gallery.dll False ..\..\..\packages\Microsoft.Azure.Management.ApiManagement.1.0.2-preview\lib\net40\Microsoft.Azure.Management.ApiManagement.dll - + False - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Resources\Microsoft.Azure.Management.Authorization.dll + ..\..\..\Package\$(Configuration)\ResourceManager\AzureResourceManager\AzureRM.Resources\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -69,11 +70,11 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -138,11 +139,13 @@ - + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -150,17 +153,9 @@ - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -217,10 +212,6 @@ - - - - - Add-AzureApiManagementRegion + Add-AzureRMApiManagementRegion Adds new deployment region to PsApiManagement instance. @@ -14,11 +14,11 @@ - Add-AzureApiManagementRegion cmdlet adds new instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion to collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not deploy anything by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Update-AzureApiManagementRegion and Remove-AzureApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureApiManagement cmdlet. + Add-AzureRMApiManagementRegion cmdlet adds new instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion to collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not deploy anything by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Update-AzureRMApiManagementRegion and Remove-AzureRMApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureRMApiManagement cmdlet. - Add-AzureApiManagementRegion + Add-AzureRMApiManagementRegion ApiManagement @@ -175,7 +175,7 @@ PS C:\> - PS C:\> Add-AzureApiManagementRegion –ApiManagement $apiManagement -Location “East US” -Sku “Premium” –Capacity 2 + PS C:\> Add-AzureRMApiManagementRegion –ApiManagement $apiManagement -Location “East US” -Sku “Premium” –Capacity 2 Add new 2 units ‘Premium’ region to the PsApiManagement instance. @@ -195,9 +195,9 @@ PS C:\> - PS C:\> Get-AzureApiManagement –ResourceGroupName Contoso –Name ContosoApi | -Add-AzureApiManagementRegion -Location “East US” -Sku “Premium” –Capacity 2 | -Update-AzureApiManagementDeployments + PS C:\> Get-AzureRMApiManagement –ResourceGroupName Contoso –Name ContosoApi | +Add-AzureRMApiManagementRegion -Location “East US” -Sku “Premium” –Capacity 2 | +Update-AzureRMApiManagementDeployments Script to get a PsApiManagement, add 2 ‘Premium’ units region and update deployment. @@ -219,7 +219,7 @@ Update-AzureApiManagementDeployments - Backup-AzureApiManagement + Backup-AzureRMApiManagement Backs up API Management Service and places the backup to the specified Azure storage blob. @@ -231,11 +231,11 @@ Update-AzureApiManagementDeployments - Backup-AzureApiManagement cmdlet makes a backup copy of an API Management Service and places the backup to the specified Azure storage blob. + Backup-AzureRMApiManagement cmdlet makes a backup copy of an API Management Service and places the backup to the specified Azure storage blob. - Backup-AzureApiManagement + Backup-AzureRMApiManagement ResourceGroupName @@ -411,7 +411,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> Backup-AzureApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi -StorageContext $storageContext -TargetContainerName ContosoBackups –TargetBlobName ContosoBackup.apimbackup + PS C:\> Backup-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi -StorageContext $storageContext -TargetContainerName ContosoBackups –TargetBlobName ContosoBackup.apimbackup Backup API Management service to Azure storage blob. @@ -433,7 +433,7 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagement + Get-AzureRMApiManagement Gets a list or a particular API Management Service description. @@ -445,11 +445,11 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagement cmdlet gets a list of all API Management services under subscription or specified resource group or a particular API Management. + Get-AzureRMApiManagement cmdlet gets a list of all API Management services under subscription or specified resource group or a particular API Management. - Get-AzureApiManagement + Get-AzureRMApiManagement Profile @@ -459,7 +459,7 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagement + Get-AzureRMApiManagement ResourceGroupName @@ -483,7 +483,7 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagement + Get-AzureRMApiManagement ResourceGroupName @@ -576,7 +576,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> Get-AzureApiManagement + PS C:\> Get-AzureRMApiManagement Get all API Management services within subscription. @@ -596,7 +596,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> Get-AzureApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi + PS C:\> Get-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi Get API Management service by name. @@ -618,7 +618,7 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagementSsoToken + Get-AzureRMApiManagementSsoToken Gets a link with an SSO token to a deployed management portal of an API Management service. @@ -630,11 +630,11 @@ Update-AzureApiManagementDeployments - Get-AzureApiManagementSsoToken cmdlet returns a link (URL) containing an SSO token to a deployed management portal of an API Management service. + Get-AzureRMApiManagementSsoToken cmdlet returns a link (URL) containing an SSO token to a deployed management portal of an API Management service. - Get-AzureApiManagementSsoToken + Get-AzureRMApiManagementSsoToken ResourceGroupName @@ -734,7 +734,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> Get-AzureApiManagementSsoToken –ResourceGroupName Contoso –Name ContosoApi + PS C:\> Get-AzureRMApiManagementSsoToken –ResourceGroupName Contoso –Name ContosoApi Get SSO token of an API Management service. @@ -756,7 +756,7 @@ Update-AzureApiManagementDeployments - Import-AzureApiManagementHostnameCertificate + Import-AzureRMApiManagementHostnameCertificate Imports a certificate in a PFX format for an API Management Service. @@ -768,11 +768,11 @@ Update-AzureApiManagementDeployments - Import-AzureApiManagementHostnameCertificate cmdlet imports a certificate in a PFX format for an API Management Service. The certificate is to be used for custom hostnames configuration. + Import-AzureRMApiManagementHostnameCertificate cmdlet imports a certificate in a PFX format for an API Management Service. The certificate is to be used for custom hostnames configuration. - Import-AzureApiManagementHostnameCertificate + Import-AzureRMApiManagementHostnameCertificate ResourceGroupName @@ -948,7 +948,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> Import-AzureApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Proxy” -PfxPath “C:\proxycert.pfx” -PfxPassword “certsecret” + PS C:\> Import-AzureRMApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Proxy” -PfxPath “C:\proxycert.pfx” -PfxPassword “certsecret” Import a certificate for Proxy custom hostname. @@ -970,7 +970,7 @@ Update-AzureApiManagementDeployments - New-AzureApiManagement + New-AzureRMApiManagement Creates new API Management Service. @@ -982,11 +982,11 @@ Update-AzureApiManagementDeployments - New-AzureApiManagement cmdlet creates new API Management deployment. + New-AzureRMApiManagement cmdlet creates new API Management deployment. - New-AzureApiManagement + New-AzureRMApiManagement ResourceGroupName @@ -1200,7 +1200,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> New-AzureApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi –Location “Central US” –Organization Contoso –AdminEmail admin@contoso.com + PS C:\> New-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi –Location “Central US” –Organization Contoso –AdminEmail admin@contoso.com Create new ‘Developer’ tier API Management service @@ -1220,7 +1220,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> New-AzureApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi –Location “Central US” –Organization Contoso –AdminEmail admin@contoso.com –Sku Standard –Capacity 3 + PS C:\> New-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi –Location “Central US” –Organization Contoso –AdminEmail admin@contoso.com –Sku Standard –Capacity 3 Create new ‘Standard’ tier API Management service with 3 units @@ -1242,7 +1242,7 @@ Update-AzureApiManagementDeployments - New-AzureApiManagementHostnameConfiguration + New-AzureRMApiManagementHostnameConfiguration Creates an instance of PsApiManagementHostnameConfiguration. @@ -1254,11 +1254,11 @@ Update-AzureApiManagementDeployments - Helper command to create an instance of PsApiManagementHostnameConfiguration. This command is to be used with Set-AzureApiManagementHostnames command. + Helper command to create an instance of PsApiManagementHostnameConfiguration. This command is to be used with Set-AzureRMApiManagementHostnames command. - New-AzureApiManagementHostnameConfiguration + New-AzureRMApiManagementHostnameConfiguration CertificateThumbprint @@ -1358,7 +1358,7 @@ Update-AzureApiManagementDeployments PS C:\> - PS C:\> New-AzureApiManagementHostnameConfiguration -Hostname “portal.contoso.com” -CertificateThumbprint 33CC47C6FCA848DC9B14A6F071C1EF7C + PS C:\> New-AzureRMApiManagementHostnameConfiguration -Hostname “portal.contoso.com” -CertificateThumbprint 33CC47C6FCA848DC9B14A6F071C1EF7C Create and initialize instance of Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementHostnameConfiguration type. @@ -1380,7 +1380,7 @@ Update-AzureApiManagementDeployments - New-AzureApiManagementVirtualNetwork + New-AzureRMApiManagementVirtualNetwork Creates an instance of PsApiManagementVirtualNetwork. @@ -1392,11 +1392,11 @@ Update-AzureApiManagementDeployments - Helper command to create an instance of PsApiManagementVirtualNetwork. This command is to be used with Set-AzureApiManagementVirtualNetworks command. + Helper command to create an instance of PsApiManagementVirtualNetwork. This command is to be used with Set-AzureRMApiManagementVirtualNetworks command. - New-AzureApiManagementVirtualNetwork + New-AzureRMApiManagementVirtualNetwork Location @@ -1516,10 +1516,10 @@ Update-AzureApiManagementDeployments PS C:\> $virtualNetworks = @() -$virtualNetworks += New-AzureApiManagementVirtualNetwork –Location “East US” –SubtenName ContosoNet -VnetId “089D3F4D-B986-4DFD-9259-9112BA7A1F03” -Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name ContosoApi -VirtualNetworks $virtualNetworks +$virtualNetworks += New-AzureRMApiManagementVirtualNetwork –Location “East US” –SubtenName ContosoNet -VnetId “089D3F4D-B986-4DFD-9259-9112BA7A1F03” +Set-AzureRMApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name ContosoApi -VirtualNetworks $virtualNetworks - Script to create a virtual network and call run Set-AzureApiManagementVirtualNetworks command. + Script to create a virtual network and call run Set-AzureRMApiManagementVirtualNetworks command. @@ -1539,7 +1539,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Remove-AzureApiManagement + Remove-AzureRMApiManagement Removes existing API Management. @@ -1551,11 +1551,11 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Remove-AzureApiManagement cmdlet removes existing API Management service. + Remove-AzureRMApiManagement cmdlet removes existing API Management service. - Remove-AzureApiManagement + Remove-AzureRMApiManagement ResourceGroupName @@ -1693,7 +1693,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - PS C:\> Remove-AzureApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi + PS C:\> Remove-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name ContosoApi Remove API Management service. @@ -1715,7 +1715,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Remove-AzureApiManagementRegion + Remove-AzureRMApiManagementRegion Removes existing deployment region from PsApiManagement instance. @@ -1727,11 +1727,11 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Remove-AzureApiManagementRegion cmdlet removes instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion from collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not modifies deployment by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Update-AzureApiManagementRegion and Add-AzureApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureApiManagement cmdlet. + Remove-AzureRMApiManagementRegion cmdlet removes instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion from collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not modifies deployment by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Update-AzureRMApiManagementRegion and Add-AzureRMApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureRMApiManagement cmdlet. - Remove-AzureApiManagementRegion + Remove-AzureRMApiManagementRegion ApiManagement @@ -1831,7 +1831,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - PS C:\> Remove-AzureApiManagementRegion –ApiManagement $apiManagement -Location “East US” + PS C:\> Remove-AzureRMApiManagementRegion –ApiManagement $apiManagement -Location “East US” Remove a region from the PsApiManagement instance. @@ -1851,7 +1851,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - PS C:\> Get-AzureApiManagement –ResourceGroupName Contoso –Name ContosoApi | Remove-AzureApiManagementRegion -Location “East US” | Update-AzureApiManagementDeployment + PS C:\> Get-AzureRMApiManagement –ResourceGroupName Contoso –Name ContosoApi | Remove-AzureRMApiManagementRegion -Location “East US” | Update-AzureRMApiManagementDeployment Script to get a PsApiManagement, remove a region and update deployment with piping. @@ -1874,7 +1874,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Restore-AzureApiManagement + Restore-AzureRMApiManagement Restores an API Management Service from the specified Azure storage blob. @@ -1886,11 +1886,11 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Restore-AzureApiManagement cmdlet restores an API Management Service from the specified backup residing in an Azure storage blob. + Restore-AzureRMApiManagement cmdlet restores an API Management Service from the specified backup residing in an Azure storage blob. - Restore-AzureApiManagement + Restore-AzureRMApiManagement ResourceGroupName @@ -2066,7 +2066,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - PS C:\> Restore-AzureApiManagement –ResourceGroupName ContosoGroup –Name RestoredContosoApi -StorageContext $storageContext -SourceContainerName ContosoBackups –SourceBlobName ContosoBackup.apimbackup + PS C:\> Restore-AzureRMApiManagement –ResourceGroupName ContosoGroup –Name RestoredContosoApi -StorageContext $storageContext -SourceContainerName ContosoBackups –SourceBlobName ContosoBackup.apimbackup Restore API Management service from Azure storage blob. @@ -2088,7 +2088,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Set-AzureApiManagementHostnames + Set-AzureRMApiManagementHostnames Sets custom hostname configuration for an API Management service proxy and/or portal. @@ -2100,11 +2100,11 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Set-AzureApiManagementHostnames cmdlet sets (applies) custom hostname configuration for an API Management service proxy and/or portal. + Set-AzureRMApiManagementHostnames cmdlet sets (applies) custom hostname configuration for an API Management service proxy and/or portal. - Set-AzureApiManagementHostnames + Set-AzureRMApiManagementHostnames ResourceGroupName @@ -2149,7 +2149,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name - Set-AzureApiManagementHostnames + Set-AzureRMApiManagementHostnames ApiManagement @@ -2297,7 +2297,7 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - PS C:\> Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostnameConfiguration $portalHostnameConf –ProxyHostnameConfiguration $proxyHostnameConf + PS C:\> Set-AzureRMApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostnameConfiguration $portalHostnameConf –ProxyHostnameConfiguration $proxyHostnameConf Set custom hostname configuration for proxy and portal. @@ -2317,11 +2317,11 @@ Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name PS C:\> - Import-AzureApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Proxy” -PfxPath “C:\proxycert.pfx” -PfxPassword “certsecret” -Import-AzureApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Portal” -PfxPath “C:\portalcert.pfx” -PfxPassword “certsecret” -$portalHostnameConf = New-AzureApiManagementHostnameConfiguration -Hostname “portal.contoso.com” -CertificateThumbprint 33CC47C6FCA848DC9B14A6F071C1EF7C -$proxyHostnameConf = New-AzureApiManagementHostnameConfiguration -Hostname “proxy.contoso.com” -CertificateThumbprint 5DD7CCF6A1E74E0987DD2873406B7264 -Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostnameConfiguration $portalHostnameConf –ProxyHostnameConfiguration $proxyHostnameConf + Import-AzureRMApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Proxy” -PfxPath “C:\proxycert.pfx” -PfxPassword “certsecret” +Import-AzureRMApiManagementHostnameCertificate -Name ContosoApi -ResourceGroupName Contoso –HostnameType “Portal” -PfxPath “C:\portalcert.pfx” -PfxPassword “certsecret” +$portalHostnameConf = New-AzureRMApiManagementHostnameConfiguration -Hostname “portal.contoso.com” -CertificateThumbprint 33CC47C6FCA848DC9B14A6F071C1EF7C +$proxyHostnameConf = New-AzureRMApiManagementHostnameConfiguration -Hostname “proxy.contoso.com” -CertificateThumbprint 5DD7CCF6A1E74E0987DD2873406B7264 +Set-AzureRMApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostnameConfiguration $portalHostnameConf –ProxyHostnameConfiguration $proxyHostnameConf Script to configure custom hostname for proxy and portal. First import corresponding certificates and then apply custom hostnames. @@ -2344,7 +2344,7 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn - Set-AzureApiManagementVirtualNetworks + Set-AzureRMApiManagementVirtualNetworks Sets VPN configuration for an API Management Service. @@ -2356,11 +2356,11 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn - Set-AzureApiManagementVirtualNetworks cmdlet sets Virtual Network configuration for an API Management. + Set-AzureRMApiManagementVirtualNetworks cmdlet sets Virtual Network configuration for an API Management. - Set-AzureApiManagementVirtualNetworks + Set-AzureRMApiManagementVirtualNetworks ResourceGroupName @@ -2498,7 +2498,7 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn PS C:\> - PS C:\> Set-AzureApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name ContosoApi -VirtualNetworks $virtualNetworks + PS C:\> Set-AzureRMApiManagementVirtualNetworks –ResourceGroupName ContosoGroup –Name ContosoApi -VirtualNetworks $virtualNetworks Set virtual networks for an API Management service @@ -2520,7 +2520,7 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn - Update-AzureApiManagementDeployment + Update-AzureRMApiManagementDeployment Updates deployment of an API Management Service. @@ -2532,11 +2532,11 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn - Update-AzureApiManagementDeployment cmdlet updates current deployment (scales, adds/removes additional deployment regions). + Update-AzureRMApiManagementDeployment cmdlet updates current deployment (scales, adds/removes additional deployment regions). - Update-AzureApiManagementDeployment + Update-AzureRMApiManagementDeployment ResourceGroupName @@ -2602,7 +2602,7 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn - Update-AzureApiManagementDeployment + Update-AzureRMApiManagementDeployment ApiManagement @@ -2786,7 +2786,7 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn PS C:\> - PS C:\> Update-AzureApiManagementDeployment -ResourceGroupName Contoso -Name ContosoApi –Sku “Standard” –Capacity 3 + PS C:\> Update-AzureRMApiManagementDeployment -ResourceGroupName Contoso -Name ContosoApi –Sku “Standard” –Capacity 3 Command to update deployment of an ApiManagement to 3 unit ‘Standard’. @@ -2806,11 +2806,11 @@ Set-AzureApiHostnames -Name ContosoApi -ResourceGroupName Contoso –PortalHostn PS C:\> - $apiManagement = Get-AzureApiManagement –ResourceGroupName Contoso –Name ContosoApi + $apiManagement = Get-AzureRMApiManagement –ResourceGroupName Contoso –Name ContosoApi $apiManagement.Sku = “Premium” $apiManagement.Capacity = 5 $apiManagement.AddRegion(“Central US”, “Premium”, 3) -Update-AzureApiManagementDeployment –ApiManagement $apiManagement +Update-AzureRMApiManagementDeployment –ApiManagement $apiManagement Script to get an ApiManagement, scale to 5 ‘Premium’ units and add additional 3 unit ‘Premium’ region. @@ -2833,7 +2833,7 @@ Update-AzureApiManagementDeployment –ApiManagement $apiManagement - Update-AzureApiManagementRegion + Update-AzureRMApiManagementRegion Updates existing deployment region in PsApiManagement instance. @@ -2845,11 +2845,11 @@ Update-AzureApiManagementDeployment –ApiManagement $apiManagement - Update-AzureApiManagementRegion cmdlet updates (scales up/down or changes VPN configuration) existing instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion in collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not deploy anything by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Add-AzureApiManagementRegion and Remove-AzureApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureApiManagement cmdlet. + Update-AzureRMApiManagementRegion cmdlet updates (scales up/down or changes VPN configuration) existing instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementRegion in collection of AdditionalRegions of provided instance of type Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagement. This cmdlet does not deploy anything by itself but updates instance of PsApiManagement in-memory. Related cmdltes are: Add-AzureRMApiManagementRegion and Remove-AzureRMApiManagementRegion. To actually update a deployment of an API Management pass the modified PsApiManagementInstance to Update-AzureRMApiManagement cmdlet. - Update-AzureApiManagementRegion + Update-AzureRMApiManagementRegion ApiManagement diff --git a/src/ResourceManager/ApiManagement/Commands.ApiManagement/packages.config b/src/ResourceManager/ApiManagement/Commands.ApiManagement/packages.config index 9a5e820371eb..5fcdc5862226 100644 --- a/src/ResourceManager/ApiManagement/Commands.ApiManagement/packages.config +++ b/src/ResourceManager/ApiManagement/Commands.ApiManagement/packages.config @@ -3,8 +3,9 @@ - + + @@ -22,4 +23,4 @@ - + \ No newline at end of file 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 351bccf6e609..995a8446fcb7 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 @@ -13,6 +13,7 @@ 512 ..\..\..\ true + 26d9321c true @@ -41,24 +42,24 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - + False - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Resources\Microsoft.Azure.Gallery.dll + ..\..\..\Package\$(Configuration)\ResourceManager\AzureResourceManager\AzureRM.Resources\Microsoft.Azure.Gallery.dll False ..\..\..\packages\Microsoft.Azure.Management.ApiManagement.1.0.2-preview\lib\net40\Microsoft.Azure.Management.ApiManagement.dll - + False - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Resources\Microsoft.Azure.Management.Authorization.dll + ..\..\..\Package\$(Configuration)\ResourceManager\AzureResourceManager\AzureRM.Resources\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -67,13 +68,13 @@ False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -137,11 +138,13 @@ - + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -153,17 +156,9 @@ - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -258,10 +253,6 @@ - - - - xxbbcczc' try { - $set = Set-AzureApiManagementPolicy -Context $context -Policy $tenantValid -PassThru + $set = Set-AzureRMApiManagementPolicy -Context $context -Policy $tenantValid -PassThru Assert-AreEqual $true $set - Get-AzureApiManagementPolicy -Context $context -SaveAs 'TenantPolicy.xml' -Force + Get-AzureRMApiManagementPolicy -Context $context -SaveAs 'TenantPolicy.xml' -Force $exists = [System.IO.File]::Exists('TenantPolicy.xml') $policy = gc 'TenantPolicy.xml' Assert-True {$policy -like '**'} } finally { - $removed = Remove-AzureApiManagementPolicy -Context $context -PassThru -Force + $removed = Remove-AzureRMApiManagementPolicy -Context $context -PassThru -Force Assert-AreEqual $true $removed - $policy = Get-AzureApiManagementPolicy -Context $context + $policy = Get-AzureRMApiManagementPolicy -Context $context Assert-Null $policy } # test product policy $productValid = '' - $product = Get-AzureApiManagementProduct -Context $context -Title 'Unlimited' | Select -First 1 + $product = Get-AzureRMApiManagementProduct -Context $context -Title 'Unlimited' | Select -First 1 try { - $set = Set-AzureApiManagementPolicy -Context $context -Policy $productValid -ProductId $product.ProductId -PassThru + $set = Set-AzureRMApiManagementPolicy -Context $context -Policy $productValid -ProductId $product.ProductId -PassThru Assert-AreEqual $true $set - Get-AzureApiManagementPolicy -Context $context -ProductId $product.ProductId -SaveAs 'ProductPolicy.xml' -Force + Get-AzureRMApiManagementPolicy -Context $context -ProductId $product.ProductId -SaveAs 'ProductPolicy.xml' -Force $exists = [System.IO.File]::Exists('ProductPolicy.xml') $policy = gc 'ProductPolicy.xml' Assert-True {$policy -like '**'} } finally { - $removed = Remove-AzureApiManagementPolicy -Context $context -ProductId $product.ProductId -PassThru -Force + $removed = Remove-AzureRMApiManagementPolicy -Context $context -ProductId $product.ProductId -PassThru -Force Assert-AreEqual $true $removed - $policy = Get-AzureApiManagementPolicy -Context $context -ProductId $product.ProductId + $policy = Get-AzureRMApiManagementPolicy -Context $context -ProductId $product.ProductId Assert-Null $policy try @@ -1047,23 +1047,23 @@ Param($resourceGroupName, $serviceName) # test api policy $apiValid = 'versionAcceptAccept-Charset' - $api = Get-AzureApiManagementApi -Context $context | Select -First 1 + $api = Get-AzureRMApiManagementApi -Context $context | Select -First 1 try { - $set = Set-AzureApiManagementPolicy -Context $context -Policy $apiValid -ApiId $api.ApiId -PassThru + $set = Set-AzureRMApiManagementPolicy -Context $context -Policy $apiValid -ApiId $api.ApiId -PassThru Assert-AreEqual $true $set - $policy = Get-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId -SaveAs 'ApiPolicy.xml' + $policy = Get-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId -SaveAs 'ApiPolicy.xml' $exists = [System.IO.File]::Exists('ApiPolicy.xml') $policy = gc 'ApiPolicy.xml' Assert-True {$policy -like '**'} } finally { - $removed = Remove-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId -PassThru -Force + $removed = Remove-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId -PassThru -Force Assert-AreEqual $true $removed - $policy = Get-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId + $policy = Get-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId Assert-Null $policy try @@ -1075,15 +1075,15 @@ Param($resourceGroupName, $serviceName) # test operation policy $operationValid = '' - $api = Get-AzureApiManagementApi -Context $context | Select -First 1 - $operation = Get-AzureApiManagementOperation -Context $context -ApiId $api.ApiId | Select -First 1 + $api = Get-AzureRMApiManagementApi -Context $context | Select -First 1 + $operation = Get-AzureRMApiManagementOperation -Context $context -ApiId $api.ApiId | Select -First 1 try { - $set = Set-AzureApiManagementPolicy -Context $context -Policy $operationValid -ApiId $api.ApiId ` + $set = Set-AzureRMApiManagementPolicy -Context $context -Policy $operationValid -ApiId $api.ApiId ` -OperationId $operation.OperationId -PassThru Assert-AreEqual $true $set - $policy = Get-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId ` + $policy = Get-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId ` -SaveAs 'OperationPolicy.xml' $exists = [System.IO.File]::Exists('OperationPolicy.xml') $policy = gc 'OperationPolicy.xml' @@ -1091,10 +1091,10 @@ Param($resourceGroupName, $serviceName) } finally { - $removed = Remove-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId -PassThru -Force + $removed = Remove-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId -PassThru -Force Assert-AreEqual $true $removed - $policy = Get-AzureApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId + $policy = Get-AzureRMApiManagementPolicy -Context $context -ApiId $api.ApiId -OperationId $operation.OperationId Assert-Null $policy try @@ -1113,10 +1113,10 @@ function Certificate-CrudTest { Param($resourceGroupName, $serviceName) - $context = New-AzureApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $serviceName + $context = New-AzureRMApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $serviceName # get all certificates - $certificates = Get-AzureApiManagementCertificate -Context $context + $certificates = Get-AzureRMApiManagementCertificate -Context $context Assert-AreEqual 0 $certificates.Count @@ -1129,28 +1129,28 @@ Param($resourceGroupName, $serviceName) try { # upload certificate - $cert = New-AzureApiManagementCertificate -Context $context -CertificateId $certId -PfxFilePath $certPath -PfxPassword $certPassword + $cert = New-AzureRMApiManagementCertificate -Context $context -CertificateId $certId -PfxFilePath $certPath -PfxPassword $certPassword Assert-AreEqual $certId $cert.CertificateId Assert-AreEqual $certThumbprint $cert.Thumbprint Assert-AreEqual $certSubject $cert.Subject # get certificate - $cert = Get-AzureApiManagementCertificate -Context $context -CertificateId $certId + $cert = Get-AzureRMApiManagementCertificate -Context $context -CertificateId $certId Assert-AreEqual $certId $cert.CertificateId Assert-AreEqual $certThumbprint $cert.Thumbprint Assert-AreEqual $certSubject $cert.Subject # update certificate - $cert = Set-AzureApiManagementCertificate -Context $context -CertificateId $certId -PfxFilePath $certPath -PfxPassword $certPassword -PassThru + $cert = Set-AzureRMApiManagementCertificate -Context $context -CertificateId $certId -PfxFilePath $certPath -PfxPassword $certPassword -PassThru Assert-AreEqual $certId $cert.CertificateId Assert-AreEqual $certThumbprint $cert.Thumbprint Assert-AreEqual $certSubject $cert.Subject # list certificates - $certificates = Get-AzureApiManagementCertificate -Context $context + $certificates = Get-AzureRMApiManagementCertificate -Context $context Assert-AreEqual 1 $certificates.Count Assert-AreEqual $certId $certificates[0].CertificateId @@ -1160,14 +1160,14 @@ Param($resourceGroupName, $serviceName) finally { # remove uploaded certificate - $removed = Remove-AzureApiManagementCertificate -Context $context -CertificateId $certId -Force -PassThru + $removed = Remove-AzureRMApiManagementCertificate -Context $context -CertificateId $certId -Force -PassThru Assert-True {$removed} $cert = $null try { # check it was removed - $cert = Get-AzureApiManagementCertificate -Context $context -CertificateId $certId + $cert = Get-AzureRMApiManagementCertificate -Context $context -CertificateId $certId } catch { @@ -1185,10 +1185,10 @@ function AuthorizationServer-CrudTest { Param($resourceGroupName, $serviceName) - $context = New-AzureApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $serviceName + $context = New-AzureRMApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $serviceName # get all authoriaztion servers - $servers = Get-AzureApiManagementAuthorizationServer -Context $context + $servers = Get-AzureRMApiManagementAuthorizationServer -Context $context Assert-AreEqual 0 $servers.Count @@ -1213,7 +1213,7 @@ Param($resourceGroupName, $serviceName) $supportState = $true $tokenBodyParameters = @{'tokenname'='tokenvalue'} - $server = New-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId -Name $name -Description $description ` + $server = New-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId -Name $name -Description $description ` -ClientRegistrationPageUrl $clientRegistrationEndpoint -AuthorizationEndpointUrl $authorizationEndpoint ` -TokenEndpointUrl $tokenEndpoint -ClientId $clientId -ClientSecret $clientSecret -AuthorizationRequestMethods $authorizationMethods ` -GrantTypes $grantTypes -ClientAuthenticationMethods $clientAuthenticationMethods -TokenBodyParameters $tokenBodyParameters ` @@ -1246,7 +1246,7 @@ Param($resourceGroupName, $serviceName) Assert-AreEqual $supportState $server.SupportState Assert-AreEqual $tokenBodyParameters.Count $server.TokenBodyParameters.Count - $server = Get-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId + $server = Get-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId Assert-AreEqual $serverId $server.ServerId Assert-AreEqual $name $server.Name @@ -1290,7 +1290,7 @@ Param($resourceGroupName, $serviceName) $supportState = $false $tokenBodyParameters = @{'tokenname1'='tokenvalue1'} - $server = Set-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId -Name $name -Description $description ` + $server = Set-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId -Name $name -Description $description ` -ClientRegistrationPageUrl $clientRegistrationEndpoint -AuthorizationEndpointUrl $authorizationEndpoint ` -TokenEndpointUrl $tokenEndpoint -ClientId $clientId -ClientSecret $clientSecret -AuthorizationRequestMethods $authorizationMethods ` -GrantTypes $grantTypes -ClientAuthenticationMethods $clientAuthenticationMethods -TokenBodyParameters $tokenBodyParameters ` @@ -1320,7 +1320,7 @@ Param($resourceGroupName, $serviceName) Assert-AreEqual $supportState $server.SupportState Assert-AreEqual $tokenBodyParameters.Count $server.TokenBodyParameters.Count - $server = Get-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId + $server = Get-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId Assert-AreEqual $serverId $server.ServerId Assert-AreEqual $name $server.Name @@ -1351,14 +1351,14 @@ Param($resourceGroupName, $serviceName) finally { # remove created server - $removed = Remove-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId -Force -PassThru + $removed = Remove-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId -Force -PassThru Assert-True {$removed} $server = $null try { # check it was removed - $server = Get-AzureApiManagementAuthorizationServer -Context $context -ServerId $serverId + $server = Get-AzureRMApiManagementAuthorizationServer -Context $context -ServerId $serverId } catch { diff --git a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/ScenarioTests/Common.ps1 b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/ScenarioTests/Common.ps1 index eb8f458bf182..0275adb24b47 100644 --- a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/ScenarioTests/Common.ps1 +++ b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/ScenarioTests/Common.ps1 @@ -50,6 +50,6 @@ Gets all locations for a provider #> function Get-ProviderLocations($provider) { - $location = Get-AzureLocation | where {$_.Name -eq $provider} + $location = Get-AzureRMLocation | where {$_.Name -eq $provider} $location.Locations } \ No newline at end of file diff --git a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/packages.config b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/packages.config index 3012e66b5419..96be623f83fb 100644 --- a/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/packages.config +++ b/src/ResourceManager/ApiManagement/Commands.SMAPI.Test/packages.config @@ -2,13 +2,13 @@ - + - - + + diff --git a/src/ResourceManager/Automation/AzureRM.Automation.psd1 b/src/ResourceManager/Automation/AzureRM.Automation.psd1 new file mode 100644 index 000000000000..32e34ec0000c --- /dev/null +++ b/src/ResourceManager/Automation/AzureRM.Automation.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Automation' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'bcea1c70-a32b-48c3-a05c-323e1c02f4d3' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Automation' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Automation.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj b/src/ResourceManager/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj similarity index 86% rename from src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj rename to src/ResourceManager/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj index 4f40978789d4..6e42d00691b0 100644 --- a/src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj +++ b/src/ResourceManager/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj @@ -1,5 +1,6 @@  + Debug AnyCPU @@ -17,6 +18,8 @@ ..\..\..\ true + + true @@ -54,8 +57,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -65,7 +68,7 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -163,17 +166,17 @@ - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common - + {90def35a-f7ff-40d0-b008-f489a4c092db} - Commands.ResourceManagement.Automation + Commands.Automation @@ -183,9 +186,11 @@ - - - + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + - Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration. This reference topic for the information technology (IT) professional provides assistance in utilizing the Windows PowerShell cmdlets to script and automate tasks.Azure Automation cmdletsThe following table contains links to the help topics for the Azure Automation cmdlets.CmdletDescriptionExport-AzureAutomationDscConfigurationExports a DSC configuration from Automation to a local file.Export-AzureAutomationDscNodeReportContentExports the raw content of a DSC report sent from a DSC node to Automation.Get-AzureAutomationAccountGets Automation accounts in a resource group.Get-AzureAutomationDscCompilationJobGets DSC compilation jobs in Automation.Get-AzureAutomationDscCompilationJobOutputGets the logging streams of an Automation DSC compilation job.Get-AzureAutomationDscConfigurationGets DSC configurations from Automation.Get-AzureAutomationDscNodeGets DSC nodes from Automation.Get-AzureAutomationDscNodeConfigurationGets metadata for DSC node configurations in Automation.Get-AzureAutomationDscNodeReportGets reports sent from a DSC node to Automation.Get-AzureAutomationDscOnboardingMetaconfigCreates meta-configuration .mof files.Get-AzureAutomationModuleGets metadata for modules from Automation.Get-AzureAutomationRegistrationInfoGets registration information for onboarding a DSC node or hybrid worker to Automation.Import-AzureAutomationDscConfigurationImports a DSC configuration into Automation.New-AzureAutomationAccountCreates an Automation account.New-AzureAutomationKeyRegenerates registration keys for an Automation account.New-AzureAutomationModuleImports a module into Automation.Register-AzureAutomationDscNodeRegisters an Azure virtual machine as a DSC node for an Automation account.Remove-AzureAutomationAccountRemoves an Automation account.Remove-AzureAutomationModuleRemoves a module from Automation.Set-AzureAutomationAccountModifies an Automation account.Set-AzureAutomationDscNodeModifies the node configuration that a DSC node is mapped to.Set-AzureAutomationModuleUpdates a module in Automation.Start-AzureAutomationDscCompilationJobCompiles a DSC configuration in Automation.Unregister-AzureAutomationDscNodeRemoves a DSC node from management by an Automation account.To list all the cmdlets that are available, type Get-Command Module AzureResourceManager -Name *automation.For more information about, or for the syntax of, any of the cmdlets, use the Get-Help <cmdlet name> cmdlet, where <cmdlet name> is the name of the cmdlet that you want to research. For more detailed information, you can run any of the following cmdlets: ? Get-Help <cmdlet name> -Detailed ? Get-Help <cmdlet name> -Examples ? Get-Help <cmdlet name> -Full Export-AzureAutomationDscConfigurationExports a DSC configuration from Automation to a local file. ExportAzureAutomationDscConfigurationThe Export-AzureAutomationDscConfiguration cmdlet exports a PowerShell Desired State Configuration (DSC) configuration from Azure Automation to a local file. The exported file has a .ps1 file name extension.Export-AzureAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet exports a DSC configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC that this cmdlet exports.StringForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.OutputFolderSpecifies the output folder where this cmdlet exports the DSC configuration.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileSlotSpecifies which version of the DSC configuration that this cmdlet exports. Valid values are: + Windows PowerShell® is a task-based command-line shell and scripting language designed especially for system administration. This reference topic for the information technology (IT) professional provides assistance in utilizing the Windows PowerShell cmdlets to script and automate tasks.Azure Automation cmdletsThe following table contains links to the help topics for the Azure Automation cmdlets.CmdletDescriptionExport-AzureRMAutomationDscConfigurationExports a DSC configuration from Automation to a local file.Export-AzureRMAutomationDscNodeReportContentExports the raw content of a DSC report sent from a DSC node to Automation.Get-AzureRMAutomationAccountGets Automation accounts in a resource group.Get-AzureRMAutomationDscCompilationJobGets DSC compilation jobs in Automation.Get-AzureRMAutomationDscCompilationJobOutputGets the logging streams of an Automation DSC compilation job.Get-AzureRMAutomationDscConfigurationGets DSC configurations from Automation.Get-AzureRMAutomationDscNodeGets DSC nodes from Automation.Get-AzureRMAutomationDscNodeConfigurationGets metadata for DSC node configurations in Automation.Get-AzureRMAutomationDscNodeReportGets reports sent from a DSC node to Automation.Get-AzureRMAutomationDscOnboardingMetaconfigCreates meta-configuration .mof files.Get-AzureRMAutomationModuleGets metadata for modules from Automation.Get-AzureRMAutomationRegistrationInfoGets registration information for onboarding a DSC node or hybrid worker to Automation.Import-AzureRMAutomationDscConfigurationImports a DSC configuration into Automation.New-AzureRMAutomationAccountCreates an Automation account.New-AzureRMAutomationKeyRegenerates registration keys for an Automation account.New-AzureRMAutomationModuleImports a module into Automation.Register-AzureRMAutomationDscNodeRegisters an Azure virtual machine as a DSC node for an Automation account.Remove-AzureRMAutomationAccountRemoves an Automation account.Remove-AzureRMAutomationModuleRemoves a module from Automation.Set-AzureRMAutomationAccountModifies an Automation account.Set-AzureRMAutomationDscNodeModifies the node configuration that a DSC node is mapped to.Set-AzureRMAutomationModuleUpdates a module in Automation.Start-AzureRMAutomationDscCompilationJobCompiles a DSC configuration in Automation.Unregister-AzureRMAutomationDscNodeRemoves a DSC node from management by an Automation account.To list all the cmdlets that are available, type Get-Command �Module AzureResourceManager -Name *automation.For more information about, or for the syntax of, any of the cmdlets, use the Get-Help <cmdlet name> cmdlet, where <cmdlet name> is the name of the cmdlet that you want to research. For more detailed information, you can run any of the following cmdlets: ? Get-Help <cmdlet name> -Detailed ? Get-Help <cmdlet name> -Examples ? Get-Help <cmdlet name> -Full Export-AzureRMAutomationDscConfigurationExports a DSC configuration from Automation to a local file. ExportAzureAutomationDscConfigurationThe Export-AzureRMAutomationDscConfiguration cmdlet exports a PowerShell Desired State Configuration (DSC) configuration from Azure Automation to a local file. The exported file has a .ps1 file name extension.Export-AzureRMAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet exports a DSC configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC that this cmdlet exports.StringForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.OutputFolderSpecifies the output folder where this cmdlet exports the DSC configuration.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileSlotSpecifies which version of the DSC configuration that this cmdlet exports. Valid values are: -- Draft -- Published @@ -11,7 +11,7 @@ The default value is Published. StringStringnone 1: Get-AzureAutomationDscConfigurationImport-AzureAutomationDscConfigurationExport-AzureAutomationDscNodeReportContentExports the raw content of a DSC report sent from a DSC node to Automation.ExportAzureAutomationDscNodeReportContentThe Export-AzureAutomationDscNodeReportContent cmdlet exports the raw contents of a PowerShell Desired State Configuration (DSC) report. A DSC node sends a DSC report to Azure Automation.Export-AzureAutomationDscNodeReportContentResourceGroupNameSpecifies the name of a resource group. This cmdlet exports the contents of a report for the DSC node that belongs to the resource group that this cmdlet specifies. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports report content for a DSC node that belongs to the Automation account that this parameter specifies. StringForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.OutputFolderSpecifies the output folder where this cmdlet exports report contents. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNodeIdSpecifies the unique ID of the DSC node for which this cmdlet exports report contents.GuidReportIdSpecifies the unique ID of the DSC node report that this cmdlet exports. GuidAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports report content for a DSC node that belongs to the Automation account that this parameter specifies. StringStringnoneForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.SwitchParameterSwitchParameternoneNodeIdSpecifies the unique ID of the DSC node for which this cmdlet exports report contents.GuidGuidnoneOutputFolderSpecifies the output folder where this cmdlet exports report contents. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneReportIdSpecifies the unique ID of the DSC node report that this cmdlet exports. GuidGuidnoneResourceGroupNameSpecifies the name of a resource group. This cmdlet exports the contents of a report for the DSC node that belongs to the resource group that this cmdlet specifies. StringStringnone 1: Get-AzureAutomationDscNodeReportGet-AzureAutomationAccountGets Automation accounts in a resource group.GetAzureAutomationAccountThe Get-AzureAutomationAccount cmdlet gets Azure Automation accounts in a resource group. For more information about Automation accounts, type Get-Help New-AzureAutomationAccount.Get-AzureAutomationAccountResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringNameSpecifies the name of the Automation account that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureAutomationAccountResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNameSpecifies the name of the Automation account that this cmdlet gets.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringStringnone 1: New-AzureAutomationAccountRemove-AzureAutomationAccountSet-AzureAutomationAccountGet-AzureAutomationDscCompilationJobOutputGets the logging streams of an Automation DSC compilation job.GetAzureAutomationDscCompilationJobOutputThe Get-AzureAutomationDscCompilationJobOutput cmdlet gets the stream records of a PowerShell Desired State Configuration (DSC) compilation job in Azure Automation.Get-AzureAutomationDscCompilationJobOutputResourceGroupNameSpecifies the name of the resource group that contains the DSC compilation job for which this cmdlet gets stream records.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC compilation job.StringIdSpecifies the unique ID of the DSC compilation job for which this cmdlet gets output. GuidProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets stream records that the DSC compilation job outputs after this time. DateTimeOffsetStreamSpecifies the type of stream for the output that this cmdlet gets. Valid values are: +The default value is Published. StringStringnone 1: Get-AzureRMAutomationDscConfigurationImport-AzureRMAutomationDscConfigurationExport-AzureRMAutomationDscNodeReportContentExports the raw content of a DSC report sent from a DSC node to Automation.ExportAzureAutomationDscNodeReportContentThe Export-AzureRMAutomationDscNodeReportContent cmdlet exports the raw contents of a PowerShell Desired State Configuration (DSC) report. A DSC node sends a DSC report to Azure Automation.Export-AzureRMAutomationDscNodeReportContentResourceGroupNameSpecifies the name of a resource group. This cmdlet exports the contents of a report for the DSC node that belongs to the resource group that this cmdlet specifies. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports report content for a DSC node that belongs to the Automation account that this parameter specifies. StringForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.OutputFolderSpecifies the output folder where this cmdlet exports report contents. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNodeIdSpecifies the unique ID of the DSC node for which this cmdlet exports report contents.GuidReportIdSpecifies the unique ID of the DSC node report that this cmdlet exports. GuidAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports report content for a DSC node that belongs to the Automation account that this parameter specifies. StringStringnoneForceIndicates that this cmdlet can replace an existing local file with a new file that has the same name.SwitchParameterSwitchParameternoneNodeIdSpecifies the unique ID of the DSC node for which this cmdlet exports report contents.GuidGuidnoneOutputFolderSpecifies the output folder where this cmdlet exports report contents. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneReportIdSpecifies the unique ID of the DSC node report that this cmdlet exports. GuidGuidnoneResourceGroupNameSpecifies the name of a resource group. This cmdlet exports the contents of a report for the DSC node that belongs to the resource group that this cmdlet specifies. StringStringnone 1: Get-AzureRMAutomationDscNodeReportGet-AzureRMAutomationAccountGets Automation accounts in a resource group.GetAzureAutomationAccountThe Get-AzureRMAutomationAccount cmdlet gets Azure Automation accounts in a resource group. For more information about Automation accounts, type Get-Help New-AzureRMAutomationAccount.Get-AzureRMAutomationAccountResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringNameSpecifies the name of the Automation account that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureRMAutomationAccountResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNameSpecifies the name of the Automation account that this cmdlet gets.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets Automation accounts.StringStringnone 1: New-AzureRMAutomationAccountRemove-AzureRMAutomationAccountSet-AzureRMAutomationAccountGet-AzureRMAutomationDscCompilationJobOutputGets the logging streams of an Automation DSC compilation job.GetAzureAutomationDscCompilationJobOutputThe Get-AzureRMAutomationDscCompilationJobOutput cmdlet gets the stream records of a PowerShell Desired State Configuration (DSC) compilation job in Azure Automation.Get-AzureRMAutomationDscCompilationJobOutputResourceGroupNameSpecifies the name of the resource group that contains the DSC compilation job for which this cmdlet gets stream records.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC compilation job.StringIdSpecifies the unique ID of the DSC compilation job for which this cmdlet gets output. GuidProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets stream records that the DSC compilation job outputs after this time. DateTimeOffsetStreamSpecifies the type of stream for the output that this cmdlet gets. Valid values are: -- Any -- Warning @@ -21,7 +21,7 @@ The default value is Published. CompilationJobStreamTypeCompilationJobStreamTypenone 1: Get-AzureAutomationDscCompilationJobStart-AzureAutomationDscCompilationJobGet-AzureAutomationDscCompilationJobGets DSC compilation jobs in Automation.GetAzureAutomationDscCompilationJobThe Get-AzureAutomationDscCompilationJob cmdlet gets PowerShell Desired State Configuration (DSC) compilation jobs in Azure Automation.Get-AzureAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringEndTimeSpecifies an end time. This cmdlet gets compilations jobs that started up to the time that this parameter specifies. DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets jobs that start at or after the time that this parameter specifies.DateTimeOffsetStatusSpecifies the status of jobs that this cmdlet gets. Valid values are: +-- VerboseCompilationJobStreamTypeCompilationJobStreamTypenone 1: Get-AzureRMAutomationDscCompilationJobStart-AzureRMAutomationDscCompilationJobGet-AzureRMAutomationDscCompilationJobGets DSC compilation jobs in Automation.GetAzureAutomationDscCompilationJobThe Get-AzureRMAutomationDscCompilationJob cmdlet gets PowerShell Desired State Configuration (DSC) compilation jobs in Azure Automation.Get-AzureRMAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringEndTimeSpecifies an end time. This cmdlet gets compilations jobs that started up to the time that this parameter specifies. DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets jobs that start at or after the time that this parameter specifies.DateTimeOffsetStatusSpecifies the status of jobs that this cmdlet gets. Valid values are: -- Completed -- Failed @@ -33,7 +33,7 @@ The default value is Published. CompletedFailedQueuedStartingResumingRunningStoppedStoppingSuspendedSuspendingActivatingGet-AzureAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC compilation job that this cmdlet gets. GuidGet-AzureAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringEndTimeSpecifies an end time. This cmdlet gets compilations jobs that started up to the time that this parameter specifies. DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets jobs that start at or after the time that this parameter specifies.DateTimeOffsetStatusSpecifies the status of jobs that this cmdlet gets. Valid values are: +-- ActivatingCompletedFailedQueuedStartingResumingRunningStoppedStoppingSuspendedSuspendingActivatingGet-AzureRMAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC compilation job that this cmdlet gets. GuidGet-AzureRMAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC compilation jobs. StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC compilation jobs that this cmdlet gets.StringEndTimeSpecifies an end time. This cmdlet gets compilations jobs that started up to the time that this parameter specifies. DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets jobs that start at or after the time that this parameter specifies.DateTimeOffsetStatusSpecifies the status of jobs that this cmdlet gets. Valid values are: -- Completed -- Failed @@ -57,48 +57,48 @@ The default value is Published. StringStringnone 1: Start-AzureAutomationDscCompilationJobGet-AzureAutomationDscCompilationJobOutputGet-AzureAutomationDscConfigurationGets DSC configurations from Automation.GetAzureAutomationDscConfigurationThe Get-AzureAutomationDscConfiguration cmdlet gets PowerShell Desired State Configuration (DSC) configurations from Azure Automation.Get-AzureAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringNameSpecifies the name of the DSC configuration that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringStringnoneNameSpecifies the name of the DSC configuration that this cmdlet gets.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringStringnone 1: Export-AzureAutomationDscConfigurationImport-AzureAutomationDscConfigurationGet-AzureAutomationDscNodeConfigurationGets metadata for DSC node configurations in Automation. GetAzureAutomationDscNodeConfigurationThe Get-AzureAutomationDscNodeConfiguration cmdlet gets metadata for PowerShell Desired State Configuration (DSC) node configurations in Azure Automation. Automation stores DSC node configuration as a Managed Object Format (MOF) configuration document.Get-AzureAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.GoodBadGet-AzureAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNameSpecifies the name of the DSC node configuration for which this cmdlet gets metadata.StringGet-AzureAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.GoodBadConfigurationNameSpecifies the name of DSC configuration for which this cmdlet gets node configuration metadata.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringStringnoneConfigurationNameSpecifies the name of DSC configuration for which this cmdlet gets node configuration metadata.StringStringnoneNameSpecifies the name of the DSC node configuration for which this cmdlet gets metadata.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringStringnoneRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.StringStringnone 1: Get-AzureAutomationDscNodeReportGets reports sent from a DSC node to Automation.GetAzureAutomationDscNodeReportThe Get-AzureAutomationDscNodeReport cmdlet gets reports sent from a PowerShell Desired State Configuration (DSC) node to Azure Automation.Get-AzureAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringEndTimeSpecifies an end time. This cmdlet gets reports that Automation received before this time.DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets reports that Automation received after this time.DateTimeOffsetNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGet-AzureAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringLatestIndicates that this cmdlet gets the latest DSC report for the specified node only.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGet-AzureAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node report for this cmdlet to get. GuidNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringStringnoneEndTimeSpecifies an end time. This cmdlet gets reports that Automation received before this time.DateTimeOffsetDateTimeOffsetnoneIdSpecifies the unique ID of the DSC node report for this cmdlet to get. GuidGuidnoneLatestIndicates that this cmdlet gets the latest DSC report for the specified node only.SwitchParameterSwitchParameternoneNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGuidnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringStringnoneStartTimeSpecifies a start time. This cmdlet gets reports that Automation received after this time.DateTimeOffsetDateTimeOffsetnone 1: Export-AzureAutomationDscNodeReportContentGet-AzureAutomationDscNodeGets DSC nodes from Automation.GetAzureAutomationDscNodeThe Get-AzureAutomationDscNode cmdlet gets PowerShell Desired State Configuration (DSC) nodes from Azure Automation.Get-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: +-- ActivatingStringStringnone 1: Start-AzureRMAutomationDscCompilationJobGet-AzureRMAutomationDscCompilationJobOutputGet-AzureRMAutomationDscConfigurationGets DSC configurations from Automation.GetAzureAutomationDscConfigurationThe Get-AzureRMAutomationDscConfiguration cmdlet gets PowerShell Desired State Configuration (DSC) configurations from Azure Automation.Get-AzureRMAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureRMAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringNameSpecifies the name of the DSC configuration that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account that contains DSC configurations that this cmdlet gets.StringStringnoneNameSpecifies the name of the DSC configuration that this cmdlet gets.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets DSC configurations.StringStringnone 1: Export-AzureRMAutomationDscConfigurationImport-AzureRMAutomationDscConfigurationGet-AzureRMAutomationDscNodeConfigurationGets metadata for DSC node configurations in Automation. GetAzureAutomationDscNodeConfigurationThe Get-AzureRMAutomationDscNodeConfiguration cmdlet gets metadata for PowerShell Desired State Configuration (DSC) node configurations in Azure Automation. Automation stores DSC node configuration as a Managed Object Format (MOF) configuration document.Get-AzureRMAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.GoodBadGet-AzureRMAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNameSpecifies the name of the DSC node configuration for which this cmdlet gets metadata.StringGet-AzureRMAutomationDscNodeConfigurationResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.GoodBadConfigurationNameSpecifies the name of DSC configuration for which this cmdlet gets node configuration metadata.StringAutomationAccountNameSpecifies the name of an Automation account that contains the DSC node configurations for which this cmdlet gets metadata.StringStringnoneConfigurationNameSpecifies the name of DSC configuration for which this cmdlet gets node configuration metadata.StringStringnoneNameSpecifies the name of the DSC node configuration for which this cmdlet gets metadata.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet gets metadata for DSC node configurations in the resource group that this parameter specifies.StringStringnoneRollupStatusSpecifies the rollup status of DSC node configurations that this cmdlet gets. Valid values are: Bad and Good.StringStringnone 1: Get-AzureRMAutomationDscNodeReportGets reports sent from a DSC node to Automation.GetAzureAutomationDscNodeReportThe Get-AzureRMAutomationDscNodeReport cmdlet gets reports sent from a PowerShell Desired State Configuration (DSC) node to Azure Automation.Get-AzureRMAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringEndTimeSpecifies an end time. This cmdlet gets reports that Automation received before this time.DateTimeOffsetProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStartTimeSpecifies a start time. This cmdlet gets reports that Automation received after this time.DateTimeOffsetNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGet-AzureRMAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringLatestIndicates that this cmdlet gets the latest DSC report for the specified node only.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGet-AzureRMAutomationDscNodeReportResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node report for this cmdlet to get. GuidNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidAutomationAccountNameSpecifies the name of an Automation account. This cmdlet exports reports for a DSC node that belongs to the account that this parameter specifies. StringStringnoneEndTimeSpecifies an end time. This cmdlet gets reports that Automation received before this time.DateTimeOffsetDateTimeOffsetnoneIdSpecifies the unique ID of the DSC node report for this cmdlet to get. GuidGuidnoneLatestIndicates that this cmdlet gets the latest DSC report for the specified node only.SwitchParameterSwitchParameternoneNodeIdSpecifies the unique ID of the DSC node for which this cmdlet gets reports.GuidGuidnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group that contains the DSC node for which this cmdlet gets reports. StringStringnoneStartTimeSpecifies a start time. This cmdlet gets reports that Automation received after this time.DateTimeOffsetDateTimeOffsetnone 1: Export-AzureRMAutomationDscNodeReportContentGet-AzureRMAutomationDscNodeGets DSC nodes from Automation.GetAzureAutomationDscNodeThe Get-AzureRMAutomationDscNode cmdlet gets PowerShell Desired State Configuration (DSC) nodes from Azure Automation.Get-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: -- Compliant -- NotCompliant -- Failed -- Pending -- Received --- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveGet-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node that this cmdlet gets.GuidGet-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: +-- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveGet-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node that this cmdlet gets.GuidGet-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: -- Compliant -- NotCompliant -- Failed -- Pending -- Received --- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveNameSpecifies the name of a DSC node that this cmdlet gets.StringGet-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: +-- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveNameSpecifies the name of a DSC node that this cmdlet gets.StringGet-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: -- Compliant -- NotCompliant -- Failed -- Pending -- Received --- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveNodeConfigurationNameSpecifies the name of a node configuration that this cmdlet gets. StringGet-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileConfigurationNameSpecifies the name of a DSC configuration. This cmdlet gets DSC nodes that match the node configurations generated from the configuration that this parameter specifies. StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringStringnoneConfigurationNameSpecifies the name of a DSC configuration. This cmdlet gets DSC nodes that match the node configurations generated from the configuration that this parameter specifies. StringStringnoneIdSpecifies the unique ID of the DSC node that this cmdlet gets.GuidGuidnoneNameSpecifies the name of a DSC node that this cmdlet gets.StringStringnoneNodeConfigurationNameSpecifies the name of a node configuration that this cmdlet gets. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringStringnoneStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: +-- UnresponsiveCompliantNotCompliantFailedPendingReceivedUnresponsiveNodeConfigurationNameSpecifies the name of a node configuration that this cmdlet gets. StringGet-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileConfigurationNameSpecifies the name of a DSC configuration. This cmdlet gets DSC nodes that match the node configurations generated from the configuration that this parameter specifies. StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC nodes that this cmdlet gets.StringStringnoneConfigurationNameSpecifies the name of a DSC configuration. This cmdlet gets DSC nodes that match the node configurations generated from the configuration that this parameter specifies. StringStringnoneIdSpecifies the unique ID of the DSC node that this cmdlet gets.GuidGuidnoneNameSpecifies the name of a DSC node that this cmdlet gets.StringStringnoneNodeConfigurationNameSpecifies the name of a node configuration that this cmdlet gets. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet gets DSC nodes.StringStringnoneStatusSpecifies the status of the DSC nodes that this cmdlet gets. Valid values are: -- Compliant -- NotCompliant -- Failed -- Pending -- Received --- UnresponsiveDscNodeStatusDscNodeStatusnone 1: Register-AzureAutomationDscNodeSet-AzureAutomationDscNodeUnregister-AzureAutomationDscNodeGet-AzureAutomationDscOnboardingMetaconfigCreates meta-configuration .mof files.GetAzureAutomationDscOnboardingMetaconfigThe Get-AzureAutomationDscOnboardingMetaconfig cmdlet creates PowerShell Desired State Configuration (DSC) meta-configuration Managed Object Format (MOF) files. This cmdlet creates a .mof file for each computer name that you specify. The cmdlet creates a folder for the .mof files. You can run the Set-DscLocalConfigurationManager cmdlet against this folder to onboard these computers into an Azure Automation account as DSC nodes.Get-AzureAutomationDscOnboardingMetaconfigResourceGroupNameSpecifies the name of a resource group. This cmdlet creates .mof files to onboard computers in the resource group that this parameter specifies. StringAutomationAccountNameSpecifies the name of an Automation account. You can onboard the computers that the ComputerName parameter specifies to the account that this parameter specifies. StringComputerNameSpecifies an array of names of computers for which this cmdlet generates .mof files. If you do not specify this parameter, the cmdlet generates an .mof file for the current computer (localhost). String[]ForceForces the command to run without prompting you for confirmation, and to replace existing .mof files that have the same name.OutputFolderSpecifies the name of a folder where this cmdlet stores .mof files. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of an Automation account. You can onboard the computers that the ComputerName parameter specifies to the account that this parameter specifies. StringStringnoneComputerNameSpecifies an array of names of computers for which this cmdlet generates .mof files. If you do not specify this parameter, the cmdlet generates an .mof file for the current computer (localhost). String[]String[]noneForceForces the command to run without prompting you for confirmation, and to replace existing .mof files that have the same name.SwitchParameterSwitchParameternoneOutputFolderSpecifies the name of a folder where this cmdlet stores .mof files. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet creates .mof files to onboard computers in the resource group that this parameter specifies. StringStringnone 1: Get-AzureAutomationModuleGets metadata for modules from Automation.GetAzureAutomationModuleThe Get-AzureAutomationModule cmdlet gets metadata for modules from Azure Automation.Get-AzureAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringNameSpecifies the name of the module for which this cmdlet gets metadata. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringStringnoneNameSpecifies the name of the module for which this cmdlet gets metadata. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringStringnone 1: New-AzureAutomationModuleRemove-AzureAutomationModuleSet-AzureAutomationModuleGet-AzureAutomationRegistrationInfoGets registration information for onboarding a DSC node or hybrid worker to Automation. GetAzureAutomationRegistrationInfoThe Get-AzureAutomationRegistrationInfo cmdlet gets the endpoint and keys required to onboard a PowerShell Desired State Configuration (DSC) node or hybrid worker into an Azure Automation account.Get-AzureAutomationRegistrationInfoResourceGroupNameSpecifies the name of a resource group. This cmdlet gets registration information for the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of automation account for which this cmdlet gets registration information. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of automation account for which this cmdlet gets registration information. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet gets registration information for the resource group that this parameter specifies.StringStringnone 1: Get-AzureAutomationAccountGet-AzureAutomationDscNodeNew-AzureAutomationKeyImport-AzureAutomationDscConfigurationImports a DSC configuration into Automation.ImportAzureAutomationDscConfigurationThe Import-AzureAutomationDscConfiguration cmdlet imports a PowerShell Desired State Configuration (DSC) configuration into Azure Automation. Specify the path of a PowerShell script that contains a single DSC configuration.Import-AzureAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a DSC configuration.StringAutomationAccountNameSpecifies the name of the Automation account into which this cmdlet imports a DSC configuration.StringDescriptionSpecifies a description of the configuration that this cmdlet imports. StringForceIndicates that this cmdlet can replace an existing DSC configuration in Automation.LogVerboseSpecifies whether this cmdlet turns verbose logging on or off for compilation jobs of this DSC configuration. Specify a value of $True to turn verbose logging on or $False to turn it off.BooleanProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfilePublishedIndicates that this cmdlet imports the DSC configuration in the published state.TagsSpecifies a dictionary of tags.IDictionarySourcePathSpecifies the path of the PowerShell script that contains the DSC configuration that this cmdlet imports. StringAutomationAccountNameSpecifies the name of the Automation account into which this cmdlet imports a DSC configuration.StringStringnoneDescriptionSpecifies a description of the configuration that this cmdlet imports. StringStringnoneForceIndicates that this cmdlet can replace an existing DSC configuration in Automation.SwitchParameterSwitchParameternoneLogVerboseSpecifies whether this cmdlet turns verbose logging on or off for compilation jobs of this DSC configuration. Specify a value of $True to turn verbose logging on or $False to turn it off.BooleanBooleannoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenonePublishedIndicates that this cmdlet imports the DSC configuration in the published state.SwitchParameterSwitchParameternoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a DSC configuration.StringStringnoneSourcePathSpecifies the path of the PowerShell script that contains the DSC configuration that this cmdlet imports. StringStringnoneTagsSpecifies a dictionary of tags.IDictionaryIDictionarynone 1: Export-AzureAutomationDscConfigurationGet-AzureAutomationDscConfigurationNew-AzureAutomationAccountCreates an Automation account.NewAzureAutomationAccountThe New-AzureAutomationAccount cmdlet creates an Azure Automation account in a resource group.An Automation account is a container for Automation resources that is isolated from the resources of other Automation accounts. Automation resources include runbooks, DSC configurations, jobs, and assets.New-AzureAutomationAccountResourceGroupNameSpecifies the name of a resource group to which this cmdlet adds an Automation account.StringNameSpecifies a name for the Automation account.StringLocationSpecifies the location in which this cmdlet creates the Automation account. To obtain valid locations, use the Get-AzureLocation cmdlet. StringPlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.FreeBasicProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileTagsSpecifies tags for the Automation account.IDictionaryLocationSpecifies the location in which this cmdlet creates the Automation account. To obtain valid locations, use the Get-AzureLocation cmdlet. StringStringnoneNameSpecifies a name for the Automation account.StringStringnonePlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group to which this cmdlet adds an Automation account.StringStringnoneTagsSpecifies tags for the Automation account.IDictionaryIDictionarynone 1: Get-AzureAutomationAccountRemove-AzureAutomationAccountSet-AzureAutomationAccountNew-AzureAutomationKeyRegenerates registration keys for an Automation account.NewAzureAutomationKeyThe New-AzureAutomationKey cmdlet regenerates registration keys for an Azure Automation account.New-AzureAutomationKeyResourceGroupNameSpecifies the name of a resource group. This cmdlet regenerates keys for an Automation account in the resource group that this parameter specifies. StringAutomationAccountNameSpecifies the name of an Automation account for which this cmdlet regenerates keys.StringKeyTypeSpecifies the type of the agent registration key. Valid values are: Primary and Secondary.PrimarySecondaryProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of an Automation account for which this cmdlet regenerates keys.StringStringnoneKeyTypeSpecifies the type of the agent registration key. Valid values are: Primary and Secondary.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet regenerates keys for an Automation account in the resource group that this parameter specifies. StringStringnone 1: Get-AzureAutomationAccountNew-AzureAutomationAccountNew-AzureAutomationModuleImports a module into Automation.NewAzureAutomationModuleThe New-AzureAutomationModule cmdlet imports a module into Azure Automation. This command accepts a compressed file that has a .zip file name extension. The file contains a folder that includes a file that is one of the following types: +-- UnresponsiveDscNodeStatusDscNodeStatusnone 1: Register-AzureRMAutomationDscNodeSet-AzureRMAutomationDscNodeUnregister-AzureRMAutomationDscNodeGet-AzureRMAutomationDscOnboardingMetaconfigCreates meta-configuration .mof files.GetAzureAutomationDscOnboardingMetaconfigThe Get-AzureRMAutomationDscOnboardingMetaconfig cmdlet creates PowerShell Desired State Configuration (DSC) meta-configuration Managed Object Format (MOF) files. This cmdlet creates a .mof file for each computer name that you specify. The cmdlet creates a folder for the .mof files. You can run the Set-DscLocalConfigurationManager cmdlet against this folder to onboard these computers into an Azure Automation account as DSC nodes.Get-AzureRMAutomationDscOnboardingMetaconfigResourceGroupNameSpecifies the name of a resource group. This cmdlet creates .mof files to onboard computers in the resource group that this parameter specifies. StringAutomationAccountNameSpecifies the name of an Automation account. You can onboard the computers that the ComputerName parameter specifies to the account that this parameter specifies. StringComputerNameSpecifies an array of names of computers for which this cmdlet generates .mof files. If you do not specify this parameter, the cmdlet generates an .mof file for the current computer (localhost). String[]ForceForces the command to run without prompting you for confirmation, and to replace existing .mof files that have the same name.OutputFolderSpecifies the name of a folder where this cmdlet stores .mof files. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of an Automation account. You can onboard the computers that the ComputerName parameter specifies to the account that this parameter specifies. StringStringnoneComputerNameSpecifies an array of names of computers for which this cmdlet generates .mof files. If you do not specify this parameter, the cmdlet generates an .mof file for the current computer (localhost). String[]String[]noneForceForces the command to run without prompting you for confirmation, and to replace existing .mof files that have the same name.SwitchParameterSwitchParameternoneOutputFolderSpecifies the name of a folder where this cmdlet stores .mof files. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet creates .mof files to onboard computers in the resource group that this parameter specifies. StringStringnone 1: Get-AzureRMAutomationModuleGets metadata for modules from Automation.GetAzureAutomationModuleThe Get-AzureRMAutomationModule cmdlet gets metadata for modules from Azure Automation.Get-AzureRMAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileGet-AzureRMAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringNameSpecifies the name of the module for which this cmdlet gets metadata. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet gets module metadata. StringStringnoneNameSpecifies the name of the module for which this cmdlet gets metadata. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet gets module metadata.StringStringnone 1: New-AzureRMAutomationModuleRemove-AzureRMAutomationModuleSet-AzureRMAutomationModuleGet-AzureRMAutomationRegistrationInfoGets registration information for onboarding a DSC node or hybrid worker to Automation. GetAzureAutomationRegistrationInfoThe Get-AzureRMAutomationRegistrationInfo cmdlet gets the endpoint and keys required to onboard a PowerShell Desired State Configuration (DSC) node or hybrid worker into an Azure Automation account.Get-AzureRMAutomationRegistrationInfoResourceGroupNameSpecifies the name of a resource group. This cmdlet gets registration information for the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of automation account for which this cmdlet gets registration information. StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of automation account for which this cmdlet gets registration information. StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet gets registration information for the resource group that this parameter specifies.StringStringnone 1: Get-AzureRMAutomationAccountGet-AzureRMAutomationDscNodeNew-AzureRMAutomationKeyImport-AzureRMAutomationDscConfigurationImports a DSC configuration into Automation.ImportAzureAutomationDscConfigurationThe Import-AzureRMAutomationDscConfiguration cmdlet imports a PowerShell Desired State Configuration (DSC) configuration into Azure Automation. Specify the path of a PowerShell script that contains a single DSC configuration.Import-AzureRMAutomationDscConfigurationResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a DSC configuration.StringAutomationAccountNameSpecifies the name of the Automation account into which this cmdlet imports a DSC configuration.StringDescriptionSpecifies a description of the configuration that this cmdlet imports. StringForceIndicates that this cmdlet can replace an existing DSC configuration in Automation.LogVerboseSpecifies whether this cmdlet turns verbose logging on or off for compilation jobs of this DSC configuration. Specify a value of $True to turn verbose logging on or $False to turn it off.BooleanProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfilePublishedIndicates that this cmdlet imports the DSC configuration in the published state.TagsSpecifies a dictionary of tags.IDictionarySourcePathSpecifies the path of the PowerShell script that contains the DSC configuration that this cmdlet imports. StringAutomationAccountNameSpecifies the name of the Automation account into which this cmdlet imports a DSC configuration.StringStringnoneDescriptionSpecifies a description of the configuration that this cmdlet imports. StringStringnoneForceIndicates that this cmdlet can replace an existing DSC configuration in Automation.SwitchParameterSwitchParameternoneLogVerboseSpecifies whether this cmdlet turns verbose logging on or off for compilation jobs of this DSC configuration. Specify a value of $True to turn verbose logging on or $False to turn it off.BooleanBooleannoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenonePublishedIndicates that this cmdlet imports the DSC configuration in the published state.SwitchParameterSwitchParameternoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a DSC configuration.StringStringnoneSourcePathSpecifies the path of the PowerShell script that contains the DSC configuration that this cmdlet imports. StringStringnoneTagsSpecifies a dictionary of tags.IDictionaryIDictionarynone 1: Export-AzureRMAutomationDscConfigurationGet-AzureRMAutomationDscConfigurationNew-AzureRMAutomationAccountCreates an Automation account.NewAzureAutomationAccountThe New-AzureRMAutomationAccount cmdlet creates an Azure Automation account in a resource group.An Automation account is a container for Automation resources that is isolated from the resources of other Automation accounts. Automation resources include runbooks, DSC configurations, jobs, and assets.New-AzureRMAutomationAccountResourceGroupNameSpecifies the name of a resource group to which this cmdlet adds an Automation account.StringNameSpecifies a name for the Automation account.StringLocationSpecifies the location in which this cmdlet creates the Automation account. To obtain valid locations, use the Get-AzureRMLocation cmdlet. StringPlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.FreeBasicProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileTagsSpecifies tags for the Automation account.IDictionaryLocationSpecifies the location in which this cmdlet creates the Automation account. To obtain valid locations, use the Get-AzureRMLocation cmdlet. StringStringnoneNameSpecifies a name for the Automation account.StringStringnonePlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group to which this cmdlet adds an Automation account.StringStringnoneTagsSpecifies tags for the Automation account.IDictionaryIDictionarynone 1: Get-AzureRMAutomationAccountRemove-AzureRMAutomationAccountSet-AzureRMAutomationAccountNew-AzureRMAutomationKeyRegenerates registration keys for an Automation account.NewAzureAutomationKeyThe New-AzureRMAutomationKey cmdlet regenerates registration keys for an Azure Automation account.New-AzureRMAutomationKeyResourceGroupNameSpecifies the name of a resource group. This cmdlet regenerates keys for an Automation account in the resource group that this parameter specifies. StringAutomationAccountNameSpecifies the name of an Automation account for which this cmdlet regenerates keys.StringKeyTypeSpecifies the type of the agent registration key. Valid values are: Primary and Secondary.PrimarySecondaryProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of an Automation account for which this cmdlet regenerates keys.StringStringnoneKeyTypeSpecifies the type of the agent registration key. Valid values are: Primary and Secondary.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group. This cmdlet regenerates keys for an Automation account in the resource group that this parameter specifies. StringStringnone 1: Get-AzureRMAutomationAccountNew-AzureRMAutomationAccountNew-AzureRMAutomationModuleImports a module into Automation.NewAzureAutomationModuleThe New-AzureRMAutomationModule cmdlet imports a module into Azure Automation. This command accepts a compressed file that has a .zip file name extension. The file contains a folder that includes a file that is one of the following types: -- Azure PowerShell module, which has a .psm1 file name extension -- Azure PowerShell module manifest, which has a .psd1 file name extension --- Dynamic link library, which has a .dll file name extensionThe name of the .zip file, the name of the folder, and the name of the file in the folder must be the same.Specify the .zip file as a URL that this computer can access.New-AzureAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a module.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet imports a module. StringNameSpecifies the name of the module that this cmdlet imports.StringContentLinkSpecifies the URL of the .zip file that contains a module that this cmdlet imports.UriProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet imports a module. StringStringnoneContentLinkSpecifies the URL of the .zip file that contains a module that this cmdlet imports.UriUrinoneNameSpecifies the name of the module that this cmdlet imports.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a module.StringStringnone 1: Get-AzureAutomationModuleRemove-AzureAutomationModuleSet-AzureAutomationModuleRegister-AzureAutomationDscNodeRegisters an Azure virtual machine as a DSC node for an Automation account.RegisterAzureAutomationDscNodeThe Register-AzureAutomationDscNode cmdlet registers an Azure virtual machine as an Azure PowerShell Desired State Configuration (DSC) node in an Azure Automation account.Register-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group. The Automation account with which this cmdlet registers a virtual machine belongs to the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account in which this cmdlet registers a virtual machine.StringActionAfterRebootSpecifies the action that the virtual machine takes after it restarts. Valid values are: ContinueConfiguration and StopConfiguration. ContinueConfigurationStopConfigurationAllowModuleOverwriteSpecifies whether new configurations that this DSC node downloads from the Azure Automation DSC pull server replace the existing modules already on the target node.BooleanAzureVMLocationSpecifies the location in which this cmdlet registers a virtual machine. To obtain valid locations, use the Get-AzureLocation cmdlet. StringAzureVMResourceGroupSpecifies the name of the resource group of the Azure virtual machine that this cmdlet registers.StringConfigurationModeSpecifies the DSC configuration mode. Valid values are: +-- Dynamic link library, which has a .dll file name extensionThe name of the .zip file, the name of the folder, and the name of the file in the folder must be the same.Specify the .zip file as a URL that this computer can access.New-AzureRMAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a module.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet imports a module. StringNameSpecifies the name of the module that this cmdlet imports.StringContentLinkSpecifies the URL of the .zip file that contains a module that this cmdlet imports.UriProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet imports a module. StringStringnoneContentLinkSpecifies the URL of the .zip file that contains a module that this cmdlet imports.UriUrinoneNameSpecifies the name of the module that this cmdlet imports.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet imports a module.StringStringnone 1: Get-AzureRMAutomationModuleRemove-AzureRMAutomationModuleSet-AzureRMAutomationModuleRegister-AzureRMAutomationDscNodeRegisters an Azure virtual machine as a DSC node for an Automation account.RegisterAzureAutomationDscNodeThe Register-AzureRMAutomationDscNode cmdlet registers an Azure virtual machine as an Azure PowerShell Desired State Configuration (DSC) node in an Azure Automation account.Register-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group. The Automation account with which this cmdlet registers a virtual machine belongs to the resource group that this parameter specifies.StringAutomationAccountNameSpecifies the name of an Automation account in which this cmdlet registers a virtual machine.StringActionAfterRebootSpecifies the action that the virtual machine takes after it restarts. Valid values are: ContinueConfiguration and StopConfiguration. ContinueConfigurationStopConfigurationAllowModuleOverwriteSpecifies whether new configurations that this DSC node downloads from the Azure Automation DSC pull server replace the existing modules already on the target node.BooleanAzureVMLocationSpecifies the location in which this cmdlet registers a virtual machine. To obtain valid locations, use the Get-AzureRMLocation cmdlet. StringAzureVMResourceGroupSpecifies the name of the resource group of the Azure virtual machine that this cmdlet registers.StringConfigurationModeSpecifies the DSC configuration mode. Valid values are: -- ApplyAndMonitor -- ApplyAndAutocorrect --- ApplyOnlyApplyAndMonitorApplyAndAutocorrectApplyOnlyConfigurationModeFrequencyMinsSpecifies the frequency, in minutes, at which the background application of DSC attempts to implement the current configuration on the target node.Int32NodeConfigurationNameSpecifies the name of the node configuration that this cmdlet configures the virtual machine to pull from Azure Automation DSC.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRebootNodeIfNeededSpecifies whether to restart the virtual machine, if needed. BooleanRefreshFrequencyMinsSpecifies the frequency, in minutes, at which the local Configuration Manager contacts the Azure Automation DSC pull server to download the latest node configuration.Int32AzureVMNameSpecifies the name of the Azure virtual machine that this cmdlet registers for management. StringActionAfterRebootSpecifies the action that the virtual machine takes after it restarts. Valid values are: ContinueConfiguration and StopConfiguration. StringStringnoneAllowModuleOverwriteSpecifies whether new configurations that this DSC node downloads from the Azure Automation DSC pull server replace the existing modules already on the target node.BooleanBooleannoneAutomationAccountNameSpecifies the name of an Automation account in which this cmdlet registers a virtual machine.StringStringnoneAzureVMLocationSpecifies the location in which this cmdlet registers a virtual machine. To obtain valid locations, use the Get-AzureLocation cmdlet. StringStringnoneAzureVMNameSpecifies the name of the Azure virtual machine that this cmdlet registers for management. StringStringnoneAzureVMResourceGroupSpecifies the name of the resource group of the Azure virtual machine that this cmdlet registers.StringStringnoneConfigurationModeSpecifies the DSC configuration mode. Valid values are: +-- ApplyOnlyApplyAndMonitorApplyAndAutocorrectApplyOnlyConfigurationModeFrequencyMinsSpecifies the frequency, in minutes, at which the background application of DSC attempts to implement the current configuration on the target node.Int32NodeConfigurationNameSpecifies the name of the node configuration that this cmdlet configures the virtual machine to pull from Azure Automation DSC.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileRebootNodeIfNeededSpecifies whether to restart the virtual machine, if needed. BooleanRefreshFrequencyMinsSpecifies the frequency, in minutes, at which the local Configuration Manager contacts the Azure Automation DSC pull server to download the latest node configuration.Int32AzureVMNameSpecifies the name of the Azure virtual machine that this cmdlet registers for management. StringActionAfterRebootSpecifies the action that the virtual machine takes after it restarts. Valid values are: ContinueConfiguration and StopConfiguration. StringStringnoneAllowModuleOverwriteSpecifies whether new configurations that this DSC node downloads from the Azure Automation DSC pull server replace the existing modules already on the target node.BooleanBooleannoneAutomationAccountNameSpecifies the name of an Automation account in which this cmdlet registers a virtual machine.StringStringnoneAzureVMLocationSpecifies the location in which this cmdlet registers a virtual machine. To obtain valid locations, use the Get-AzureRMLocation cmdlet. StringStringnoneAzureVMNameSpecifies the name of the Azure virtual machine that this cmdlet registers for management. StringStringnoneAzureVMResourceGroupSpecifies the name of the resource group of the Azure virtual machine that this cmdlet registers.StringStringnoneConfigurationModeSpecifies the DSC configuration mode. Valid values are: -- ApplyAndMonitor -- ApplyAndAutocorrect --- ApplyOnlyStringStringnoneConfigurationModeFrequencyMinsSpecifies the frequency, in minutes, at which the background application of DSC attempts to implement the current configuration on the target node.Int32Int32noneNodeConfigurationNameSpecifies the name of the node configuration that this cmdlet configures the virtual machine to pull from Azure Automation DSC.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneRebootNodeIfNeededSpecifies whether to restart the virtual machine, if needed. BooleanBooleannoneRefreshFrequencyMinsSpecifies the frequency, in minutes, at which the local Configuration Manager contacts the Azure Automation DSC pull server to download the latest node configuration.Int32Int32noneResourceGroupNameSpecifies the name of a resource group. The Automation account with which this cmdlet registers a virtual machine belongs to the resource group that this parameter specifies.StringStringnone 1: Get-AzureAutomationDscNodeSet-AzureAutomationDscNodeUnregister-AzureAutomationDscNodeRemove-AzureAutomationAccountRemoves an Automation account.RemoveAzureAutomationAccountThe Remove-AzureAutomationAccount cmdlet removes an Azure Automation account from a resource group.For more information about Automation accounts, type Get-Help New-AzureAutomationAccount.Remove-AzureAutomationAccountResourceGroupNameSpecifies the name of the resource group from which this cmdlet removes an Automation account.StringNameSpecifies the name of the Automation account that this cmdlet removes.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneNameSpecifies the name of the Automation account that this cmdlet removes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of the resource group from which this cmdlet removes an Automation account.StringStringnone 1: Get-AzureAutomationAccountNew-AzureAutomationAccountSet-AzureAutomationAccountRemove-AzureAutomationModuleRemoves a module from Automation.RemoveAzureAutomationModuleThe Remove-AzureAutomationModule cmdlet removes a module from an Automation account in Azure Automation.Remove-AzureAutomationModuleResourceGroupNameSpecifies the name of a resource group in which this cmdlet removes a module. StringAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a module.StringNameSpecifies the name of the module that this cmdlet removes.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a module.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneNameSpecifies the name of the module that this cmdlet removes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet removes a module. StringStringnone 1: Get-AzureAutomationModuleNew-AzureAutomationModuleSet-AzureAutomationModuleSet-AzureAutomationAccountModifies an Automation account.SetAzureAutomationAccountThe Set-AzureAutomationAccount cmdlet modifies an Azure Automation account.For more information about Automation accounts, type Get-Help New-AzureAutomationAccount.Set-AzureAutomationAccountResourceGroupNameSpecifies the name of a resource group that contains the Automation account that this cmdlet modifies.StringNameSpecifies the name of the Automation account that this cmdlet modifies.StringPlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.FreeBasicProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileTagsSpecifies Automation account tags for the Automation account.IDictionaryNameSpecifies the name of the Automation account that this cmdlet modifies.StringStringnonePlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group that contains the Automation account that this cmdlet modifies.StringStringnoneTagsSpecifies Automation account tags for the Automation account.IDictionaryIDictionarynone 1: Get-AzureAutomationAccountNew-AzureAutomationAccountRemove-AzureAutomationAccountSet-AzureAutomationDscNodeModifies the node configuration that a DSC node is mapped to.SetAzureAutomationDscNodeThe Set-AzureAutomationDscNode cmdlet modifies a PowerShell Desired State Configuration (DSC) node configuration. Azure Automation stores DSC node configuration as a Managed Object Format (MOF) configuration document.Set-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet modifies a DSC node configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC node for which this cmdlet modifies the configuration.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node for which this cmdlet modifies the configuration.GuidNodeConfigurationNameSpecifies the name of the node configuration to which this cmdlet maps the node.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC node for which this cmdlet modifies the configuration.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneIdSpecifies the unique ID of the DSC node for which this cmdlet modifies the configuration.GuidGuidnoneNodeConfigurationNameSpecifies the name of the node configuration to which this cmdlet maps the node.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet modifies a DSC node configuration.StringStringnone 1: Get-AzureAutomationDscNodeRegister-AzureAutomationDscNodeUnregister-AzureAutomationDscNodeSet-AzureAutomationModuleUpdates a module in Automation.SetAzureAutomationModuleThe Set-AzureAutomationModule cmdlet updates a module in Azure Automation. This command accepts a compressed file that has a .zip file name extension. The file contains a folder that includes a file that is one of the following types: +-- ApplyOnlyStringStringnoneConfigurationModeFrequencyMinsSpecifies the frequency, in minutes, at which the background application of DSC attempts to implement the current configuration on the target node.Int32Int32noneNodeConfigurationNameSpecifies the name of the node configuration that this cmdlet configures the virtual machine to pull from Azure Automation DSC.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneRebootNodeIfNeededSpecifies whether to restart the virtual machine, if needed. BooleanBooleannoneRefreshFrequencyMinsSpecifies the frequency, in minutes, at which the local Configuration Manager contacts the Azure Automation DSC pull server to download the latest node configuration.Int32Int32noneResourceGroupNameSpecifies the name of a resource group. The Automation account with which this cmdlet registers a virtual machine belongs to the resource group that this parameter specifies.StringStringnone 1: Get-AzureRMAutomationDscNodeSet-AzureRMAutomationDscNodeUnregister-AzureRMAutomationDscNodeRemove-AzureRMAutomationAccountRemoves an Automation account.RemoveAzureAutomationAccountThe Remove-AzureRMAutomationAccount cmdlet removes an Azure Automation account from a resource group.For more information about Automation accounts, type Get-Help New-AzureRMAutomationAccount.Remove-AzureRMAutomationAccountResourceGroupNameSpecifies the name of the resource group from which this cmdlet removes an Automation account.StringNameSpecifies the name of the Automation account that this cmdlet removes.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneNameSpecifies the name of the Automation account that this cmdlet removes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of the resource group from which this cmdlet removes an Automation account.StringStringnone 1: Get-AzureRMAutomationAccountNew-AzureRMAutomationAccountSet-AzureRMAutomationAccountRemove-AzureRMAutomationModuleRemoves a module from Automation.RemoveAzureAutomationModuleThe Remove-AzureRMAutomationModule cmdlet removes a module from an Automation account in Azure Automation.Remove-AzureRMAutomationModuleResourceGroupNameSpecifies the name of a resource group in which this cmdlet removes a module. StringAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a module.StringNameSpecifies the name of the module that this cmdlet removes.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a module.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneNameSpecifies the name of the module that this cmdlet removes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet removes a module. StringStringnone 1: Get-AzureRMAutomationModuleNew-AzureRMAutomationModuleSet-AzureRMAutomationModuleSet-AzureRMAutomationAccountModifies an Automation account.SetAzureAutomationAccountThe Set-AzureRMAutomationAccount cmdlet modifies an Azure Automation account.For more information about Automation accounts, type Get-Help New-AzureRMAutomationAccount.Set-AzureRMAutomationAccountResourceGroupNameSpecifies the name of a resource group that contains the Automation account that this cmdlet modifies.StringNameSpecifies the name of the Automation account that this cmdlet modifies.StringPlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.FreeBasicProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileTagsSpecifies Automation account tags for the Automation account.IDictionaryNameSpecifies the name of the Automation account that this cmdlet modifies.StringStringnonePlanSpecifies the plan for the Automation account. Valid values are: Basic and Free.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group that contains the Automation account that this cmdlet modifies.StringStringnoneTagsSpecifies Automation account tags for the Automation account.IDictionaryIDictionarynone 1: Get-AzureRMAutomationAccountNew-AzureRMAutomationAccountRemove-AzureRMAutomationAccountSet-AzureRMAutomationDscNodeModifies the node configuration that a DSC node is mapped to.SetAzureAutomationDscNodeThe Set-AzureRMAutomationDscNode cmdlet modifies a PowerShell Desired State Configuration (DSC) node configuration. Azure Automation stores DSC node configuration as a Managed Object Format (MOF) configuration document.Set-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet modifies a DSC node configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC node for which this cmdlet modifies the configuration.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node for which this cmdlet modifies the configuration.GuidNodeConfigurationNameSpecifies the name of the node configuration to which this cmdlet maps the node.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC node for which this cmdlet modifies the configuration.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneIdSpecifies the unique ID of the DSC node for which this cmdlet modifies the configuration.GuidGuidnoneNodeConfigurationNameSpecifies the name of the node configuration to which this cmdlet maps the node.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet modifies a DSC node configuration.StringStringnone 1: Get-AzureRMAutomationDscNodeRegister-AzureRMAutomationDscNodeUnregister-AzureRMAutomationDscNodeSet-AzureRMAutomationModuleUpdates a module in Automation.SetAzureAutomationModuleThe Set-AzureRMAutomationModule cmdlet updates a module in Azure Automation. This command accepts a compressed file that has a .zip file name extension. The file contains a folder that includes a file that is one of the following types: -- Azure PowerShell module, which has a .psm1 file name extension -- Azure PowerShell module manifest, which has a .psd1 file name extension --- Dynamic link library, which has a .dll file name extensionThe name of the .zip file, the name of the folder, and the name of the file in the folder must be the same.Specify the .zip file as a URL that this computer can access.Set-AzureAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet updates a module.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet updates a module.StringNameSpecifies the name of the module that this cmdlet imports.StringContentLinkUriSpecifies the URL of the .zip file that contains the new version of a module that this cmdlet imports.UriContentLinkVersionSpecifies the version of the module to which this cmdlet updates Automation.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet updates a module.StringStringnoneContentLinkUriSpecifies the URL of the .zip file that contains the new version of a module that this cmdlet imports.UriUrinoneContentLinkVersionSpecifies the version of the module to which this cmdlet updates Automation.StringStringnoneNameSpecifies the name of the module that this cmdlet imports.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet updates a module.StringStringnone 1: Get-AzureAutomationModuleNew-AzureAutomationModuleRemove-AzureAutomationModuleStart-AzureAutomationDscCompilationJobCompiles a DSC configuration in Automation.StartAzureAutomationDscCompilationJobThe Start-AzureAutomationDscCompilationJob cmdlet compiles an Azure PowerShell Desired State Configuration (DSC) configuration in Azure Automation. Start-AzureAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet compiles a configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC configuration that this cmdlet compiles. StringConfigurationNameSpecifies the name of the DSC configuration that this cmdlet compiles. StringParametersSpecifies a dictionary of parameters that this cmdlet uses to compile the DSC configuration. IDictionaryProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account that contains the DSC configuration that this cmdlet compiles. StringStringnoneConfigurationNameSpecifies the name of the DSC configuration that this cmdlet compiles. StringStringnoneParametersSpecifies a dictionary of parameters that this cmdlet uses to compile the DSC configuration. IDictionaryIDictionarynoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet compiles a configuration.StringStringnone 1: Get-AzureAutomationDscCompilationJobGet-AzureAutomationDscCompilationJobOutputUnregister-AzureAutomationDscNodeRemoves a DSC node from management by an Automation account.UnregisterAzureAutomationDscNodeThe Unregister-AzureAutomationDscNode cmdlet removes an Azure PowerShell Desired State Configuration (DSC) node from management by an Azure Automation account.Unregister-AzureAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet unregisters a DSC node.StringAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a DSC node.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node that this cmdlet removes.GuidAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a DSC node.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneIdSpecifies the unique ID of the DSC node that this cmdlet removes.GuidGuidnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet unregisters a DSC node.StringStringnone 1: Get-AzureAutomationDscNodeRegister-AzureAutomationDscNodeSet-AzureAutomationDscNode +-- Dynamic link library, which has a .dll file name extensionThe name of the .zip file, the name of the folder, and the name of the file in the folder must be the same.Specify the .zip file as a URL that this computer can access.Set-AzureRMAutomationModuleResourceGroupNameSpecifies the name of a resource group for which this cmdlet updates a module.StringAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet updates a module.StringNameSpecifies the name of the module that this cmdlet imports.StringContentLinkUriSpecifies the URL of the .zip file that contains the new version of a module that this cmdlet imports.UriContentLinkVersionSpecifies the version of the module to which this cmdlet updates Automation.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account for which this cmdlet updates a module.StringStringnoneContentLinkUriSpecifies the URL of the .zip file that contains the new version of a module that this cmdlet imports.UriUrinoneContentLinkVersionSpecifies the version of the module to which this cmdlet updates Automation.StringStringnoneNameSpecifies the name of the module that this cmdlet imports.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group for which this cmdlet updates a module.StringStringnone 1: Get-AzureRMAutomationModuleNew-AzureRMAutomationModuleRemove-AzureRMAutomationModuleStart-AzureRMAutomationDscCompilationJobCompiles a DSC configuration in Automation.StartAzureAutomationDscCompilationJobThe Start-AzureRMAutomationDscCompilationJob cmdlet compiles an Azure PowerShell Desired State Configuration (DSC) configuration in Azure Automation. Start-AzureRMAutomationDscCompilationJobResourceGroupNameSpecifies the name of a resource group in which this cmdlet compiles a configuration.StringAutomationAccountNameSpecifies the name of the Automation account that contains the DSC configuration that this cmdlet compiles. StringConfigurationNameSpecifies the name of the DSC configuration that this cmdlet compiles. StringParametersSpecifies a dictionary of parameters that this cmdlet uses to compile the DSC configuration. IDictionaryProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAutomationAccountNameSpecifies the name of the Automation account that contains the DSC configuration that this cmdlet compiles. StringStringnoneConfigurationNameSpecifies the name of the DSC configuration that this cmdlet compiles. StringStringnoneParametersSpecifies a dictionary of parameters that this cmdlet uses to compile the DSC configuration. IDictionaryIDictionarynoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet compiles a configuration.StringStringnone 1: Get-AzureRMAutomationDscCompilationJobGet-AzureRMAutomationDscCompilationJobOutputUnregister-AzureRMAutomationDscNodeRemoves a DSC node from management by an Automation account.UnregisterAzureAutomationDscNodeThe Unregister-AzureRMAutomationDscNode cmdlet removes an Azure PowerShell Desired State Configuration (DSC) node from management by an Azure Automation account.Unregister-AzureRMAutomationDscNodeResourceGroupNameSpecifies the name of a resource group in which this cmdlet unregisters a DSC node.StringAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a DSC node.StringForceForces the command to run without asking for user confirmation.ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileIdSpecifies the unique ID of the DSC node that this cmdlet removes.GuidAutomationAccountNameSpecifies the name of the Automation account from which this cmdlet removes a DSC node.StringStringnoneForceForces the command to run without asking for user confirmation.SwitchParameterSwitchParameternoneIdSpecifies the unique ID of the DSC node that this cmdlet removes.GuidGuidnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the name of a resource group in which this cmdlet unregisters a DSC node.StringStringnone 1: Get-AzureRMAutomationDscNodeRegister-AzureRMAutomationDscNodeSet-AzureRMAutomationDscNode diff --git a/src/ResourceManager/Automation/Commands.Automation/packages.config b/src/ResourceManager/Automation/Commands.Automation/packages.config index 0b329390e4e1..94bde317b5e4 100644 --- a/src/ResourceManager/Automation/Commands.Automation/packages.config +++ b/src/ResourceManager/Automation/Commands.Automation/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ResourceManager/AzureBackup/AzureRM.AzureBackup.psd1 b/src/ResourceManager/AzureBackup/AzureRM.AzureBackup.psd1 new file mode 100644 index 000000000000..41305a372432 --- /dev/null +++ b/src/ResourceManager/AzureBackup/AzureRM.AzureBackup.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.AzureBackup' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '0b1d76f5-a928-4b8f-9c83-df26947568d4' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - AzureBackup' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.AzureBackup.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.AzureBackup.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 f0fdd55696d6..0d7daab37859 100644 --- a/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj +++ b/src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -14,7 +14,7 @@ 512 ..\..\..\ true - 0043d215 + baa2b15b true @@ -36,8 +36,8 @@ - False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.4-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll @@ -46,8 +46,6 @@ False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll @@ -58,10 +56,10 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -91,10 +89,6 @@ ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll - - False - ..\..\..\packages\Hydra.SpecTestSupport.1.0.5417.13285-prerelease\lib\net45\Microsoft.WindowsAzure.Testing.dll - ..\..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll @@ -123,11 +117,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -146,13 +141,9 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {6C8D2337-C9D1-4F52-94B3-AB63A19F3453} @@ -265,14 +256,10 @@ 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}. - + - - - - - - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys Gets the specified key of the specified Batch accounts under the current subscription. @@ -11,15 +11,15 @@ Get - AzureBatchAccountKeys + AzureRMBatchAccountKeys - The Get-AzureBatchAccountKeys cmdlet gets the specified key of the specified Azure Batch accounts under the current subscription. + The Get-AzureRMBatchAccountKeys cmdlet gets the specified key of the specified Azure Batch accounts under the current subscription. - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys AccountName @@ -133,7 +133,7 @@ - New-AzureBatchAccountKey + New-AzureRMBatchAccountKey @@ -144,7 +144,7 @@ - Get-AzureBatchAccount + Get-AzureRMBatchAccount Gets a Batch account under the current subscription. @@ -152,15 +152,15 @@ Get - AzureBatchAccount + AzureRMBatchAccount - The Get-AzureBatchAccount cmdlet gets an Azure Batch account under the current subscription. You can use the AccountName parameter to get a single account, or you can use the ResourceGroupName parameter to get accounts under that resource group. + The Get-AzureRMBatchAccount cmdlet gets an Azure Batch account under the current subscription. You can use the AccountName parameter to get a single account, or you can use the ResourceGroupName parameter to get accounts under that resource group. - Get-AzureBatchAccount + Get-AzureRMBatchAccount AccountName @@ -283,7 +283,7 @@ - PS C:\>Get-AzureBatchAccount -AccountName "pfuller" + PS C:\>Get-AzureRMBatchAccount -AccountName "pfuller" AccountName Location ResourceGroupName Tags TaskTenantUrl ----------- -------- ----------------- ---- ------------- pfuller westus CmdletExampleRG https://pfuller.westus.batch.azure.com @@ -305,7 +305,7 @@ pfuller westus CmdletExampleRG https: - PS C:\>Get-AzureBatchAccount -ResourceGroupName "CmdletExampleRG" + PS C:\>Get-AzureRMBatchAccount -ResourceGroupName "CmdletExampleRG" AccountName Location ResourceGroupName Tags TaskTenantUrl ----------- -------- ----------------- ---- ------------- cmdletexample westus CmdletExampleRG https://cmdletexample.westus.batch.azure.com @@ -325,15 +325,15 @@ cmdletexample2 westus CmdletExampleRG https: - New-AzureBatchAccount + New-AzureRMBatchAccount - Remove-AzureBatchAccount + Remove-AzureRMBatchAccount - Set-AzureBatchAccount + Set-AzureRMBatchAccount @@ -385,7 +385,7 @@ cmdletexample2 westus CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -423,7 +423,7 @@ cmdletexample2 westus CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -461,7 +461,7 @@ cmdletexample2 westus CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -471,7 +471,7 @@ cmdletexample2 westus CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -613,7 +613,7 @@ CertificateReferences : Errors : - This command gets the compute node that has the ID tvm-2316545714_1-20150725t213220z from the pool that has the ID Pool06. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + This command gets the compute node that has the ID tvm-2316545714_1-20150725t213220z from the pool that has the ID Pool06. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -786,7 +786,7 @@ Errors : BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -810,7 +810,7 @@ Errors : BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -820,7 +820,7 @@ Errors : BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1064,7 +1064,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobsc BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1088,7 +1088,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobsc BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1126,7 +1126,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobsc BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1136,7 +1136,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobsc BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1374,7 +1374,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -1441,7 +1441,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1465,7 +1465,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1531,7 +1531,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1576,7 +1576,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1607,7 +1607,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1638,7 +1638,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1655,7 +1655,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -1819,7 +1819,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ PS C:\>Get-AzureBatchNodeFileContent -JobId "Job01" -TaskId "Task01" -Name "StdOut.txt" -DestinationPath "E:\PowerShell\StdOut.txt" -BatchContext $Context - This command gets the node file that is named StdOut.txt, and saves it to the E:\PowerShell\StdOut.txt file path on the local computer. The StdOut.txt node file is associated with task that has the ID Task01 for the job that has the ID Job01. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + This command gets the node file that is named StdOut.txt, and saves it to the E:\PowerShell\StdOut.txt file path on the local computer. The StdOut.txt node file is associated with task that has the ID Task01 for the job that has the ID Job01. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -1931,7 +1931,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -1994,7 +1994,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2031,7 +2031,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2069,7 +2069,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2127,7 +2127,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2178,7 +2178,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2222,7 +2222,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2232,7 +2232,7 @@ PS C:\> Get-AzureBatchNodeFileContent -PoolId "Pool01" -ComputeNodeId "Comput BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2424,7 +2424,7 @@ IsDirectory Name Properties Url False StdOut.txt Microsoft.Azure.Commands.Batch.Models.PSFile... https://cmdletexample.westus.Batch.contoso... - This command gets the properties of the StdOut.txt node file associated with the task that has the ID Task26 in the job that has the ID Job-000001. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + This command gets the properties of the StdOut.txt node file associated with the task that has the ID Task26 in the job that has the ID Job-000001. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -2563,7 +2563,7 @@ True workitems https://cmdletexample.westus.Batch.c - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -2623,7 +2623,7 @@ True workitems https://cmdletexample.westus.Batch.c BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2647,7 +2647,7 @@ True workitems https://cmdletexample.westus.Batch.c BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2657,7 +2657,7 @@ True workitems https://cmdletexample.westus.Batch.c BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2849,7 +2849,7 @@ VirtualMachineSize : small - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -2909,7 +2909,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2947,7 +2947,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -2978,7 +2978,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3009,7 +3009,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3026,7 +3026,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3154,7 +3154,7 @@ VirtualMachineSize : small PS C:\>Get-AzureBatchRemoteDesktopProtocolFile -PoolId "Pool06" -ComputeNodeId "ComputeNode01" -DestinationPath "C:\PowerShell\ComputeNode01.rdp" -BatchContext $Context - This command gets an RDP file from the compute node that has the ID ComputeNode01 in the pool that has the ID Pool06. The command saves the .rdp file as C:\PowerShell\MyComputeNode.rdp. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + This command gets an RDP file from the compute node that has the ID ComputeNode01 in the pool that has the ID Pool06. The command saves the .rdp file as C:\PowerShell\MyComputeNode.rdp. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -3207,7 +3207,7 @@ VirtualMachineSize : small - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -3270,7 +3270,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3301,7 +3301,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3339,7 +3339,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3349,7 +3349,7 @@ VirtualMachineSize : small BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -3564,7 +3564,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -3587,7 +3587,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ - New-AzureBatchAccountKey + New-AzureRMBatchAccountKey Regenerates the specified key of the specified Batch account. @@ -3595,15 +3595,15 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ New - AzureBatchAccountKey + AzureRMBatchAccountKey - The New-AzureBatchAccountKey cmdlet regenerates the specified key of the specified Azure Batch account. The cmdlet outputs a BatchAccountContext object with its PrimaryAccountKey and SecondaryAccountKey properties populated with the latest access keys. + The New-AzureRMBatchAccountKey cmdlet regenerates the specified key of the specified Azure Batch account. The cmdlet outputs a BatchAccountContext object with its PrimaryAccountKey and SecondaryAccountKey properties populated with the latest access keys. - New-AzureBatchAccountKey + New-AzureRMBatchAccountKey AccountName @@ -3729,7 +3729,7 @@ Url : https://cmdletexample.westus.batch.azure.com/jobs/ - PS C:\>New-AzureBatchAccountKey -AccountName "CmdletExample" -KeyType "Primary" + PS C:\>New-AzureRMBatchAccountKey -AccountName "CmdletExample" -KeyType "Primary" AccountName Location ResourceGroupName Tags TaskTenantUrl ----------- -------- ----------------- ---- ------------- cmdletexample westus CmdletExample https://batch.core.contoso.net @@ -3748,7 +3748,7 @@ cmdletexample westus CmdletExample https: - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -3759,7 +3759,7 @@ cmdletexample westus CmdletExample https: - New-AzureBatchAccount + New-AzureRMBatchAccount Creates a new Batch account. @@ -3767,15 +3767,15 @@ cmdletexample westus CmdletExample https: New - AzureBatchAccount + AzureRMBatchAccount - The New-AzureBatchAccount cmdlet creates a new Azure Batch account under the specified resource group and location. + The New-AzureRMBatchAccount cmdlet creates a new Azure Batch account under the specified resource group and location. - New-AzureBatchAccount + New-AzureRMBatchAccount AccountName @@ -3917,7 +3917,7 @@ cmdletexample westus CmdletExample https: - PS C:\>New-AzureBatchAccount -AccountName "cmdletexample" -ResourceGroupName "CmdletExampleRG" -Location "WestUS" + PS C:\>New-AzureRMBatchAccount -AccountName "cmdletexample" -ResourceGroupName "CmdletExampleRG" -Location "WestUS" AccountName Location ResourceGroupName Tags TaskTenantUrl ----------- -------- ----------------- ---- ------------- cmdletexample WestUS CmdletExampleRG https://batch.core.contoso.net @@ -3936,15 +3936,15 @@ cmdletexample WestUS CmdletExampleRG https: - Get-AzureBatchAccount + Get-AzureRMBatchAccount - Remove-AzureBatchAccount + Remove-AzureRMBatchAccount - Set-AzureBatchAccount + Set-AzureRMBatchAccount @@ -4009,7 +4009,7 @@ cmdletexample WestUS CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4060,7 +4060,7 @@ cmdletexample WestUS CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4084,7 +4084,7 @@ cmdletexample WestUS CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4268,7 +4268,7 @@ cmdletexample WestUS CmdletExampleRG https: - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -4335,7 +4335,7 @@ cmdletexample WestUS CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4359,7 +4359,7 @@ cmdletexample WestUS CmdletExampleRG https: BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4493,7 +4493,7 @@ PS C:\> New-AzureBatchJobSchedule -Id "JobSchedule17" -Schedule $Schedule -Jo This example creates a job schedule. The first five commands create and modify PSSchedule, PSJobSpecification, and PSPoolInformation objects. The commands use the New-Object cmdlet and standard Azure PowerShell syntax. The commands store these objects in the $Schedule and $JobSpecification variables. - The final command creates a job schedule that has the ID JobSchedule17. This schedule creates jobs with a recurrence interval of one day. The jobs run on the pool that has the ID ContosoPool06, as specified in the fifth command. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + The final command creates a job schedule that has the ID JobSchedule17. This schedule creates jobs with a recurrence interval of one day. The jobs run on the pool that has the ID ContosoPool06, as specified in the fifth command. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -4506,7 +4506,7 @@ PS C:\> New-AzureBatchJobSchedule -Id "JobSchedule17" -Schedule $Schedule -Jo - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -4615,7 +4615,7 @@ PS C:\> New-AzureBatchJobSchedule -Id "JobSchedule17" -Schedule $Schedule -Jo BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4632,7 +4632,7 @@ PS C:\> New-AzureBatchJobSchedule -Id "JobSchedule17" -Schedule $Schedule -Jo BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -4824,7 +4824,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio The first command creates a PSPoolInformation object by using the New-Object cmdlet. The command stores that object in the $PoolInformation variable. The second command assigns the ID Pool22 to the PoolId property of the object in $PoolInformation. - The final command creates a job that has the ID ContosoJob35. Tasks added to the job run on the pool that has the ID Pool22. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. + The final command creates a job that has the ID ContosoJob35. Tasks added to the job run on the pool that has the ID Pool22. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. @@ -4837,7 +4837,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -4952,7 +4952,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5059,7 +5059,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5095,7 +5095,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5351,7 +5351,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -5438,7 +5438,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5524,7 +5524,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5560,7 +5560,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -5768,7 +5768,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -5791,7 +5791,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Remove-AzureBatchAccount + Remove-AzureRMBatchAccount Removes the specified Batch account. @@ -5799,15 +5799,15 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio Remove - AzureBatchAccount + AzureRMBatchAccount - The Remove-AzureBatchAccount cmdlet removes the specified Azure Batch account. You will be prompted for confirmation unless you use the Force parameter. + The Remove-AzureRMBatchAccount cmdlet removes the specified Azure Batch account. You will be prompted for confirmation unless you use the Force parameter. - Remove-AzureBatchAccount + Remove-AzureRMBatchAccount AccountName @@ -5930,7 +5930,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - PS C:\>Remove-AzureBatchAccount -AccountName "cmdletexample" + PS C:\>Remove-AzureRMBatchAccount -AccountName "cmdletexample" This command removes the batch account named cmdletexample. The user is prompted for confirmation before the delete operation takes place. @@ -5946,15 +5946,15 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccount + Get-AzureRMBatchAccount - New-AzureBatchAccount + New-AzureRMBatchAccount - Set-AzureBatchAccount + Set-AzureRMBatchAccount @@ -6019,7 +6019,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6029,7 +6029,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6158,7 +6158,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -6213,7 +6213,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6223,7 +6223,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6315,7 +6315,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio PS C:\>Remove-AzureBatchJobSchedule "JobSchedule17" -BatchContext $Context - This command deletes the job schedule that has the ID JobSchedule17. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. This command prompts you before it removes the schedule. + This command deletes the job schedule that has the ID JobSchedule17. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. This command prompts you before it removes the schedule. @@ -6402,7 +6402,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6412,7 +6412,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6536,7 +6536,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -6591,7 +6591,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6601,7 +6601,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6733,7 +6733,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -6791,7 +6791,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6821,7 +6821,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6831,7 +6831,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio BatchContext - Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. + Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContext @@ -6979,7 +6979,7 @@ PS C:\> New-AzureBatchJob -Id "ContosoJob35" -PoolInformation $PoolInformatio - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys @@ -7008,9 +7008,9 @@ Switch-AzureMode AzureResourceManager The following cmdlets are the Azure Batch cmdlets in the Azure module: Name Description - Get-AzureBatchAccount + Get-AzureRMBatchAccount Gets a Batch account under the current subscription. - Get-AzureBatchAccountKeys + Get-AzureRMBatchAccountKeys Gets the specified key of the specified Batch accounts under the current subscription. Get-AzureBatchComputeNode Gets Batch compute nodes from a pool. @@ -7028,9 +7028,9 @@ Switch-AzureMode AzureResourceManager Gets an RDP file from a compute node. Get-AzureBatchTask Gets the Batch tasks for the specified job. - New-AzureBatchAccount + New-AzureRMBatchAccount Creates a new Batch account. - New-AzureBatchAccountKey + New-AzureRMBatchAccountKey Regenerates the specified key of the specified Batch account. New-AzureBatchComputeNodeUser Creates a user account on a Batch compute node. @@ -7042,7 +7042,7 @@ Switch-AzureMode AzureResourceManager Creates a new pool in the Batch service under the specified account. New-AzureBatchTask Creates a new Batch task under the specified job. - Remove-AzureBatchAccount + Remove-AzureRMBatchAccount Removes the specified Batch account. Remove-AzureBatchComputeNodeUser Deletes a user account from a Batch compute node. @@ -7054,7 +7054,7 @@ Switch-AzureMode AzureResourceManager Deletes the specified Batch pool. Remove-AzureBatchTask Deletes the specified Batch task. - Set-AzureBatchAccount + Set-AzureRMBatchAccount Updates the specified Batch account. Start-AzureBatchPoolResize Starts to resize a pool. @@ -7065,18 +7065,18 @@ Switch-AzureMode AzureResourceManager Azure Cmdlet Reference - Azure Resource Manager CmdletsUsing Windows Powershell with Resource ManagerSet-AzureBatchAccountUpdates the specified Batch account.SetAzureBatchAccountThe Set-AzureBatchAccount cmdlet updates the specified Azure Batch account. Currently, only tags can be updated.Set-AzureBatchAccountAccountNameSpecifies the name of the existing Batch account to update.StringTagSpecifies tags in an array of hash tables to set on the account.Hashtable[]ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileResourceGroupNameSpecifies the resource group of the account being updated.StringAccountNameSpecifies the name of the existing Batch account to update.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the resource group of the account being updated.StringStringnoneTagSpecifies tags in an array of hash tables to set on the account.Hashtable[]Hashtable[]noneBatchAccountContextExample 1: Update the tags on an existing Batch accountPS C:\>Set-AzureBatchAccount -AccountName "cmdletexample" -Tag @(@{Name = "tag1";Value = "value1"},@{Name = "tag2";Value = "value2"}) + Azure Resource Manager CmdletsUsing Windows Powershell with Resource ManagerSet-AzureRMBatchAccountUpdates the specified Batch account.SetAzureRMBatchAccountThe Set-AzureRMBatchAccount cmdlet updates the specified Azure Batch account. Currently, only tags can be updated.Set-AzureRMBatchAccountAccountNameSpecifies the name of the existing Batch account to update.StringTagSpecifies tags in an array of hash tables to set on the account.Hashtable[]ProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileResourceGroupNameSpecifies the resource group of the account being updated.StringAccountNameSpecifies the name of the existing Batch account to update.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResourceGroupNameSpecifies the resource group of the account being updated.StringStringnoneTagSpecifies tags in an array of hash tables to set on the account.Hashtable[]Hashtable[]noneBatchAccountContextExample 1: Update the tags on an existing Batch accountPS C:\>Set-AzureRMBatchAccount -AccountName "cmdletexample" -Tag @(@{Name = "tag1";Value = "value1"},@{Name = "tag2";Value = "value2"}) AccountName Location ResourceGroupName Tags TaskTenantUrl ----------- -------- ----------------- ---- ------------- cmdletexample westus cmdletexamplerg {System.Collection https://cmdletexample.westus.batch.azure.com s.Hashtable, Syste m.Collections.Hash table} -This command updates the tags on the cmdletexample account.Get-AzureBatchAccountNew-AzureBatchAccountRemove-AzureBatchAccountRMAzure_Batch_CmdletsStart-AzureBatchPoolResizeStarts to resize a pool.StartAzureBatchPoolResizeThe Start-AzureBatchPoolResize cmdlet starts an Azure Batch resize operation on a pool.Start-AzureBatchPoolResizeIdSpecifies the ID of the pool that this cmdlet resizes.StringComputeNodeDeallocationOptionSpecifies a deallocation option for the resizing operation that this cmdlet starts.ComputeNodeDeallocationOptionProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileResizeTimeoutSpecifies a time-out period for the resizing operation. If the pool does not reach the target size by this time, the resize operation stops.TimeSpanBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. BatchAccountContextTargetDedicatedSpecifies the target number of dedicated compute nodes.Int32BatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet. BatchAccountContextBatchAccountContextnoneComputeNodeDeallocationOptionSpecifies a deallocation option for the resizing operation that this cmdlet starts.ComputeNodeDeallocationOptionComputeNodeDeallocationOptionnoneIdSpecifies the ID of the pool that this cmdlet resizes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResizeTimeoutSpecifies a time-out period for the resizing operation. If the pool does not reach the target size by this time, the resize operation stops.TimeSpanTimeSpannoneTargetDedicatedSpecifies the target number of dedicated compute nodes.Int32Int32noneExample 1: Resize a pool to 12 nodesPS C:\>Start-AzureBatchPoolResize -Id "ContosoPool06" -TargetDedicated 12 -BatchContext $Context -This command starts a resize operation on the pool that has the ID ContosoPool06. The target for the operation is 12 dedicated compute nodes. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable. Example 2: Resize a pool using a deallocation optionPS C:\>Get-AzureBatchPool -Id "ContosoPool06" -BatchContext $Context | Start-AzureBatchPoolResize -TargetDedicated 5 -ResizeTimeout ([TimeSpan]::FromHours(1)) -ComputeNodeDeallocationOption ([Microsoft.Azure.Batch.Common.ComputeNodeDeallocationOption]::Terminate) -BatchContext $Context -This cmdlet resizes a pool to five dedicated compute nodes. The command gets the pool that has the ID ContosoPool06 by using the Get-AzureBatchPool cmdlet. The command passes that pool object to the current cmdlet by using the pipeline operator. The command starts a resize operation on the pool. The target is five dedicated compute nodes. The command specifies time-out period of one hour. The command specifies a deallocation option of Terminate.Get-AzureBatchAccountKeysGet-AzureBatchPoolStop-AzureBatchPoolResizeRMAzure_Batch_CmdletsStop-AzureBatchPoolResizeStops a pool resize operation.StopAzureBatchPoolResizeThe Stop-AzureBatchPoolResize cmdlet stops an Azure Batch resize operation on a pool.Stop-AzureBatchPoolResizeIdSpecifies the ID of the pool for which this cmdlet stops a resizing operation.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet.BatchAccountContextBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureBatchAccountKeys cmdlet.BatchAccountContextBatchAccountContextnoneIdSpecifies the ID of the pool for which this cmdlet stops a resizing operation.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneExample 1: Stop resizing a poolPS C:\>Stop-AzureBatchPoolResize -Id "ContosoPool06" -BatchContext $Context -This command stops a resize operation on the pool that has the ID ContosoPool06. Use the Get-AzureBatchAccountKeys cmdlet to assign a context to the $Context variable.Example 2: Stop resizing a pool by using the pipelinePS C:\>Get-AzureBatchPool -Id "ContosoPool06" -BatchContext $Context | Stop-AzureBatchPoolResize -BatchContext $Context -This example stops resizing a pool by using the pipeline operator. The command gets the pool that has the ID ContosoPool06 by using the Get-AzureBatchPool cmdlet. The command passes that pool object to the current cmdlet. The command stops the resize operation on that pool. Get-AzureBatchAccountKeysGet-AzureBatchPoolStart-AzureBatchPoolResizeRMAzure_Batch_Cmdlets +This command updates the tags on the cmdletexample account.Get-AzureRMBatchAccountNew-AzureRMBatchAccountRemove-AzureRMBatchAccountRMAzure_Batch_CmdletsStart-AzureBatchPoolResizeStarts to resize a pool.StartAzureBatchPoolResizeThe Start-AzureBatchPoolResize cmdlet starts an Azure Batch resize operation on a pool.Start-AzureBatchPoolResizeIdSpecifies the ID of the pool that this cmdlet resizes.StringComputeNodeDeallocationOptionSpecifies a deallocation option for the resizing operation that this cmdlet starts.ComputeNodeDeallocationOptionProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileResizeTimeoutSpecifies a time-out period for the resizing operation. If the pool does not reach the target size by this time, the resize operation stops.TimeSpanBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContextTargetDedicatedSpecifies the target number of dedicated compute nodes.Int32BatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet. BatchAccountContextBatchAccountContextnoneComputeNodeDeallocationOptionSpecifies a deallocation option for the resizing operation that this cmdlet starts.ComputeNodeDeallocationOptionComputeNodeDeallocationOptionnoneIdSpecifies the ID of the pool that this cmdlet resizes.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneResizeTimeoutSpecifies a time-out period for the resizing operation. If the pool does not reach the target size by this time, the resize operation stops.TimeSpanTimeSpannoneTargetDedicatedSpecifies the target number of dedicated compute nodes.Int32Int32noneExample 1: Resize a pool to 12 nodesPS C:\>Start-AzureBatchPoolResize -Id "ContosoPool06" -TargetDedicated 12 -BatchContext $Context +This command starts a resize operation on the pool that has the ID ContosoPool06. The target for the operation is 12 dedicated compute nodes. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable. Example 2: Resize a pool using a deallocation optionPS C:\>Get-AzureBatchPool -Id "ContosoPool06" -BatchContext $Context | Start-AzureBatchPoolResize -TargetDedicated 5 -ResizeTimeout ([TimeSpan]::FromHours(1)) -ComputeNodeDeallocationOption ([Microsoft.Azure.Batch.Common.ComputeNodeDeallocationOption]::Terminate) -BatchContext $Context +This cmdlet resizes a pool to five dedicated compute nodes. The command gets the pool that has the ID ContosoPool06 by using the Get-AzureBatchPool cmdlet. The command passes that pool object to the current cmdlet by using the pipeline operator. The command starts a resize operation on the pool. The target is five dedicated compute nodes. The command specifies time-out period of one hour. The command specifies a deallocation option of Terminate.Get-AzureRMBatchAccountKeysGet-AzureBatchPoolStop-AzureBatchPoolResizeRMAzure_Batch_CmdletsStop-AzureBatchPoolResizeStops a pool resize operation.StopAzureBatchPoolResizeThe Stop-AzureBatchPoolResize cmdlet stops an Azure Batch resize operation on a pool.Stop-AzureBatchPoolResizeIdSpecifies the ID of the pool for which this cmdlet stops a resizing operation.StringProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet.BatchAccountContextBatchContextSpecifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. To obtain a BatchAccountContext object that contains access keys for your subscription, use the Get-AzureRMBatchAccountKeys cmdlet.BatchAccountContextBatchAccountContextnoneIdSpecifies the ID of the pool for which this cmdlet stops a resizing operation.StringStringnoneProfileSpecifies the Azure profile from which this cmdlet reads. If you do not specify a profile, this cmdlet reads from the local default profile.AzureProfileAzureProfilenoneExample 1: Stop resizing a poolPS C:\>Stop-AzureBatchPoolResize -Id "ContosoPool06" -BatchContext $Context +This command stops a resize operation on the pool that has the ID ContosoPool06. Use the Get-AzureRMBatchAccountKeys cmdlet to assign a context to the $Context variable.Example 2: Stop resizing a pool by using the pipelinePS C:\>Get-AzureBatchPool -Id "ContosoPool06" -BatchContext $Context | Stop-AzureBatchPoolResize -BatchContext $Context +This example stops resizing a pool by using the pipeline operator. The command gets the pool that has the ID ContosoPool06 by using the Get-AzureBatchPool cmdlet. The command passes that pool object to the current cmdlet. The command stops the resize operation on that pool. Get-AzureRMBatchAccountKeysGet-AzureBatchPoolStart-AzureBatchPoolResizeRMAzure_Batch_Cmdlets @@ -7117,7 +7117,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7141,7 +7141,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7288,7 +7288,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7312,7 +7312,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7455,7 +7455,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7466,7 +7466,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7612,7 +7612,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7636,7 +7636,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7654,7 +7654,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7865,7 +7865,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7889,7 +7889,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -7907,7 +7907,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8118,7 +8118,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8129,7 +8129,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8281,7 +8281,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8292,7 +8292,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8431,7 +8431,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8442,7 +8442,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8581,7 +8581,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8592,7 +8592,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8738,7 +8738,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8749,7 +8749,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8901,7 +8901,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -8912,7 +8912,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -9058,7 +9058,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -9069,7 +9069,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -9228,7 +9228,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -9245,7 +9245,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext @@ -9256,7 +9256,7 @@ cmdletexample westus cmdletexamplerg {System.Collection https: BatchContext - The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. + The BatchAccountContext instance to use when interacting with the Batch service. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its access keys populated. BatchAccountContext 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 fe966a6ee6c7..a67fd5ce8bd7 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/DisableBatchAutoScaleCommand.cs @@ -24,11 +24,12 @@ 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PoolOperationParameters parameters = new PoolOperationParameters(this.BatchContext, this.Id, null, this.AdditionalBehaviors); BatchClient.DisableAutoScale(parameters); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs index 392d3fee53ec..b11a96c9cb54 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/EnableBatchAutoScaleCommand.cs @@ -24,15 +24,17 @@ 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { AutoScaleParameters parameters = new AutoScaleParameters(this.BatchContext, this.Id, null, this.AutoScaleFormula, this.AdditionalBehaviors); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/GetBatchPoolCommand.cs index 1f6f9be73a65..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; } @@ -42,7 +44,7 @@ public int MaxCount set { this.maxCount = value; } } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ListPoolOptions options = new ListPoolOptions(this.BatchContext, this.AdditionalBehaviors) { diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/NewBatchPoolCommand.cs index d79d30d934c4..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; } @@ -82,7 +83,7 @@ public class NewBatchPoolCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public PSCertificateReference[] CertificateReferences { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { NewPoolParameters parameters = new NewPoolParameters(this.BatchContext, this.Id, this.AdditionalBehaviors) { diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs index bd8a2b8d9fce..f40bf8860aef 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/RemoveBatchPoolCommand.cs @@ -24,19 +24,20 @@ 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; } [Parameter] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + 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 70ed5c563bc9..b67f7948358f 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/SetBatchPoolOSVersionCommand.cs @@ -24,15 +24,17 @@ 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ChangeOSVersionParameters parameters = new ChangeOSVersionParameters(this.BatchContext, this.Id, null, this.TargetOSVersion, this.AdditionalBehaviors); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StartBatchPoolResizeCommand.cs index edd625f4179f..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; } @@ -40,7 +41,7 @@ public class StartBatchPoolResizeCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public ComputeNodeDeallocationOption? ComputeNodeDeallocationOption { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PoolResizeParameters parameters = new PoolResizeParameters(this.BatchContext, this.Id, null, this.AdditionalBehaviors) { diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs index fce95ea0841a..ed5c22a49ed0 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/StopBatchPoolResizeCommand.cs @@ -20,11 +20,12 @@ 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { BatchClient.StopResizePool(this.BatchContext, this.Id, this.AdditionalBehaviors); } diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Pools/TestBatchAutoScaleCommand.cs index 75517c7ff7b2..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; } @@ -32,7 +33,7 @@ public class TestBatchAutoScaleCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public string AutoScaleFormula { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { AutoScaleParameters parameters = new AutoScaleParameters(this.BatchContext, this.Id, null, this.AutoScaleFormula, this.AdditionalBehaviors); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Properties/Resources.Designer.cs index 2cdd535fcb21..9d43a9b21518 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-AzureRMBatchAccountKeys 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..5aa094f4ee29 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} @@ -250,7 +268,10 @@ Invalid tag format. Ensure that each tag has a unique name. Example: @{Name = "tagName1"; Value = "tagValue1"}, @{Name = "tagName2"; Value = "tagValue2"} - 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. + The current KeyInUse on this BatchAccountContext is the {0} key, but this key is not populated on the BatchAccountContext object. Use the Get-AzureRMBatchAccountKeys cmdlet to get a BatchAccountContext object with its keys populated. + + + Checking if account already exists A max count of {0} will be returned. @@ -258,30 +279,6 @@ 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 4ca3c609fea8..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; } @@ -51,7 +54,7 @@ public int MaxCount set { this.maxCount = value; } } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ListTaskOptions options = new ListTaskOptions(this.BatchContext, this.JobId, this.Job, this.AdditionalBehaviors) diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/NewBatchTaskCommand.cs index eb16280be27e..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; } @@ -63,7 +64,7 @@ public class NewBatchTaskCommand : BatchObjectModelCmdletBase [ValidateNotNullOrEmpty] public PSTaskConstraints Constraints { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { NewTaskParameters parameters = new NewTaskParameters(this.BatchContext, this.JobId, this.Job, this.Id, this.AdditionalBehaviors) diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs index 4643a8a522c4..b0660fbafa59 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/RemoveBatchTaskCommand.cs @@ -24,22 +24,25 @@ 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; } [Parameter] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { string taskId = InputObject == null ? this.Id : InputObject.Id; TaskOperationParameters parameters = new TaskOperationParameters(this.BatchContext, this.JobId, @@ -47,8 +50,8 @@ public override void ExecuteCmdlet() 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 cc2f156c964c..26cbb105f016 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Tasks/StopBatchTaskCommand.cs @@ -22,19 +22,22 @@ 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { TaskOperationParameters parameters = new TaskOperationParameters(this.BatchContext, this.JobId, this.Id, this.Task, this.AdditionalBehaviors); diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs b/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs index f4b03d86b933..313739403a1a 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs +++ b/src/ResourceManager/AzureBatch/Commands.Batch/Utils/Constants.cs @@ -18,7 +18,12 @@ public class Constants { public const int DefaultMaxCount = 1000; - // Cmdlet nouns + // ARM cmdlet nouns + public const string AzureRMBatchAccount = "AzureRMBatchAccount"; + public const string AzureRMBatchAccountKey = "AzureRMBatchAccountKey"; + public const string AzureRMBatchAccountKeys = "AzureRMBatchAccountKeys"; + + // Batch Service cmdlet nouns public const string AzureBatchPool = "AzureBatchPool"; public const string AzureBatchPoolResize = "AzureBatchPoolResize"; public const string AzureBatchComputeNode = "AzureBatchComputeNode"; diff --git a/src/ResourceManager/AzureBatch/Commands.Batch/packages.config b/src/ResourceManager/AzureBatch/Commands.Batch/packages.config index 8fa7ba4f6b1b..15b7a9cc80ad 100644 --- a/src/ResourceManager/AzureBatch/Commands.Batch/packages.config +++ b/src/ResourceManager/AzureBatch/Commands.Batch/packages.config @@ -3,7 +3,7 @@ - + @@ -20,6 +20,6 @@ - - - + + + \ No newline at end of file diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/AccessTokenExtensions.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/AccessTokenExtensions.cs new file mode 100644 index 000000000000..86c79b1061f9 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/AccessTokenExtensions.cs @@ -0,0 +1,24 @@ +using Microsoft.Azure.Common.Authentication; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Microsoft.Azure.Commands.ResourceManager.Common +{ + public static class AccessTokenExtensions + { + public static string GetDomain(this IAccessToken token) + { + if( token != null && token.UserId !=null && token.UserId.Contains('@')) + { + return token.UserId.Split( + new[] { '@' }, + StringSplitOptions.RemoveEmptyEntries).Last(); + } + + return null; + } + } +} diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs new file mode 100644 index 000000000000..c6e244ced20d --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/AzureRMCmdlet.cs @@ -0,0 +1,137 @@ +// ---------------------------------------------------------------------------------- +// +// 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.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 +{ + /// + /// Represents base class for Resource Manager cmdlets + /// + public abstract class AzureRMCmdlet : AzurePSCmdlet + { + /// + /// Static constructor for AzureRMCmdlet. + /// + static AzureRMCmdlet() + { + AzureSession.DataStore = new DiskDataStore(); + } + + /// + /// Gets or sets the global profile for ARM cmdlets. + /// + public static AzureRMProfile DefaultProfile { get; set; } + + /// + /// Gets the current default context. + /// + protected override AzureContext DefaultContext + { + get + { + if (DefaultProfile == null || DefaultProfile.Context == null) + { + throw new PSInvalidOperationException("Run Login-AzureRMAccount to login."); + } + + return DefaultProfile.Context; + } + } + + 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.Context != null && this.Context.Subscription != null) + //{ + // QosEvent.Uid = MetricHelper.GenerateSha256HashString( + // this.Context.Subscription.Id.ToString()); + //} + //else + //{ + // QosEvent.Uid = "defaultid"; + //} + } + } +} diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj b/src/ResourceManager/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj new file mode 100644 index 000000000000..8f202c938f2e --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/Commands.ResourceManager.Common.csproj @@ -0,0 +1,209 @@ + + + + + Debug + AnyCPU + {3819D8A7-C62C-4C47-8DDD-0332D9CE1252} + Library + Properties + Microsoft.Azure.Commands.ResourceManager.Common + Microsoft.Azure.Commands.ResourceManager.Common + v4.5 + 512 + ..\..\..\ + true + /assemblyCompareMode:StrongNameIgnoringVersion + + + true + full + false + bin\Debug + DEBUG;TRACE + prompt + 4 + true + true + false + true + + + bin\Release + TRACE;SIGN + true + pdbonly + AnyCPU + bin\Release\Microsoft.Azure.Commands.ResourceManager.Common.dll.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;$(ProgramFiles)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\Rule Sets + ;$(ProgramFiles)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\Rules + true + MSSharedLibKey.snk + true + true + false + true + + + + 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 + + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True + + + False + ..\..\..\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 + + + 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 + + + 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 + + + False + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + + False + ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll + + + ..\..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll + True + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + True + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.0.9.3\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + True + + + + + + + + False + ..\..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Extensions.dll + + + False + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll + + + False + ..\..\..\packages\Microsoft.Net.Http.2.2.28\lib\net45\System.Net.Http.Primitives.dll + + + + + + + + + + + + + + + + + + Common\AzurePSCmdlet.cs + + + Common\AzurePowerShell.cs + + + Common\AzurePSDataCollectionProfile.cs + + + Common\CmdletExtensions.cs + + + Common\ConversionUtilities.cs + + + Common\DebugStreamTraceListener.cs + + + Common\GeneralUtilities.cs + + + Common\MetricHelper.cs + + + Common\PowerShellUtilities.cs + + + Common\ProfileClientExtensions.cs + + + Common\PSAzureAccount.cs + + + Common\RecordingTracingInterceptor.cs + + + Common\SecureStringExtensions.cs + + + Common\TestMockSupport.cs + + + + + + + True + True + Resources.resx + + + + Designer + + + + + PublicResXFileCodeGenerator + Resources.Designer.cs + Designer + + + + + + \ No newline at end of file diff --git a/src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MSSharedLibKey.snk b/src/ResourceManager/Common/Commands.ResourceManager.Common/MSSharedLibKey.snk similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.MsTestLib/MSSharedLibKey.snk rename to src/ResourceManager/Common/Commands.ResourceManager.Common/MSSharedLibKey.snk diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/ModelExtensions.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/ModelExtensions.cs new file mode 100644 index 000000000000..e5731fc7120e --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/ModelExtensions.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Subscriptions.Models; + +namespace Microsoft.Azure.Commands.ResourceManager.Common +{ + public static class ModelExtensions + { + + public static AzureSubscription ToAzureSubscription(this Subscription other, AzureContext context) + { + var subscription = new AzureSubscription(); + subscription.Account = context.Account != null ? context.Account.Id : null; + subscription.Environment = context.Environment != null ? context.Environment.Name : EnvironmentName.AzureCloud; + subscription.Id = new Guid(other.SubscriptionId); + subscription.Name = other.DisplayName; + subscription.SetProperty(AzureSubscription.Property.Tenants, + context.Tenant.Id.ToString()); + return subscription; + } + } +} diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/AssemblyInfo.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..abfe416364fb --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/AssemblyInfo.cs @@ -0,0 +1,28 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Microsoft Azure PowerShell - Resource Manager Common Library")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft Azure PowerShell")] +[assembly: AssemblyCopyright("Copyright © Microsoft")] + +[assembly: ComVisible(false)] +[assembly: CLSCompliant(false)] +[assembly: Guid("3819d8a7-c62c-4c47-8ddd-0332d9ce1252")] +[assembly: AssemblyVersion("1.0.0")] +[assembly: AssemblyFileVersion("1.0.0")] \ No newline at end of file diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs new file mode 100644 index 000000000000..900a6a82fe96 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.Designer.cs @@ -0,0 +1,147 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Microsoft.Azure.Commands.ResourceManager.Common.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + 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); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 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 The provided account {0} does not have access to any subscriptions. Please try logging in with different credentials.. + /// + public static string NoSubscriptionFound { + get { + return ResourceManager.GetString("NoSubscriptionFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tenant '{0}' was not found. Please verify that your account has access to this tenant.. + /// + public static string TenantNotFound { + get { + return ResourceManager.GetString("TenantNotFound", resourceCulture); + } + } + } +} diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.resx b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.resx new file mode 100644 index 000000000000..617f62d27d76 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/Properties/Resources.resx @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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. + + + The provided account {0} does not have access to any subscriptions. Please try logging in with different credentials. + + + Tenant '{0}' was not found. Please verify that your account has access to this tenant. + + \ No newline at end of file diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/RMProfileClient.cs b/src/ResourceManager/Common/Commands.ResourceManager.Common/RMProfileClient.cs new file mode 100644 index 000000000000..8c2a8ceec9a1 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/RMProfileClient.cs @@ -0,0 +1,424 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Hyak.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Factories; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.Azure.Common.Authentication.Properties; +using Microsoft.Azure.Subscriptions; +using Microsoft.IdentityModel.Clients.ActiveDirectory; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Management.Automation; +using System.Security; + +namespace Microsoft.Azure.Commands.ResourceManager.Common +{ + public class RMProfileClient + { + private AzureRMProfile _profile; + public Action WarningLog; + + public RMProfileClient(AzureRMProfile profile) + { + _profile = profile; + + if (_profile != null && _profile.Context != null && + _profile.Context.TokenCache != null && _profile.Context.TokenCache.Length > 0) + { + TokenCache.DefaultShared.Deserialize(_profile.Context.TokenCache); + } + } + + public AzureRMProfile Login(AzureAccount account, AzureEnvironment environment, string tenantId, string subscriptionId, SecureString password) + { + AzureSubscription newSubscription = null; + AzureTenant newTenant = null; + ShowDialog promptBehavior = password == null ? ShowDialog.Always : ShowDialog.Never; + + // (tenant and subscription are present) OR + // (tenant is present and subscription is not provided) + if (!string.IsNullOrEmpty(tenantId)) + { + var token = AcquireAccessToken(account, environment, tenantId, password, promptBehavior); + TryGetTenantSubscription(token, account, environment, tenantId, subscriptionId, out newSubscription, out newTenant); + } + // (tenant is not provided and subscription is present) OR + // (tenant is not provided and subscription is not provided) + else + { + foreach(var tenant in ListAccountTenants(account, environment, password, promptBehavior)) + { + AzureTenant tempTenant; + AzureSubscription tempSubscription; + var token = AcquireAccessToken(account, environment, tenant.Id.ToString(), password, + ShowDialog.Auto); + if (newTenant == null && TryGetTenantSubscription(token, account, environment, tenant.Id.ToString(), subscriptionId, out tempSubscription, out tempTenant) && + newTenant == null) + { + newTenant = tempTenant; + newSubscription = tempSubscription; + } + } + } + + if (newSubscription == null) + { + throw new PSInvalidOperationException(String.Format(Properties.Resources.NoSubscriptionFound, account.Id)); + } + + _profile.Context = new AzureContext(newSubscription, account, environment, newTenant); + _profile.Context.TokenCache = TokenCache.DefaultShared.Serialize(); + + return _profile; + } + + public AzureContext SetCurrentContext(string subscriptionId, string tenantId) + { + if (!string.IsNullOrWhiteSpace(tenantId)) + { + _profile.Context = new AzureContext( + _profile.Context.Subscription, + _profile.Context.Account, + _profile.Context.Environment, + new AzureTenant() { Id = new Guid(tenantId) }); + + if (_profile.Context.Account != null) + { + _profile.Context.Account.Properties[AzureAccount.Property.Tenants] = tenantId; + } + if (_profile.Context.Subscription != null) + { + _profile.Context.Subscription.Properties[AzureSubscription.Property.Tenants] = tenantId; + } + } + + if(!string.IsNullOrWhiteSpace(subscriptionId)) + { + var newSubscription = new AzureSubscription { Id = new Guid(subscriptionId) }; + if(_profile.Context.Subscription != null) + { + newSubscription.Account = _profile.Context.Subscription.Account; + newSubscription.Environment = _profile.Context.Subscription.Environment; + newSubscription.Properties = _profile.Context.Subscription.Properties; + newSubscription.Name = null; + } + + _profile.Context = new AzureContext( + newSubscription, + _profile.Context.Account, + _profile.Context.Environment, + _profile.Context.Tenant); + } + + return _profile.Context; + } + + public List ListTenants(string tenant) + { + return ListAccountTenants(_profile.Context.Account, _profile.Context.Environment, null, ShowDialog.Auto) + .Where(t => tenant == null || + tenant.Equals(t.Id.ToString(), StringComparison.OrdinalIgnoreCase) || + tenant.Equals(t.Domain, StringComparison.OrdinalIgnoreCase)) + .ToList(); + } + + public bool TryGetSubscription(string tenantId, string subscriptionId, out AzureSubscription subscription) + { + if (string.IsNullOrWhiteSpace(tenantId)) + { + throw new ArgumentNullException("Please provide a valid tenant Id."); + } + + AzureTenant tenant; + var token = AcquireAccessToken(_profile.Context.Account, _profile.Context.Environment, + tenantId, null, ShowDialog.Never); + return TryGetTenantSubscription(token, _profile.Context.Account, _profile.Context.Environment, + tenantId, subscriptionId, out subscription, out tenant); + } + + public AzureEnvironment AddOrSetEnvironment(AzureEnvironment environment) + { + if (environment == null) + { + throw new ArgumentNullException("environment", Resources.EnvironmentNeedsToBeSpecified); + } + + if (AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name)) + { + throw new ArgumentException(Resources.ChangingDefaultEnvironmentNotSupported, "environment"); + } + + if (_profile.Environments.ContainsKey(environment.Name)) + { + _profile.Environments[environment.Name] = + MergeEnvironmentProperties(environment, _profile.Environments[environment.Name]); + } + else + { + _profile.Environments[environment.Name] = environment; + } + + return _profile.Environments[environment.Name]; + } + + public List ListEnvironments(string name) + { + var result = new List(); + + if (string.IsNullOrWhiteSpace(name)) + { + result.AddRange(_profile.Environments.Values); + } + else if (_profile.Environments.ContainsKey(name)) + { + result.Add(_profile.Environments[name]); + } + + return result; + } + + public AzureEnvironment RemoveEnvironment(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new ArgumentNullException("name", Resources.EnvironmentNameNeedsToBeSpecified); + } + if (AzureEnvironment.PublicEnvironments.ContainsKey(name)) + { + throw new ArgumentException(Resources.RemovingDefaultEnvironmentsNotSupported, "name"); + } + + if (_profile.Environments.ContainsKey(name)) + { + var environment = _profile.Environments[name]; + _profile.Environments.Remove(name); + return environment; + } + else + { + throw new ArgumentException(string.Format(Resources.EnvironmentNotFound, name), "name"); + } + } + + private AzureEnvironment MergeEnvironmentProperties(AzureEnvironment environment1, AzureEnvironment environment2) + { + if (environment1 == null || environment2 == null) + { + throw new ArgumentNullException("environment1"); + } + if (!string.Equals(environment1.Name, environment2.Name, StringComparison.InvariantCultureIgnoreCase)) + { + throw new ArgumentException("Environment names do not match."); + } + AzureEnvironment mergedEnvironment = new AzureEnvironment + { + Name = environment1.Name + }; + + // Merge all properties + foreach (AzureEnvironment.Endpoint property in Enum.GetValues(typeof(AzureEnvironment.Endpoint))) + { + string propertyValue = environment1.GetEndpoint(property) ?? environment2.GetEndpoint(property); + if (propertyValue != null) + { + mergedEnvironment.Endpoints[property] = propertyValue; + } + } + + return mergedEnvironment; + } + + private IAccessToken AcquireAccessToken(AzureAccount account, + AzureEnvironment environment, + string tenantId, + SecureString password, + ShowDialog promptBehavior) + { + return AzureSession.AuthenticationFactory.Authenticate( + account, + environment, + tenantId, + password, + promptBehavior, + TokenCache.DefaultShared); + } + + private bool TryGetTenantSubscription(IAccessToken accessToken, + AzureAccount account, + AzureEnvironment environment, + string tenantId, + string subscriptionId, + out AzureSubscription subscription, + out AzureTenant tenant) + { + + using (var subscriptionClient = AzureSession.ClientFactory.CreateCustomClient( + new TokenCloudCredentials(accessToken.AccessToken), + environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager))) + { + Subscriptions.Models.Subscription subscriptionFromServer = null; + + try + { + if (subscriptionId != null) + { + subscriptionFromServer = subscriptionClient.Subscriptions.Get(subscriptionId).Subscription; + } + else + { + var subscriptions = subscriptionClient.Subscriptions.List().Subscriptions; + if (subscriptions != null && subscriptions.Any()) + { + if (subscriptions.Count > 1) + { + WriteWarningMessage(string.Format( + "Tenant '{0}' contains more than one subscription. First one will be selected for further use. " + + "To select another subscription, use Set-AzureRMContext.", + tenantId)); + } + subscriptionFromServer = subscriptions.First(); + } + } + } + catch (CloudException ex) + { + WriteWarningMessage(ex.Message); + } + + if (subscriptionFromServer != null) + { + subscription = new AzureSubscription + { + Id = new Guid(subscriptionFromServer.SubscriptionId), + Account = accessToken.UserId, + Environment = environment.Name, + Name = subscriptionFromServer.DisplayName, + Properties = new Dictionary { { AzureSubscription.Property.Tenants, accessToken.TenantId } } + }; + + account.Properties[AzureAccount.Property.Tenants] = accessToken.TenantId; + tenant = new AzureTenant(); + tenant.Id = new Guid(accessToken.TenantId); + tenant.Domain = accessToken.GetDomain(); + return true; + } + + subscription = null; + tenant = null; + return false; + } + } + + private List ListAccountTenants(AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior) + { + var commonTenantToken = AcquireAccessToken( account, environment, AuthenticationFactory.CommonAdTenant, + password, promptBehavior); + + using (var subscriptionClient = AzureSession.ClientFactory.CreateCustomClient( + new TokenCloudCredentials(commonTenantToken.AccessToken), + environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager))) + { + return subscriptionClient.Tenants.List().TenantIds + .Select(ti => new AzureTenant() { Id = new Guid(ti.TenantId), Domain = commonTenantToken.GetDomain() } ) + .ToList(); + } + } + + /// + /// List all tenants for the account in the profile context + /// + /// The list of tenants for the default account. + public IEnumerable ListTenants() + { + return ListAccountTenants(_profile.Context.Account, _profile.Context.Environment, null, ShowDialog.Never); + } + + private IEnumerable ListSubscriptionsForTenant(AzureAccount account, AzureEnvironment environment, + SecureString password, ShowDialog promptBehavior, string tenantId) + { + var accessToken = AcquireAccessToken(account, environment, tenantId, password, promptBehavior); + using (var subscriptionClient = AzureSession.ClientFactory.CreateCustomClient( + new TokenCloudCredentials(accessToken.AccessToken), + environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager))) + { + var subscriptions = subscriptionClient.Subscriptions.List(); + if (subscriptions != null && subscriptions.Subscriptions != null) + { + return + subscriptions.Subscriptions.Select( + (s) => + s.ToAzureSubscription(new AzureContext(_profile.Context.Subscription, account, + environment, CreateTenantFromString(tenantId)))); + } + + return null; + } + } + + public IEnumerable ListSubscriptions(string tenant) + { + return ListSubscriptionsForTenant(_profile.Context.Account, _profile.Context.Environment, null, + ShowDialog.Never, tenant); + } + + public IEnumerable ListSubscriptions() + { + List subscriptions = new List(); + foreach (var tenant in ListTenants()) + { + try + { + subscriptions.AddRange(ListSubscriptions(tenant.Id.ToString())); + } + catch (AadAuthenticationException) + { + WriteWarningMessage(string.Format("Could not authenticate user account {0} with tenant {1}. " + + "Subscriptions in this tenant will not be listed. Please login again using Login-AzureRMAccount " + + "to view the subscriptions in this tenant.", _profile.Context.Account, tenant)); + } + + } + + return subscriptions; + } + + private void WriteWarningMessage(string message) + { + if (WarningLog != null) + { + WarningLog(message); + } + } + + private static AzureTenant CreateTenantFromString(string tenantOrDomain) + { + AzureTenant result = new AzureTenant(); + Guid id; + if (Guid.TryParse(tenantOrDomain, out id)) + { + result.Id = id; + } + else + { + result.Domain = tenantOrDomain; + } + + return result; + } + } +} diff --git a/src/ResourceManager/Common/Commands.ResourceManager.Common/packages.config b/src/ResourceManager/Common/Commands.ResourceManager.Common/packages.config new file mode 100644 index 000000000000..8b3394fd6012 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ResourceManager.Common/packages.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Assert.ps1 b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Assert.ps1 new file mode 100644 index 000000000000..ae4a0c1b6553 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj new file mode 100644 index 000000000000..246ae60432a0 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Commands.ScenarioTests.ResourceManager.Common.csproj @@ -0,0 +1,193 @@ + + + + + + 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 + + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True + + + ..\..\..\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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Common.ps1 b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Common.ps1 new file mode 100644 index 000000000000..8b46ac170973 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Constants.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Constants.cs new file mode 100644 index 000000000000..c088a5021872 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs new file mode 100644 index 000000000000..075d4dd0277c --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/EnvironmentSetupHelper.cs @@ -0,0 +1,329 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Reflection; +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.Context = new AzureContext(new AzureSubscription(), new AzureAccount(), rmprofile.Environments["foo"], new AzureTenant()); + rmprofile.Context.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("Write-Debug \"current directory: {0}\"", Directory.GetCurrentDirectory())); + powershell.AddScript(string.Format("Write-Debug \"current executing assembly: {0}\"", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))); + powershell.AddScript(string.Format("cd \"{0}\"", Directory.GetCurrentDirectory())); + + 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/ServiceManagement/Storage/Commands.Storage.ScenarioTest/MSSharedLibKey.snk b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/MSSharedLibKey.snk similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.ScenarioTest/MSSharedLibKey.snk rename to src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/MSSharedLibKey.snk diff --git a/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs new file mode 100644 index 000000000000..47bf4b27e527 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessToken.cs @@ -0,0 +1,38 @@ +// ---------------------------------------------------------------------------------- +// +// 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 + { + private string _tenantId = String.Empty; + 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 _tenantId; } + set { _tenantId = value; } + } + } +} diff --git a/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessTokenProvider.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockAccessTokenProvider.cs new file mode 100644 index 000000000000..8b14461bc714 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs new file mode 100644 index 000000000000..e8016b59a4f6 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCertificateAuthenticationFactory.cs @@ -0,0 +1,83 @@ +// ---------------------------------------------------------------------------------- +// +// 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, + IdentityModel.Clients.ActiveDirectory.TokenCache tokenCache, + 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 IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + return Authenticate(account, environment, tenant, password, promptBehavior, AzureSession.TokenCache, resourceId); + } + + 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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockClientFactory.cs new file mode 100644 index 000000000000..c59a308147c3 --- /dev/null +++ b/src/ResourceManager/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.Context.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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCommandRuntime.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockCommandRuntime.cs new file mode 100644 index 000000000000..b3e8da8817d2 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs new file mode 100644 index 000000000000..db1e257ff57f --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Mocks/MockTokenAuthenticationFactory.cs @@ -0,0 +1,123 @@ +// ---------------------------------------------------------------------------------- +// +// 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 MockTokenAuthenticationFactory(string userId, string accessToken, string tenantId) + { + Token = new MockAccessToken + { + UserId = userId, + LoginType = LoginType.OrgId, + AccessToken = accessToken, + TenantId = tenantId + }; + + TokenProvider = ((account, environment, tenant) => Token); + } + + + public IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + IdentityModel.Clients.ActiveDirectory.TokenCache tokenCache, + 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 IAccessToken Authenticate( + AzureAccount account, + AzureEnvironment environment, + string tenant, + SecureString password, + ShowDialog promptBehavior, + AzureEnvironment.Endpoint resourceId = AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId) + { + return Authenticate(account, environment, tenant, password, promptBehavior, AzureSession.TokenCache, resourceId); + } + + 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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PSCmdletExtensions.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PSCmdletExtensions.cs new file mode 100644 index 000000000000..90623209d3d9 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcher.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcher.cs new file mode 100644 index 000000000000..b8add57ae494 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcherWithApiExclusion.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcherWithApiExclusion.cs new file mode 100644 index 000000000000..e0de3fd00b5c --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PermissiveRecordMatcherWithApiExclusion.cs @@ -0,0 +1,109 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Text; +using System.Text.RegularExpressions; +using Microsoft.Azure.Test.HttpRecorder; + +namespace Microsoft.WindowsAzure.Commands.ScenarioTest +{ + // Excludes api version when matching mocked records. + // If alternate api version is provided, uses that to match records else removes the api-version matching. + public class PermissiveRecordMatcherWithApiExclusion : IRecordMatcher + { + private bool _ignoreGenericResource; + private Dictionary _providersToIgnore; + + public PermissiveRecordMatcherWithApiExclusion(bool ignoreResourcesClient, Dictionary providers) + { + _ignoreGenericResource = ignoreResourcesClient; + _providersToIgnore = providers; + } + + public string GetMatchingKey(System.Net.Http.HttpRequestMessage request) + { + var path = request.RequestUri.PathAndQuery; + if (path.Contains("?&")) + { + path = path.Replace("?&", "?"); + } + + string version; + if (ContainsIgnoredProvider(path, out version)) + { + path = RemoveOrReplaceApiVersion(path, version); + } + + 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("?&", "?"); + + + string version; + if (ContainsIgnoredProvider(updatedPath, out version)) + { + updatedPath = RemoveOrReplaceApiVersion(updatedPath, version); + } + + encodedPath = Convert.ToBase64String(Encoding.UTF8.GetBytes(updatedPath)); + } + + return string.Format("{0} {1}", recordEntry.RequestMethod, encodedPath); + } + + private bool ContainsIgnoredProvider(string requestUri, out string version) + { + if (_ignoreGenericResource && !requestUri.Contains("providers")) + { + version = String.Empty; + return true; + } + + foreach (var provider in _providersToIgnore) + { + var providerString = string.Format("providers/{0}", provider.Key); + if (requestUri.Contains(providerString)) + { + version = provider.Value; + return true; + } + } + + + version = string.Empty; + return false; + } + + private string RemoveOrReplaceApiVersion(string requestUri, string version) + { + if (!string.IsNullOrWhiteSpace(version)) + { + return Regex.Replace(requestUri, @"\?api-version=[^&]+", string.Format("?api-version={0}", version)); + } + else + { + return Regex.Replace(requestUri, @"\?api-version=[^&]+", string.Empty); + } + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PowerShellExtensions.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/PowerShellExtensions.cs new file mode 100644 index 000000000000..13250e4c9b24 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Properties/AssemblyInfo.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..98d020782545 --- /dev/null +++ b/src/ResourceManager/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/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/RMTestBase.cs b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/RMTestBase.cs new file mode 100644 index 000000000000..7dcd14c3e953 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/RMTestBase.cs @@ -0,0 +1,68 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Commands.ResourceManager.Common; + +namespace Microsoft.WindowsAzure.Commands.Test.Utilities.Common +{ + /// + /// Base class for Microsoft Azure PowerShell unit tests. + /// + public abstract class RMTestBase + { + protected AzureRMProfile currentProfile; + + public RMTestBase() + { + BaseSetup(); + } + + /// + /// Initialize the necessary environment for the tests. + /// + public void BaseSetup() + { + currentProfile = new AzureRMProfile(); + var newGuid = Guid.NewGuid(); + currentProfile.Context = new AzureContext( + new AzureSubscription { Id = newGuid, Name = "test", Environment = EnvironmentName.AzureCloud, Account = "test" }, + new AzureAccount + { + Id = "test", + Type = AzureAccount.AccountType.User, + Properties = new Dictionary + { + {AzureAccount.Property.Subscriptions, newGuid.ToString()} + } + }, + AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud], + new AzureTenant { Id = Guid.NewGuid(), Domain = "testdomain.onmicrosoft.com" }); + + AzureRMCmdlet.DefaultProfile = currentProfile; + + // Now override AzureSession.DataStore to use the MemoryDataStore + if (AzureSession.DataStore != null && !(AzureSession.DataStore is MemoryDataStore)) + { + AzureSession.DataStore = new MemoryDataStore(); + } + + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(); + } + } +} diff --git a/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config new file mode 100644 index 000000000000..942d14ec3068 --- /dev/null +++ b/src/ResourceManager/Common/Commands.ScenarioTests.ResourceManager.Common/packages.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/Compute/AzureRM.Compute.psd1 b/src/ResourceManager/Compute/AzureRM.Compute.psd1 new file mode 100644 index 000000000000..c47916898ce6 --- /dev/null +++ b/src/ResourceManager/Compute/AzureRM.Compute.psd1 @@ -0,0 +1,93 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Compute' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '0a83c907-1ffb-4d87-a492-c65ac7d7ed37' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Compute' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @( + '.\Microsoft.Azure.Commands.Compute.Types.ps1xml' +) + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Compute.format.ps1xml', + '.\Microsoft.Azure.Commands.Compute.format.generated.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Compute.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 003b27f2ffef..0cebb138c078 100644 --- a/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj +++ b/src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,6 +15,7 @@ ..\..\..\ true + 5620997e true @@ -49,8 +50,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -62,9 +63,8 @@ False ..\..\..\packages\Microsoft.Azure.Graph.RBAC.1.7.0-preview\lib\net40\Microsoft.Azure.Graph.RBAC.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.Compute.9.0.3-preview\lib\net40\Microsoft.Azure.Management.Compute.dll @@ -72,7 +72,7 @@ False - ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.9-preview\lib\net40\Microsoft.Azure.Management.Network.dll + ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.10-preview\lib\net40\Microsoft.Azure.Management.Network.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -83,10 +83,10 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -144,12 +144,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -172,9 +172,13 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -184,14 +188,6 @@ {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - {52643bd5-6378-49bd-9f6e-dac9dd8a867b} Commands.Compute @@ -365,10 +361,6 @@ - - - - xcopy "$(SolutionDir)Package\$(ConfigurationName)\*.*" $(TargetDir) /Y /E @@ -376,7 +368,7 @@ 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}. - + - + - - + + @@ -24,5 +24,5 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/GetAzureAvailabilitySetCommand.cs b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/GetAzureAvailabilitySetCommand.cs index 0fe63110c513..6bf663d93325 100644 --- a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/GetAzureAvailabilitySetCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/GetAzureAvailabilitySetCommand.cs @@ -41,9 +41,9 @@ public class GetAzureAvailabilitySetCommand : AvailabilitySetBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/NewAzureAvailabilitySetCommand.cs b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/NewAzureAvailabilitySetCommand.cs index 8340d81df618..e1b37d10aab6 100644 --- a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/NewAzureAvailabilitySetCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/NewAzureAvailabilitySetCommand.cs @@ -64,9 +64,9 @@ public class NewAzureAvailabilitySetCommand : AvailabilitySetBaseCmdlet [ValidateNotNullOrEmpty] public int? PlatformFaultDomainCount { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/RemoveAzureAvailabilitySetCommand.cs b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/RemoveAzureAvailabilitySetCommand.cs index 4281cab087b2..d928aee38f18 100644 --- a/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/RemoveAzureAvailabilitySetCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/AvailabilitySets/RemoveAzureAvailabilitySetCommand.cs @@ -46,13 +46,13 @@ public class RemoveAzureAvailabilitySetCommand : AvailabilitySetBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.AvailabilitySetRemovalConfirmation, Properties.Resources.AvailabilitySetRemovalCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.AvailabilitySetRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.AvailabilitySetRemovalCaption)) { AzureOperationResponse op = this.AvailabilitySetClient.Delete(this.ResourceGroupName, this.Name); var result = Mapper.Map(op); diff --git a/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj b/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj index 95b6f4667222..0360177df7a5 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj +++ b/src/ResourceManager/Compute/Commands.Compute/Commands.Compute.csproj @@ -20,7 +20,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Compute\ + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.Compute\ DEBUG;TRACE prompt 4 @@ -29,7 +29,7 @@ false - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\Compute + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.Compute TRACE;SIGN true pdbonly @@ -52,7 +52,6 @@ False ..\..\..\packages\AutoMapper.3.1.1\lib\net40\AutoMapper.dll - ..\..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll @@ -60,8 +59,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -73,9 +72,13 @@ False ..\..\..\packages\Microsoft.Azure.Graph.RBAC.1.7.0-preview\lib\net40\Microsoft.Azure.Graph.RBAC.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + True ..\..\..\packages\Microsoft.Azure.Management.Compute.9.0.3-preview\lib\net40\Microsoft.Azure.Management.Compute.dll @@ -83,7 +86,7 @@ False - ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.9-preview\lib\net40\Microsoft.Azure.Management.Network.dll + ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.10-preview\lib\net40\Microsoft.Azure.Management.Network.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -171,6 +174,12 @@ + + Common\ComputeCloudException.cs + + + Common\DiagnosticsHelper.cs + Extension\DSC\DscExtensionCmdletConstants.cs @@ -183,18 +192,12 @@ Extension\DSC\DscExtensionSettingsSerializer.cs - - Extension\DSC\GetDscResourceException.cs - Extension\DSC\ConfigurationParseResult.cs Extension\DSC\ConfigurationParsingHelper.cs - - Extension\DSC\DscExtensionPublishCmdletCommonBase.cs - @@ -214,6 +217,8 @@ + + @@ -223,6 +228,17 @@ + + + + + + + + + + + @@ -326,13 +342,9 @@ {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c60342b1-47d3-4a0e-8081-9b97ce60b7af} - Commands.Profile + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common {73820cbc-f4eb-4c5e-b4f0-cc4a93fbf157} @@ -360,6 +372,10 @@ + + AzureRM.Compute.psd1 + PreserveNewest + Always @@ -400,10 +416,6 @@ - - - - diff --git a/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs index d26840fadf17..df624edc6bbe 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Common/ComputeClientBaseCmdlet.cs @@ -19,10 +19,15 @@ namespace Microsoft.Azure.Commands.Compute { - public abstract class ComputeClientBaseCmdlet : AzurePSCmdlet + public abstract class ComputeClientBaseCmdlet : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { protected const string VirtualMachineExtensionType = "Microsoft.Compute/virtualMachines/extensions"; + protected override bool IsUsageMetricEnabled + { + get { return true; } + } + private ComputeClient computeClient; public ComputeClient ComputeClient @@ -31,7 +36,7 @@ public ComputeClient ComputeClient { if (computeClient == null) { - computeClient = new ComputeClient(Profile.Context) + computeClient = new ComputeClient(DefaultProfile.Context) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp @@ -44,9 +49,9 @@ public ComputeClient ComputeClient set { computeClient = value; } } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ComputeAutoMapperProfile.Initialize(); } @@ -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 4b8a9a48c32f..2f5eabcae1dc 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Common/ConstantStringTypes.cs @@ -51,53 +51,56 @@ public static class ValidateSetValues public static class ProfileNouns { - public const string VirtualMachineProfile = "AzureVMProfile"; + public const string VirtualMachineProfile = "AzureRMVMProfile"; - public const string OSProfile = "AzureVMOSProfile"; - public const string StorageProfile = "AzureVMStorageProfile"; - public const string HardwareProfile = "AzureVMHardwareProfile"; - public const string NetworkProfile = "AzureVMNetworkProfile"; + public const string OSProfile = "AzureRMVMOSProfile"; + public const string StorageProfile = "AzureRMVMStorageProfile"; + public const string HardwareProfile = "AzureRMVMHardwareProfile"; + public const string NetworkProfile = "AzureRMVMNetworkProfile"; - public const string OperatingSystem = "AzureVMOperatingSystem"; + public const string OperatingSystem = "AzureRMVMOperatingSystem"; - public const string DataDisk = "AzureVMDataDisk"; - public const string OSDisk = "AzureVMOSDisk"; - public const string SourceImage = "AzureVMSourceImage"; + public const string DataDisk = "AzureRMVMDataDisk"; + public const string OSDisk = "AzureRMVMOSDisk"; + public const string SourceImage = "AzureRMVMSourceImage"; - public const string NetworkInterface = "AzureVMNetworkInterface"; + public const string NetworkInterface = "AzureRMVMNetworkInterface"; - public const string VirtualMachine = "AzureVM"; - public const string VirtualMachineExtension = "AzureVMExtension"; - public const string VirtualMachineCustomScriptExtension = "AzureVMCustomScriptExtension"; - public const string VirtualMachineAccessExtension = "AzureVMAccessExtension"; - public const string VirtualMachineDiagnosticsExtension = "AzureVMDiagnosticsExtension"; - public const string VirtualMachineExtensionImage = "AzureVMExtensionImage"; - public const string VirtualMachineExtensionImageVersion = "AzureVMExtensionImageVersion"; - public const string VirtualMachineExtensionImageType = "AzureVMExtensionImageType"; + public const string VirtualMachine = "AzureRMVM"; + public const string VirtualMachineExtension = "AzureRMVMExtension"; + public const string VirtualMachineCustomScriptExtension = "AzureRMVMCustomScriptExtension"; + public const string VirtualMachineAccessExtension = "AzureRMVMAccessExtension"; + public const string VirtualMachineDiagnosticsExtension = "AzureRMVMDiagnosticsExtension"; + public const string VirtualMachineExtensionImage = "AzureRMVMExtensionImage"; + public const string VirtualMachineExtensionImageVersion = "AzureRMVMExtensionImageVersion"; + public const string VirtualMachineExtensionImageType = "AzureRMVMExtensionImageType"; - public const string AvailabilitySet = "AzureAvailabilitySet"; - public const string VirtualMachineConfig = "AzureVMConfig"; - public const string VirtualMachinePlan = "AzureVMPlan"; + public const string AvailabilitySet = "AzureRMAvailabilitySet"; + public const string VirtualMachineConfig = "AzureRMVMConfig"; + public const string VirtualMachinePlan = "AzureRMVMPlan"; - public const string VirtualMachineSize = "AzureVMSize"; + public const string VirtualMachineSize = "AzureRMVMSize"; - public const string VirtualMachineImage = "AzureVMImage"; - public const string VirtualMachineImagePublisher = "AzureVMImagePublisher"; - public const string VirtualMachineImageOffer = "AzureVMImageOffer"; - public const string VirtualMachineImageSku = "AzureVMImageSku"; - public const string VirtualMachineImageVersion = "AzureVMImageVersion"; + public const string VirtualMachineImage = "AzureRMVMImage"; + public const string VirtualMachineImagePublisher = "AzureRMVMImagePublisher"; + public const string VirtualMachineImageOffer = "AzureRMVMImageOffer"; + public const string VirtualMachineImageSku = "AzureRMVMImageSku"; + public const string VirtualMachineImageVersion = "AzureRMVMImageVersion"; - public const string VirtualMachineUsage = "AzureVMUsage"; + public const string VirtualMachineUsage = "AzureRMVMUsage"; - public const string SshPublicKey = "AzureVMSshPublicKey"; - public const string AdditionalUnattendContent = "AzureVMAdditionalUnattendContent"; - public const string VaultSecretGroup = "AzureVMSecret"; - public const string RemoteDesktopFile = "AzureRemoteDesktopFile"; + public const string SshPublicKey = "AzureRMVMSshPublicKey"; + public const string AdditionalUnattendContent = "AzureRMVMAdditionalUnattendContent"; + public const string VaultSecretGroup = "AzureRMVMSecret"; + public const string RemoteDesktopFile = "AzureRMRemoteDesktopFile"; //DSC - public const string VirtualMachineDscExtension = "AzureVMDscExtension"; - public const string VirtualMachineDscConfiguration = "AzureVMDscConfiguration"; + public const string VirtualMachineDscExtension = "AzureRMVMDscExtension"; + public const string VirtualMachineDscConfiguration = "AzureRMVMDscConfiguration"; - public const string Vhd = "AzureVhd"; + public const string Vhd = "AzureRMVhd"; + + // Sql Server + public const string VirtualMachineSqlServerExtension = "AzureRMVMSqlServerExtension"; } } diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/GetAzureVMCustomScriptExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/GetAzureVMCustomScriptExtensionCommand.cs index c641da2b3a56..e59672051d6a 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/GetAzureVMCustomScriptExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/GetAzureVMCustomScriptExtensionCommand.cs @@ -64,9 +64,9 @@ public class GetAzureVMCustomScriptExtensionCommand : VirtualMachineExtensionBas [ValidateNotNullOrEmpty] public SwitchParameter Status { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/RemoveAzureVMCustomScriptExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/RemoveAzureVMCustomScriptExtensionCommand.cs index 437359e85926..d2d40be25d4d 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/RemoveAzureVMCustomScriptExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/RemoveAzureVMCustomScriptExtensionCommand.cs @@ -53,13 +53,13 @@ public class RemoveAzureVMCustomScriptExtensionCommand : VirtualMachineExtension [ValidateNotNullOrEmpty] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Properties.Resources.VirtualMachineExtensionRemovalCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.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/CustomScript/SetAzureVMCustomScriptExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/SetAzureVMCustomScriptExtensionCommand.cs index 573a57a819b1..1d8d41a28680 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/SetAzureVMCustomScriptExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/CustomScript/SetAzureVMCustomScriptExtensionCommand.cs @@ -177,16 +177,16 @@ public class SetAzureVMCustomScriptExtensionCommand : VirtualMachineExtensionBas public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { if (string.Equals(this.ParameterSetName, SetCustomScriptExtensionByContainerBlobsParamSetName)) { this.StorageEndpointSuffix = string.IsNullOrEmpty(this.StorageEndpointSuffix) ? - Profile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix) : this.StorageEndpointSuffix; + DefaultProfile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix) : this.StorageEndpointSuffix; var sName = string.IsNullOrEmpty(this.StorageAccountName) ? GetStorageName() : this.StorageAccountName; var sKey = string.IsNullOrEmpty(this.StorageAccountKey) ? GetStorageKey(sName) : this.StorageAccountKey; @@ -197,7 +197,7 @@ public override void ExecuteCmdlet() if (string.IsNullOrEmpty(this.Run)) { - WriteWarning(Properties.Resources.CustomScriptExtensionTryToUseTheFirstSpecifiedFileAsRunScript); + WriteWarning(Microsoft.Azure.Commands.Compute.Properties.Resources.CustomScriptExtensionTryToUseTheFirstSpecifiedFileAsRunScript); this.Run = this.FileName[0]; } } @@ -234,7 +234,7 @@ public override void ExecuteCmdlet() protected string GetStorageName() { - return Profile.Context.Subscription.GetProperty(AzureSubscription.Property.StorageAccount); + return DefaultProfile.Context.Subscription.GetProperty(AzureSubscription.Property.StorageAccount); } protected string GetStorageKey(string storageName) diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionCmdletCommonBase.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionCmdletCommonBase.cs index a3cc9e74a336..61abf46b2b7d 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionCmdletCommonBase.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionCmdletCommonBase.cs @@ -5,6 +5,7 @@ using Microsoft.Azure.Management.Storage; using Microsoft.WindowsAzure.Commands.Utilities.Common; using Microsoft.WindowsAzure.Storage.Auth; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.Compute.Extension.DSC { @@ -12,17 +13,17 @@ static class DscExtensionCmdletCommonBase { private static StorageManagementClientWrapper _storageClientWrapper; - private static IStorageManagementClient GetStorageClient(this AzurePSCmdlet cmdlet) + private static IStorageManagementClient GetStorageClient(this Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet cmdlet) { if (_storageClientWrapper == null) { - _storageClientWrapper = new StorageManagementClientWrapper(cmdlet.Profile.Context); + _storageClientWrapper = new StorageManagementClientWrapper(AzureRMCmdlet.DefaultProfile.Context); } return _storageClientWrapper.StorageManagementClient; } - internal static StorageCredentials GetStorageCredentials(this AzurePSCmdlet cmdlet, String resourceGroupName, String storageAccountName) + internal static StorageCredentials GetStorageCredentials(this Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet cmdlet, String resourceGroupName, String storageAccountName) { StorageCredentials credentials = null; var storageClient = GetStorageClient(cmdlet); @@ -43,7 +44,7 @@ internal static StorageCredentials GetStorageCredentials(this AzurePSCmdlet cmdl { cmdlet.ThrowTerminatingError( new ErrorRecord( - new UnauthorizedAccessException(Properties.Resources.AzureVMDscDefaultStorageCredentialsNotFound), + new UnauthorizedAccessException(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscDefaultStorageCredentialsNotFound), "CredentialsNotFound", ErrorCategory.PermissionDenied, null)); @@ -51,13 +52,13 @@ internal static StorageCredentials GetStorageCredentials(this AzurePSCmdlet cmdl if (string.IsNullOrEmpty(credentials.AccountName)) { - ThrowInvalidArgumentError(cmdlet, Properties.Resources.AzureVMDscStorageContextMustIncludeAccountName); + ThrowInvalidArgumentError(cmdlet, Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscStorageContextMustIncludeAccountName); } return credentials; } - internal static void ThrowInvalidArgumentError(this AzurePSCmdlet cmdlet, string format, params object[] args) + internal static void ThrowInvalidArgumentError(this Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet cmdlet, string format, params object[] args) { cmdlet.ThrowTerminatingError( new ErrorRecord( diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionPublishCmdletCommonBase.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionPublishCmdletCommonBase.cs new file mode 100644 index 000000000000..24a5bdf098a1 --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/DscExtensionPublishCmdletCommonBase.cs @@ -0,0 +1,575 @@ +using Microsoft.WindowsAzure.Commands.Common.Extensions.DSC.Exceptions; +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.WindowsAzure.Storage; +using Microsoft.WindowsAzure.Storage.Auth; +using Microsoft.WindowsAzure.Storage.Blob; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Management.Automation; +using Newtonsoft.Json; + + +namespace Microsoft.WindowsAzure.Commands.Common.Extensions.DSC.Publish +{ + public class DscExtensionPublishCmdletCommonBase : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet + { + //Publish + private const string CreateArchiveParameterSetName = "CreateArchive"; + private const string UploadArchiveParameterSetName = "UploadArchive"; + private readonly List _temporaryFilesToDelete = new List(); + private readonly List _temporaryDirectoriesToDelete = new List(); + + public void ValidatePsVersion() + { + using (System.Management.Automation.PowerShell powershell = System.Management.Automation.PowerShell.Create()) + { + powershell.AddScript("$PSVersionTable.PSVersion.Major"); + int major = powershell.Invoke().FirstOrDefault(); + if (major < DscExtensionCmdletConstants.MinMajorPowerShellVersion) + { + ThrowTerminatingError( + new ErrorRecord( + new InvalidOperationException( + string.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionRequiredPsVersion, + DscExtensionCmdletConstants.MinMajorPowerShellVersion, + major)), + "InvalidPowerShellVersion", + ErrorCategory.InvalidOperation, + null)); + } + } + } + + public void ValidateConfigurationPath(String configurationPath, String paramaterSetName) + { + if (!File.Exists(configurationPath)) + { + ThrowInvalidArgumentError( + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionUploadArchiveConfigFileNotExist, + configurationPath); + } + + var configurationFileExtension = Path.GetExtension(configurationPath); + + if (paramaterSetName == UploadArchiveParameterSetName) + { + if (!DscExtensionCmdletConstants.UploadArchiveAllowedFileExtensions.Contains(Path.GetExtension(configurationFileExtension))) + { + ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension, configurationPath); + } + } + else if (paramaterSetName == CreateArchiveParameterSetName) + { + if (!DscExtensionCmdletConstants.CreateArchiveAllowedFileExtensions.Contains(Path.GetExtension(configurationFileExtension))) + { + ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension, configurationPath); + } + } + } + + public void ValidateConfigurationDataPath(String configurationDataPath) + { + if (!File.Exists(configurationDataPath)) + { + ThrowInvalidArgumentError( + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscCannotFindConfigurationDataFile, + configurationDataPath); + } + if (string.Compare( + Path.GetExtension(configurationDataPath), + ".psd1", + StringComparison.InvariantCultureIgnoreCase) != 0) + { + ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscInvalidConfigurationDataFile); + } + } + + public string CreateConfigurationArchive( + String configurationPath, + String configurationDataPath, + String[] additionalPath, + String configurationArchivePath, + Boolean force, + Boolean skipDependencyDetection, + String parameterSetName) + { + var metadata = new Dictionary(); + // Create a temporary directory for uploaded zip file + var tempZipFolder = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); + WriteVerbose(String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionTempFolderVerbose, + tempZipFolder)); + Directory.CreateDirectory(tempZipFolder); + _temporaryDirectoriesToDelete.Add(tempZipFolder); + + // Copy Configuration + var configurationName = Path.GetFileName(configurationPath); + var configurationDestination = Path.Combine(tempZipFolder, configurationName); + CopyFileToZipFolder(configurationPath, configurationDestination); + + //copy configuration data if available + if (configurationDataPath != null) + { + var configurationDataName = Path.GetFileName(configurationDataPath); + var configurationDataDestination = Path.Combine(tempZipFolder, configurationDataName); + metadata.Add("ConfigurationData", configurationDataName); + CopyFileToZipFolder(configurationDataPath, configurationDataDestination); + } + + //copy additional content if available + if (additionalPath != null && additionalPath.Length > 0) + { + var additionalContentMetadata = new List(); + foreach (var contentPath in additionalPath) + { + CopyAdditionalContent(contentPath, tempZipFolder, additionalContentMetadata); + } + metadata.Add("AdditionalContent", additionalContentMetadata); + } + + //Copy required modules when -SkipDependencyDetection switch is not present + if (!skipDependencyDetection) + { + var metadataModules = CopyRequiredModules(configurationPath, tempZipFolder); + if (metadataModules != null) + { + metadata.Add("Modules", metadataModules); + } + } + + //copy metadata info + + var metadataJson = JsonConvert.SerializeObject(metadata); + const string metadataFileName = "dscmetadata.json"; + var metadataDestPath = Path.Combine(tempZipFolder, metadataFileName); + File.WriteAllText(metadataDestPath, metadataJson); + + // + // Zip the directory + // + string archive; + if (parameterSetName == CreateArchiveParameterSetName) + { + archive = configurationArchivePath; + + if (!force && File.Exists(archive)) + { + ThrowTerminatingError( + new ErrorRecord( + new UnauthorizedAccessException(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscArchiveAlreadyExists, archive)), + "FileAlreadyExists", + ErrorCategory.PermissionDenied, + null)); + } + } + else + { + string tempArchiveFolder = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); + WriteVerbose(String.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionTempFolderVerbose, tempArchiveFolder)); + Directory.CreateDirectory(tempArchiveFolder); + _temporaryDirectoriesToDelete.Add(tempArchiveFolder); + archive = Path.Combine(tempArchiveFolder, configurationName + DscExtensionCmdletConstants.ZipFileExtension); + _temporaryFilesToDelete.Add(archive); + } + + if (File.Exists(archive)) + { + File.Delete(archive); + } + + ZipFile.CreateFromDirectory(tempZipFolder, archive); + + return archive; + } + + /// + /// Publish the configuration and its modules + /// + public void PublishConfiguration( + String configurationPath, + String configurationDataPath, + String[] additionalPath, + String outputArchivePath, + String storageEndpointSuffix, + String containerName, + String parameterSetName, + Boolean force, + Boolean skipDependencyDetection, + StorageCredentials storageCredentials, + Boolean passThru = true) + { + if (parameterSetName == CreateArchiveParameterSetName) + { + ConfirmAction( + true, + string.Empty, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscCreateArchiveAction, + outputArchivePath, () => CreateConfigurationArchive( + configurationPath, + configurationDataPath, + additionalPath, + outputArchivePath, + force, + skipDependencyDetection, + parameterSetName)); + } + else + { + var archivePath = string.Compare( + Path.GetExtension(configurationPath), + DscExtensionCmdletConstants.ZipFileExtension, + StringComparison.OrdinalIgnoreCase) == 0 + ? configurationPath + : CreateConfigurationArchive( + configurationPath, + configurationDataPath, + additionalPath, + outputArchivePath, + force, + skipDependencyDetection, + parameterSetName); + + UploadConfigurationArchive(storageCredentials, storageEndpointSuffix, containerName, archivePath, force, passThru); + } + } + + private List CopyRequiredModules(String configurationPath, String tempZipFolder) + { + WriteVerbose( + String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscParsingConfiguration, + configurationPath)); + + var requiredModules = GetRequiredModules(configurationPath); + var metadataModules = new List(); + + foreach (var module in requiredModules) + { + metadataModules.Add(module.Key); + using (System.Management.Automation.PowerShell powershell = System.Management.Automation.PowerShell.Create()) + { + // Wrapping script in a function to prevent script injection via $module variable. + powershell.AddScript( + @"function Copy-Module([string]$moduleName, [string]$moduleVersion, [string]$tempZipFolder) + { + if([String]::IsNullOrEmpty($moduleVersion)) + { + $module = Get-Module -List -Name $moduleName + } + else + { + $module = (Get-Module -List -Name $moduleName) | Where-Object{$_.Version -eq $moduleVersion} + } + + $moduleFolder = Split-Path $module.Path + Copy-Item -Recurse -Path $moduleFolder -Destination ""$tempZipFolder\$($module.Name)"" + }" + ); + powershell.Invoke(); + powershell.Commands.Clear(); + powershell.AddCommand("Copy-Module") + .AddParameter("moduleName", module.Key) + .AddParameter("moduleVersion", module.Value) + .AddParameter("tempZipFolder", tempZipFolder); + WriteVerbose(String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionCopyModuleVerbose, + module, + tempZipFolder)); + powershell.Invoke(); + } + } + + return metadataModules; + } + + private void CopyAdditionalContent(String additionalPath, String tempZipFolder, List additionalContentMetadata) + { + try + { + if (PathIsAFile(additionalPath)) + { + var additionalFileName = Path.GetFileName(additionalPath); + var additionalFileDestination = Path.Combine(tempZipFolder, additionalFileName); + additionalContentMetadata.Add(additionalFileName); + CopyFileToZipFolder(additionalPath, additionalFileDestination); + } + else + { + var dir = new DirectoryInfo(additionalPath); + if (!dir.Exists) + { + ThrowInvalidArgumentError( + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionDirectoryNotExist, + dir); + } + + var dirName = dir.Name; + additionalContentMetadata.Add(dirName); + var dirDestination = Path.Combine(tempZipFolder, dirName); + + CopyDirectory(dirDestination, dir); + } + } + catch (Exception) + { + ThrowInvalidArgumentError( + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionAdditionalContentPathNotExist, + additionalPath); + } + } + + private void CopyDirectory(String destDirPath, DirectoryInfo dir) + { + //if the destination directory does not exist create it + if (!Directory.Exists(destDirPath)) + { + Directory.CreateDirectory(destDirPath); + } + + //get the files in the directory and copy them to the tempzipfolder location + var files = dir.GetFiles(); + foreach (var file in files) + { + var temppath = Path.Combine(destDirPath, file.Name); + file.CopyTo(temppath, true); + } + + //copy subdirectories + var dirs = dir.GetDirectories(); + foreach (var subdir in dirs) + { + var temppath = Path.Combine(destDirPath, subdir.Name); + CopyDirectory(temppath, subdir); + } + } + + private Dictionary GetRequiredModules(String configurationPath) + { + ConfigurationParseResult parseResult = null; + try + { + parseResult = ConfigurationParsingHelper.ParseConfiguration(configurationPath); + } + catch (GetDscResourceException e) + { + ThrowTerminatingError( + new ErrorRecord(e, "CannotAccessDscResource", ErrorCategory.PermissionDenied, null)); + } + + if (parseResult.Errors.Any()) + { + ThrowTerminatingError( + new ErrorRecord( + new ParseException( + String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionStorageParserErrors, + configurationPath, + String.Join("\n", parseResult.Errors.Select(error => error.ToString())))), + "DscConfigurationParseError", + ErrorCategory.ParserError, + null)); + } + + var requiredModules = parseResult.RequiredModules; + //Since LCM always uses the latest module there is no need to copy PSDesiredStateConfiguration + if (requiredModules.ContainsKey("PSDesiredStateConfiguration")) + { + requiredModules.Remove("PSDesiredStateConfiguration"); + } + + WriteVerbose(String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionRequiredModulesVerbose, + String.Join(", ", requiredModules))); + + return requiredModules; + } + + private void UploadConfigurationArchive( + StorageCredentials storageCredentials, + String storageEndpointSuffix, + String containerName, + String archivePath, + Boolean force, + Boolean passThru) + { + CloudBlockBlob modulesBlob = + GetBlobReference(storageCredentials, storageEndpointSuffix, containerName, archivePath); + + ConfirmAction( + true, + string.Empty, + string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscUploadToBlobStorageAction, archivePath), + modulesBlob.Uri.AbsoluteUri, () => + { + if (!force && modulesBlob.Exists()) + { + ThrowTerminatingError( + new ErrorRecord( + new UnauthorizedAccessException( + string.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscStorageBlobAlreadyExists, modulesBlob.Uri.AbsoluteUri)), + "StorageBlobAlreadyExists", + ErrorCategory.PermissionDenied, + null)); + } + + modulesBlob.UploadFromFile(archivePath, FileMode.Open); + + WriteVerbose(string.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionArchiveUploadedMessage, modulesBlob.Uri.AbsoluteUri)); + + if (passThru) + { + WriteObject(modulesBlob.Uri.AbsoluteUri); + } + }); + } + + private void CopyFileToZipFolder(String source, string destination) + { + WriteVerbose(String.Format( + CultureInfo.CurrentUICulture, + Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionCopyFileVerbose, + source, + destination)); + File.Copy(source, destination); + } + + private Boolean PathIsAFile(String path) + { + var attributes = File.GetAttributes(path); + return !attributes.HasFlag(FileAttributes.Directory); + } + + public void DeleteTemporaryFiles() + { + foreach (var file in _temporaryFilesToDelete) + { + try + { + DeleteFile(file); + WriteVerbose(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionDeletedFileMessage, file)); + } + catch (Exception e) + { + WriteVerbose(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionDeleteErrorMessage, file, e.Message)); + } + } + foreach (var directory in _temporaryDirectoriesToDelete) + { + try + { + DeleteDirectory(directory); + WriteVerbose(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionDeletedFileMessage, directory)); + } + catch (Exception e) + { + WriteVerbose(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionDeleteErrorMessage, directory, e.Message)); + } + } + } + + private CloudBlockBlob GetBlobReference( + StorageCredentials storageCredentials, String storageEndpointSuffix, String containerName, String archivePath) + { + var storageAccount = new CloudStorageAccount(storageCredentials, storageEndpointSuffix, true); + var blobClient = storageAccount.CreateCloudBlobClient(); + + CloudBlobContainer containerReference = blobClient.GetContainerReference(containerName); + containerReference.CreateIfNotExists(); + + var blobName = Path.GetFileName(archivePath); + + return containerReference.GetBlockBlobReference(blobName); + } + + protected void ThrowInvalidArgumentError(String format, params object[] args) + { + ThrowTerminatingError( + new ErrorRecord( + new ArgumentException(string.Format(CultureInfo.CurrentUICulture, format, args)), + "InvalidArgument", + ErrorCategory.InvalidArgument, + null)); + } + + private static void DeleteFile(string path) + { + try + { + File.Delete(path); + } + catch (UnauthorizedAccessException) + { + // the exception may have occurred due to a read-only file + DeleteReadOnlyFile(path); + } + } + + /// + /// Turns off the ReadOnly attribute from the given file and then attempts to delete it + /// + private static void DeleteReadOnlyFile(string path) + { + var attributes = File.GetAttributes(path); + + if ((attributes & FileAttributes.ReadOnly) != 0) + { + File.SetAttributes(path, attributes & ~FileAttributes.ReadOnly); + } + + File.Delete(path); + } + + private static void DeleteDirectory(string path) + { + try + { + Directory.Delete(path, true); + } + catch (UnauthorizedAccessException) + { + // the exception may have occurred due to a read-only file or directory + DeleteReadOnlyDirectory(path); + } + } + + /// + /// Recursively turns off the ReadOnly attribute from the given directory and then attemps to delete it + /// + private static void DeleteReadOnlyDirectory(string path) + { + var directory = new DirectoryInfo(path); + + foreach (var child in directory.GetDirectories()) + { + DeleteReadOnlyDirectory(child.FullName); + } + + foreach (var child in directory.GetFiles()) + { + DeleteReadOnlyFile(child.FullName); + } + + if ((directory.Attributes & FileAttributes.ReadOnly) != 0) + { + directory.Attributes &= ~FileAttributes.ReadOnly; + } + + directory.Delete(); + } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetAzureVMDscExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetAzureVMDscExtensionCommand.cs index ead90426f6d3..1d94d1acae02 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetAzureVMDscExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetAzureVMDscExtensionCommand.cs @@ -40,8 +40,8 @@ public class GetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet [Parameter( Position = 2, ValueFromPipelineByPropertyName = true, - HelpMessage = "Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to " + - "'Microsoft.Powershell.DSC', which is the same value used by Get-AzureVMDscExtension. Specify this parameter only if you changed " + + HelpMessage = "Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to " + + "'Microsoft.Powershell.DSC', which is the same value used by Get-AzureRMVMDscExtension. 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; } @@ -52,9 +52,9 @@ public class GetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Status { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (String.IsNullOrEmpty(Name)) { @@ -131,7 +131,7 @@ private VirtualMachineDscExtensionContext GetDscExtensionContext(PSVirtualMachin new JsonException( String.Format( CultureInfo.CurrentUICulture, - Properties.Resources.AzureVMDscWrongSettingsFormat, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscWrongSettingsFormat, extension.PublicSettings), e), string.Empty, diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetDscResourceException.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetDscResourceException.cs new file mode 100644 index 000000000000..76472a78af0a --- /dev/null +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/GetDscResourceException.cs @@ -0,0 +1,28 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Globalization; + + +namespace Microsoft.WindowsAzure.Commands.Common.Extensions.DSC.Exceptions +{ + [Serializable] + public class GetDscResourceException : UnauthorizedAccessException + { + public GetDscResourceException(string resourceName, Exception e) : + base(String.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.PublishVMDscExtensionGetDscResourceFailed, resourceName), e) + { } + } +} diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/PublishAzureVMDscConfigurationCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/PublishAzureVMDscConfigurationCommand.cs index c2c92dfdbed5..d9edd8a084b9 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/PublishAzureVMDscConfigurationCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/PublishAzureVMDscConfigurationCommand.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.Compute.Extension.DSC /// /// Uploads a Desired State Configuration script to Azure blob storage, which /// later can be applied to Azure Virtual Machines using the - /// Set-AzureVMDscExtension cmdlet. + /// Set-AzureRMVMDscExtension cmdlet. /// [Cmdlet( VerbsData.Publish, @@ -73,7 +73,7 @@ public class PublishAzureVMDscConfigurationCommand : DscExtensionPublishCmdletCo /// /// Path to a local ZIP file to write the configuration archive to. - /// When using this parameter, Publish-AzureVMDscConfiguration creates a + /// When using this parameter, Publish-AzureRMVMDscConfiguration creates a /// local ZIP archive instead of uploading it to blob storage.. /// [Alias("ConfigurationArchivePath")] @@ -96,10 +96,10 @@ public class PublishAzureVMDscConfigurationCommand : DscExtensionPublishCmdletCo public string StorageEndpointSuffix { get; set; } /// - /// By default Publish-AzureVMDscConfiguration will not overwrite any existing blobs. + /// By default Publish-AzureRMVMDscConfiguration will not overwrite any existing blobs. /// Use -Force to overwrite them. /// - [Parameter(HelpMessage = "By default Publish-AzureVMDscConfiguration will not overwrite any existing blobs")] + [Parameter(HelpMessage = "By default Publish-AzureRMVMDscConfiguration will not overwrite any existing blobs")] public SwitchParameter Force { get; set; } /// @@ -117,7 +117,7 @@ public class PublishAzureVMDscConfigurationCommand : DscExtensionPublishCmdletCo ValueFromPipelineByPropertyName = true, HelpMessage = "Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration " + "archive and then passed to the configuration function. It gets overwritten by the configuration data path " + - "provided through the Set-AzureVMDscExtension cmdlet")] + "provided through the Set-AzureRMVMDscExtension cmdlet")] [ValidateNotNullOrEmpty] public string ConfigurationDataPath { get; set; } @@ -138,9 +138,9 @@ public class PublishAzureVMDscConfigurationCommand : DscExtensionPublishCmdletCo /// private StorageCredentials _storageCredentials; - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); try { @@ -179,7 +179,7 @@ public override void ExecuteCmdlet() if (StorageEndpointSuffix == null) { StorageEndpointSuffix = - Profile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix); + DefaultProfile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix); } break; } diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/RemoveAzureVMDscExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/RemoveAzureVMDscExtensionCommand.cs index 73f24a148194..7c6cfdafa52b 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/RemoveAzureVMDscExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/RemoveAzureVMDscExtensionCommand.cs @@ -39,22 +39,22 @@ public class RemoveAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdle [Parameter( Position = 2, ValueFromPipelineByPropertyName = true, - HelpMessage = "Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to " + - "'Microsoft.Powershell.DSC', which is the same value used by Get-AzureVMDscExtension. Specify this parameter only if you changed " + + HelpMessage = "Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to " + + "'Microsoft.Powershell.DSC', which is the same value used by Get-AzureRMVMDscExtension. 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; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (String.IsNullOrEmpty(Name)) { Name = DscExtensionCmdletConstants.ExtensionPublishedNamespace + "." + DscExtensionCmdletConstants.ExtensionPublishedName; } - if (ShouldProcess(string.Format(CultureInfo.CurrentUICulture, Properties.Resources.DscExtensionRemovalConfirmation, Name), Properties.Resources.DscExtensionRemovalCaption)) + if (ShouldProcess(string.Format(CultureInfo.CurrentUICulture, Microsoft.Azure.Commands.Compute.Properties.Resources.DscExtensionRemovalConfirmation, Name), Microsoft.Azure.Commands.Compute.Properties.Resources.DscExtensionRemovalCaption)) { //Add retry logic due to CRP service restart known issue CRP bug: 3564713 var count = 1; diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/SetAzureVMDscExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/SetAzureVMDscExtensionCommand.cs index c24c1a611084..063b809aafd3 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/SetAzureVMDscExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/DSC/SetAzureVMDscExtensionCommand.cs @@ -51,7 +51,7 @@ public class SetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet /// /// The name of the configuration archive that was previously uploaded by - /// Publish-AzureVMDSCConfiguration. This parameter must specify only the name + /// Publish-AzureRMVMDSCConfiguration. This parameter must specify only the name /// of the file, without any path. /// A null value or empty string indicate that the VM extension should install DSC, /// but not start any configuration @@ -62,7 +62,7 @@ public class SetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet Position = 5, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureBlobDscExtensionParamSet, - HelpMessage = "The name of the configuration file that was previously uploaded by Publish-AzureVMDSCConfiguration")] + HelpMessage = "The name of the configuration file that was previously uploaded by Publish-AzureRMVMDSCConfiguration")] [AllowEmptyString] [AllowNull] public string ArchiveBlobName { get; set; } @@ -146,7 +146,7 @@ public class SetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet public string ConfigurationData { get; set; } /// - /// The specific version of the DSC extension that Set-AzureVMDSCExtension will + /// The specific version of the DSC extension that Set-AzureRMVMDSCExtension will /// apply the settings to. /// [Alias("HandlerVersion")] @@ -154,13 +154,13 @@ public class SetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true, - HelpMessage = "The version of the DSC extension that Set-AzureVMDSCExtension will apply the settings to. " + + HelpMessage = "The version of the DSC extension that Set-AzureRMVMDSCExtension will apply the settings to. " + "Allowed format N.N")] [ValidateNotNullOrEmpty] public string Version { get; set; } /// - /// By default Set-AzureVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them. + /// By default Set-AzureRMVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them. /// [Parameter( HelpMessage = "Use this parameter to overwrite any existing blobs")] @@ -189,9 +189,9 @@ public class SetAzureVMDscExtensionCommand : VirtualMachineExtensionBaseCmdlet /// private StorageCredentials _storageCredentials; - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ValidateParameters(); @@ -206,11 +206,11 @@ private void ValidateParameters() if (ConfigurationName != null || ConfigurationArgument != null || ConfigurationData != null) { - this.ThrowInvalidArgumentError(Properties.Resources.AzureVMDscNullArchiveNoConfiguragionParameters); + this.ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscNullArchiveNoConfiguragionParameters); } if (ArchiveContainerName != null || ArchiveStorageEndpointSuffix != null) { - this.ThrowInvalidArgumentError(Properties.Resources.AzureVMDscNullArchiveNoStorageParameters); + this.ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscNullArchiveNoStorageParameters); } } else @@ -220,7 +220,7 @@ private void ValidateParameters() ArchiveBlobName, StringComparison.InvariantCultureIgnoreCase) != 0) { - this.ThrowInvalidArgumentError(Properties.Resources.AzureVMDscConfigurationDataFileShouldNotIncludePath); + this.ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscConfigurationDataFileShouldNotIncludePath); } if (ConfigurationData != null) @@ -230,7 +230,7 @@ private void ValidateParameters() if (!File.Exists(ConfigurationData)) { this.ThrowInvalidArgumentError( - Properties.Resources.AzureVMDscCannotFindConfigurationDataFile, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscCannotFindConfigurationDataFile, ConfigurationData); } if (string.Compare( @@ -238,7 +238,7 @@ private void ValidateParameters() ".psd1", StringComparison.InvariantCultureIgnoreCase) != 0) { - this.ThrowInvalidArgumentError(Properties.Resources.AzureVMDscInvalidConfigurationDataFile); + this.ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscInvalidConfigurationDataFile); } } @@ -262,12 +262,12 @@ private void ValidateParameters() if (ArchiveStorageEndpointSuffix == null) { ArchiveStorageEndpointSuffix = - Profile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix); + DefaultProfile.Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix); } if (!(Regex.Match(Version, VersionRegexExpr).Success)) { - this.ThrowInvalidArgumentError(Properties.Resources.AzureVMDscExtensionInvalidVersion); + this.ThrowInvalidArgumentError(Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscExtensionInvalidVersion); } } } @@ -387,7 +387,7 @@ private ConfigurationUris UploadConfigurationDataToBlob() string.Empty, string.Format( CultureInfo.CurrentUICulture, - Properties.Resources.AzureVMDscUploadToBlobStorageAction, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscUploadToBlobStorageAction, ConfigurationData), configurationDataBlobReference.Uri.AbsoluteUri, () => @@ -399,7 +399,7 @@ private ConfigurationUris UploadConfigurationDataToBlob() new UnauthorizedAccessException( string.Format( CultureInfo.CurrentUICulture, - Properties.Resources.AzureVMDscStorageBlobAlreadyExists, + Microsoft.Azure.Commands.Compute.Properties.Resources.AzureVMDscStorageBlobAlreadyExists, configurationDataBlobName)), "StorageBlobAlreadyExists", ErrorCategory.PermissionDenied, diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/GetAzureVMDiagnosticsExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/GetAzureVMDiagnosticsExtension.cs index d0c221988dca..ba9fe5f36088 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/GetAzureVMDiagnosticsExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/GetAzureVMDiagnosticsExtension.cs @@ -61,9 +61,9 @@ public class GetAzureVMDiagnosticsExtensionCommand : VirtualMachineExtensionBase [ValidateNotNullOrEmpty] public SwitchParameter Status { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/RemoveAzureVMDiagnosticsExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/RemoveAzureVMDiagnosticsExtension.cs index 16af517fb880..fcd4fdd011ea 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/RemoveAzureVMDiagnosticsExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/RemoveAzureVMDiagnosticsExtension.cs @@ -16,7 +16,6 @@ using System.Management.Automation; using Microsoft.Azure.Commands.Compute.Common; using Microsoft.Azure.Management.Compute; -using Microsoft.WindowsAzure.Commands.ServiceManagement.Model; namespace Microsoft.Azure.Commands.Compute { @@ -51,9 +50,9 @@ public class RemoveAzureVMDiagnosticsExtensionCommand : VirtualMachineExtensionB [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/SetAzureVMDiagnosticsExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/SetAzureVMDiagnosticsExtension.cs index 9e6839b7fbcd..ba28ab273139 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/SetAzureVMDiagnosticsExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/Diagnostics/SetAzureVMDiagnosticsExtension.cs @@ -161,7 +161,7 @@ public StorageManagementClient StorageClient if (this.storageClient == null) { this.storageClient = AzureSession.ClientFactory.CreateClient( - Profile.Context, AzureEnvironment.Endpoint.ServiceManagement); + DefaultProfile.Context, AzureEnvironment.Endpoint.ServiceManagement); } return this.storageClient; @@ -170,7 +170,7 @@ public StorageManagementClient StorageClient internal void ExecuteCommand() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/GetAzureVMExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/GetAzureVMExtensionCommand.cs index 3262af780833..1747057d399f 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/GetAzureVMExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/GetAzureVMExtensionCommand.cs @@ -56,9 +56,9 @@ public class GetAzureVMExtensionCommand : VirtualMachineExtensionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Status { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/RemoveAzureVMExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/RemoveAzureVMExtensionCommand.cs index 9535962c8366..265094e27941 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/RemoveAzureVMExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/RemoveAzureVMExtensionCommand.cs @@ -54,13 +54,13 @@ public class RemoveAzureVMExtensionCommand : VirtualMachineExtensionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Properties.Resources.VirtualMachineExtensionRemovalCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalCaption)) { var op = this.VirtualMachineExtensionClient.Delete(this.ResourceGroupName, this.VMName, this.Name); var result = Mapper.Map(op); diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/SetAzureVMExtensionCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/SetAzureVMExtensionCommand.cs index 0e500bfde181..b014f286cce9 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/SetAzureVMExtensionCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/SetAzureVMExtensionCommand.cs @@ -123,9 +123,9 @@ public class SetAzureVMExtensionCommand : VirtualMachineExtensionBaseCmdlet [ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { 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..50a3454e86b8 --- /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-AzureRMVMSqlServerExtension cmdlet sets this name to " + + "'Microsoft.SqlServer.Management.SqlIaaSAgent', which is the same value used by Get-AzureRMVMSqlServerExtension. 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..e0a62f538fa6 --- /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-AzureRMVMSqlServerExtension will + /// apply the settings to. + /// + [Alias("HandlerVersion")] + [Parameter( + Position = 1, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The version of the SqlServer extension that Set-AzureRMVMSqlServerExtension 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..3b7f37fd88bb --- /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-AzureRMVMSqlServerExtension + /// + 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/Extension/VMAccess/GetAzureVMAccessExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/GetAzureVMAccessExtension.cs index b8b66475c781..065ffee05b91 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/GetAzureVMAccessExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/GetAzureVMAccessExtension.cs @@ -62,9 +62,9 @@ public class GetAzureVMAccessExtensionCommand : VirtualMachineExtensionBaseCmdle public SwitchParameter Status { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/RemoveAzureVMAccessExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/RemoveAzureVMAccessExtension.cs index 8fb45abdba1d..83cd7edcbe94 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/RemoveAzureVMAccessExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/RemoveAzureVMAccessExtension.cs @@ -53,13 +53,13 @@ public class RemoveAzureVMAccessExtensionCommand : VirtualMachineExtensionBaseCm [ValidateNotNullOrEmpty] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Properties.Resources.VirtualMachineExtensionRemovalCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.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/VMAccess/SetAzureVMAccessExtension.cs b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/SetAzureVMAccessExtension.cs index 7b656030817f..756e1c9fd36f 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/SetAzureVMAccessExtension.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Extension/VMAccess/SetAzureVMAccessExtension.cs @@ -86,9 +86,9 @@ public class SetAzureVMAccessExtensionCommand : VirtualMachineExtensionBaseCmdle [ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs b/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs index 9f85f273f38a..2c0d021c7354 100644 --- a/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageCommand.cs @@ -41,9 +41,9 @@ public class GetAzureVMExtensionImageCommand : VirtualMachineExtensionImageBaseC [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true)] public string Version { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageTypeCommand.cs b/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageTypeCommand.cs index 908361b57a44..386b954dd442 100644 --- a/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageTypeCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/ExtensionImages/GetAzureVMExtensionImageTypeCommand.cs @@ -31,9 +31,9 @@ public class GetAzureVMExtensionImageTypeCommand : VirtualMachineExtensionImageB [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty] public string PublisherName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/InvokeAzureComputeMethodCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/InvokeAzureComputeMethodCmdlet.cs index b372051a2b26..21c51fe7d829 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/InvokeAzureComputeMethodCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/InvokeAzureComputeMethodCmdlet.cs @@ -91,9 +91,9 @@ protected object ParseParameter(object input) } } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { if (ParameterSetName == "InvokeByDynamicParameters") diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeArgumentListCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeArgumentListCmdlet.cs index 0ab9d4715d37..8ee398f57c03 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeArgumentListCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeArgumentListCmdlet.cs @@ -63,9 +63,9 @@ public partial class NewAzureComputeArgumentListCmdlet : ComputeAutomationBaseCm )] public virtual string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { if (ParameterSetName == "CreateParameterListByMethodName") diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeParameterObjectCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeParameterObjectCmdlet.cs index c65982884eab..29c9f05cf648 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeParameterObjectCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/NewAzureComputeParameterObjectCmdlet.cs @@ -102,9 +102,9 @@ public partial class NewAzureComputeParameterObjectCmdlet : ComputeAutomationBas )] public string FullName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { if (ParameterSetName == "CreateParameterObjectByFriendlyName") diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetCreateOrUpdateMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetCreateOrUpdateMethod.cs index 383a3919f287..15c37fd35536 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetCreateOrUpdateMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetCreateOrUpdateMethod.cs @@ -105,9 +105,9 @@ public NewAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateInstancesMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateInstancesMethod.cs index 555d6c0c819d..f65d4aee6bba 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateInstancesMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateInstancesMethod.cs @@ -119,9 +119,9 @@ public StopAzureVirtualMachineScaleSetInstancesWithDeallocation() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateMethod.cs index 8f27e4415ac2..2e178e560bd3 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateMethod.cs @@ -105,9 +105,9 @@ public StopAzureVirtualMachineScaleSetWithDeallocation() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteInstancesMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteInstancesMethod.cs index 756810c8d388..3b94369ae85e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteInstancesMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteInstancesMethod.cs @@ -119,9 +119,9 @@ public RemoveAzureVirtualMachineScaleSetInstances() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteMethod.cs index 234a8b92738b..c249872cb64b 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteMethod.cs @@ -105,9 +105,9 @@ public RemoveAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetGetMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetGetMethod.cs index 0142e9f0d733..5a6e863042b5 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetGetMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetGetMethod.cs @@ -105,9 +105,9 @@ public GetAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListAllMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListAllMethod.cs index 36a1f2b6a82f..92757dbbffac 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListAllMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListAllMethod.cs @@ -91,9 +91,9 @@ public GetAzureVirtualMachineScaleSetAllList() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListMethod.cs index 727fee064f84..d6c3aa8d9dd0 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListMethod.cs @@ -91,9 +91,9 @@ public GetAzureVirtualMachineScaleSetList() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListNextMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListNextMethod.cs index e565454a689e..8e4bedb968fc 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListNextMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListNextMethod.cs @@ -91,9 +91,9 @@ public GetAzureVirtualMachineScaleSetNextList() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListSkusMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListSkusMethod.cs index 5e4cc2d3ca7e..475b76a1ea01 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListSkusMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetListSkusMethod.cs @@ -105,9 +105,9 @@ public GetAzureVirtualMachineScaleSetSkusList() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffInstancesMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffInstancesMethod.cs index 0e1f959b0e4a..cb838aa41794 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffInstancesMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffInstancesMethod.cs @@ -119,9 +119,9 @@ public StopAzureVirtualMachineScaleSetInstances() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffMethod.cs index 45bab30a29b2..95ea6e217870 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetPowerOffMethod.cs @@ -105,9 +105,9 @@ public StopAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartInstancesMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartInstancesMethod.cs index 4dd033cc1c26..278fc8bc21f9 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartInstancesMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartInstancesMethod.cs @@ -119,9 +119,9 @@ public RestartAzureVirtualMachineScaleSetInstances() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartMethod.cs index bb68109c0cdf..608331c29f22 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetRestartMethod.cs @@ -105,9 +105,9 @@ public RestartAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartInstancesMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartInstancesMethod.cs index bc75b2ae8e5d..a254927b8b7d 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartInstancesMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartInstancesMethod.cs @@ -119,9 +119,9 @@ public StartAzureVirtualMachineScaleSetInstances() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartMethod.cs index 853153037586..b05df56e18b9 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetStartMethod.cs @@ -105,9 +105,9 @@ public StartAzureVirtualMachineScaleSet() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeallocateMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeallocateMethod.cs index 5613df7c8b35..304df4b3bb13 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeallocateMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeallocateMethod.cs @@ -119,9 +119,9 @@ public StopAzureVirtualMachineScaleSetVMWithDeallocation() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeleteMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeleteMethod.cs index 2a40226df375..a130028820bd 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeleteMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMDeleteMethod.cs @@ -119,9 +119,9 @@ public RemoveAzureVirtualMachineScaleSetVM() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetInstanceViewMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetInstanceViewMethod.cs index 7d2503cf5b23..5cc68776228e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetInstanceViewMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetInstanceViewMethod.cs @@ -119,9 +119,9 @@ public GetAzureVirtualMachineScaleSetVMInstanceView() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs index c86613ae77cd..fddbc818c9c9 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs @@ -119,9 +119,9 @@ public GetAzureVirtualMachineScaleSetVM() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMListMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMListMethod.cs index 6b7ec35b2757..0d9aaac290c6 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMListMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMListMethod.cs @@ -91,9 +91,9 @@ public GetAzureVirtualMachineScaleSetVMList() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMPowerOffMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMPowerOffMethod.cs index 514497729076..ce3da65f047f 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMPowerOffMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMPowerOffMethod.cs @@ -119,9 +119,9 @@ public StopAzureVirtualMachineScaleSetVM() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMRestartMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMRestartMethod.cs index a51b38631b63..e6a33aa07cac 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMRestartMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMRestartMethod.cs @@ -119,9 +119,9 @@ public RestartAzureVirtualMachineScaleSetVM() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMStartMethod.cs b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMStartMethod.cs index 94f24a041865..104b5aff4d27 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMStartMethod.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMStartMethod.cs @@ -119,9 +119,9 @@ public StartAzureVirtualMachineScaleSetVM() public override string MethodName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); } public override object GetDynamicParameters() diff --git a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageCommand.cs index 3715eee5d13d..0bfc5fda9f3f 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageCommand.cs @@ -79,9 +79,9 @@ public class GetAzureVMImageCommand : VirtualMachineImageBaseCmdlet ValidateNotNullOrEmpty] public string Version { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageOfferCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageOfferCommand.cs index 981c5d28fadc..cea7dc347acf 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageOfferCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageOfferCommand.cs @@ -31,9 +31,9 @@ public class GetAzureVMImageOfferCommand : VirtualMachineImageBaseCmdlet [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty] public string PublisherName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImagePublisherCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImagePublisherCommand.cs index ae8cd2057579..d4956d379b05 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImagePublisherCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImagePublisherCommand.cs @@ -28,9 +28,9 @@ public class GetAzureVMImagePublisherCommand : VirtualMachineImageBaseCmdlet [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageSkuCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageSkuCommand.cs index 0bfab60cc568..67af17e8c205 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageSkuCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Images/GetAzureVMImageSkuCommand.cs @@ -34,9 +34,9 @@ public class GetAzureVMImageSkuCommand : VirtualMachineImageBaseCmdlet [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true), ValidateNotNullOrEmpty] public string Offer { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/Microsoft.Azure.Commands.Compute.dll-Help.xml b/src/ResourceManager/Compute/Commands.Compute/Microsoft.Azure.Commands.Compute.dll-Help.xml index 1d0553d15f17..50f41e5e8578 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Microsoft.Azure.Commands.Compute.dll-Help.xml +++ b/src/ResourceManager/Compute/Commands.Compute/Microsoft.Azure.Commands.Compute.dll-Help.xml @@ -4,7 +4,7 @@ - Add-AzureVMAdditionalUnattendContent + Add-AzureRMVMAdditionalUnattendContent Adds information to the unattended Windows Setup answer file. @@ -16,15 +16,15 @@ - The Add-AzureVMAdditionalUnattendContent cmdlet adds information to the unattended Windows Setup answer file. Specify additional base 64 encoded XML formatted information that this cmdlet adds to the unattend.xml file. + The Add-AzureRMVMAdditionalUnattendContent cmdlet adds information to the unattended Windows Setup answer file. Specify additional base 64 encoded XML formatted information that this cmdlet adds to the unattend.xml file. - Add-AzureVMAdditionalUnattendContent + Add-AzureRMVMAdditionalUnattendContent VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -97,7 +97,7 @@ VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -150,18 +150,18 @@ - PS C:\>$AvailabilitySet = Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id + PS C:\>$AvailabilitySet = Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" +PS C:\> $VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id PS C:\> $Credential = Get-Credential -PS C:\> $VirtualMachine = Set-AzureVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName "Contoso26" -Credential $Credential +PS C:\> $VirtualMachine = Set-AzureRMVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName "Contoso26" -Credential $Credential PS C:\> $AucContent = "<UserAccounts><AdministratorPassword><Value>" + "Password" + "</Value><PlainText>true</PlainText></AdministratorPassword></UserAccounts>"; -PS C:\> $VirtualMachine = Add-AzureVMAdditionalUnattendContent -VM $VirtualMachine -Content $AucContent -SettingName "AutoLogon" +PS C:\> $VirtualMachine = Add-AzureRMVMAdditionalUnattendContent -VM $VirtualMachine -Content $AucContent -SettingName "AutoLogon" The first command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. The second command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. The virtual machine belongs to the availability set stored in $AvailabilitySet. The third command creates a credential object by using the Get-Credential cmdlet, and then stores the result in the $Credential variable. The command prompts you for a user name and password. For more information, type Get-Help Get-Credential. - The fourth command uses the Set-AzureVMOperatingSystem cmdlet to configure the virtual machine stored in $VirtualMachine. + The fourth command uses the Set-AzureRMVMOperatingSystem cmdlet to configure the virtual machine stored in $VirtualMachine. The fifth command assigns content to the $AucContent variable. The content includes a password. The final command adds the content stored in $AucContent to the unattend.xml file. @@ -176,22 +176,22 @@ PS C:\> $VirtualMachine = Add-AzureVMAdditionalUnattendContent -VM $VirtualMa - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem - New-AzureVMConfig + New-AzureRMVMConfig - Add-AzureVMDataDisk + Add-AzureRMVMDataDisk Adds a data disk to a virtual machine. @@ -203,15 +203,15 @@ PS C:\> $VirtualMachine = Add-AzureVMAdditionalUnattendContent -VM $VirtualMa - The Add-AzureVMDataDisk cmdlet adds a data disk to a virtual machine. You can add a data disk when you create a virtual machine, or you can add a data disk to an existing virtual machine. + The Add-AzureRMVMDataDisk cmdlet adds a data disk to a virtual machine. You can add a data disk when you create a virtual machine, or you can add a data disk to an existing virtual machine. - Add-AzureVMDataDisk + Add-AzureRMVMDataDisk VM - Specifies the local virtual machine object to which to add a data disk. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the local virtual machine object to which to add a data disk. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -400,7 +400,7 @@ The default value is ReadWrite. Changing this value causes the virtual machine t VM - Specifies the local virtual machine object to which to add a data disk. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the local virtual machine object to which to add a data disk. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -453,13 +453,13 @@ The default value is ReadWrite. Changing this value causes the virtual machine t - PS C:\>$VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" + PS C:\>$VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" PS C:\> $DataDiskVhdUri01 = "https://contoso.blob.core.windows.net/test/data1.vhd" PS C:\> $DataDiskVhdUri02 = "https://contoso.blob.core.windows.net/test/data2.vhd" PS C:\> $DataDiskVhdUri03 = "https://contoso.blob.core.windows.net/test/data3.vhd" -PS C:\> $VirtualMachine = Add-AzureVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $DataDiskVhdUri1 -CreateOption Empty -PS C:\> $VirtualMachine = Add-AzureVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $DataDiskVhdUri2 -CreateOption Empty -PS C:\> $VirtualMachine = Add-AzureVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $DataDiskVhdUri3 -CreateOption Empty +PS C:\> $VirtualMachine = Add-AzureRMVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $DataDiskVhdUri1 -CreateOption Empty +PS C:\> $VirtualMachine = Add-AzureRMVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $DataDiskVhdUri2 -CreateOption Empty +PS C:\> $VirtualMachine = Add-AzureRMVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $DataDiskVhdUri3 -CreateOption Empty @@ -481,13 +481,13 @@ PS C:\> $VirtualMachine = Add-AzureVMDataDisk -VM $VirtualMachine -Name 'Data - PS C:\>$VirtualMachine = Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -PS C:\> Add-AzureVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty -PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine + PS C:\>$VirtualMachine = Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" +PS C:\> Add-AzureRMVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty +PS C:\> Update-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine - The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. + The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureRMVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. The second command adds a data disk to the virtual machine stored in $VirtualMachine. The final command updates the state of the virtual machine stored in $VirtualMachine in ResourceGroup11. @@ -502,22 +502,22 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Remove-AzureVMDataDisk + Remove-AzureRMVMDataDisk - Get-AzureVM + Get-AzureRMVM - New-AzureVMConfig + New-AzureRMVMConfig - Add-AzureVMNetworkInterface + Add-AzureRMVMNetworkInterface Adds a network interface to a virtual machine. @@ -529,22 +529,22 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Add-AzureVMNetworkInterface cmdlet adds a network interface to a virtual machine. You can add an interface when you create a virtual machine or add one to an existing virtual machine. + The Add-AzureRMVMNetworkInterface cmdlet adds a network interface to a virtual machine. You can add an interface when you create a virtual machine or add one to an existing virtual machine. - Add-AzureVMNetworkInterface + Add-AzureRMVMNetworkInterface VM - Specifies a local virtual machine object to which to add a network interface. To create a virtual machine, use the New-AzureVMConfig cmdlet. To obtain an existing virtual machine, use the Get-AzureVM cmdlet. + Specifies a local virtual machine object to which to add a network interface. To create a virtual machine, use the New-AzureRMVMConfig cmdlet. To obtain an existing virtual machine, use the Get-AzureRMVM cmdlet. PSVirtualMachine Id - Specifies the ID of a network interface to add to a virtual machine. To obtain a network interface, use the Get-AzureNetworkInterface cmdlet. + Specifies the ID of a network interface to add to a virtual machine. To obtain a network interface, use the Get-AzureRMNetworkInterface cmdlet. String @@ -567,7 +567,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac Id - Specifies the ID of a network interface to add to a virtual machine. To obtain a network interface, use the Get-AzureNetworkInterface cmdlet. + Specifies the ID of a network interface to add to a virtual machine. To obtain a network interface, use the Get-AzureRMNetworkInterface cmdlet. String @@ -603,7 +603,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac VM - Specifies a local virtual machine object to which to add a network interface. To create a virtual machine, use the New-AzureVMConfig cmdlet. To obtain an existing virtual machine, use the Get-AzureVM cmdlet. + Specifies a local virtual machine object to which to add a network interface. To create a virtual machine, use the New-AzureRMVMConfig cmdlet. To obtain an existing virtual machine, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -656,8 +656,8 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - PS C:\>$VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -PS C:\> Add-AzureVMNetworkInterface -VM $VirtualMachine -Id "/subscriptions/46fc8ea4-2de6-4179-8ab1-365da4121af4/resourceGroups/contoso/providers/Microsoft.Network/networkInterfaces/sshNIC" + PS C:\>$VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" +PS C:\> Add-AzureRMVMNetworkInterface -VM $VirtualMachine -Id "/subscriptions/46fc8ea4-2de6-4179-8ab1-365da4121af4/resourceGroups/contoso/providers/Microsoft.Network/networkInterfaces/sshNIC" The first command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. @@ -677,12 +677,12 @@ PS C:\> Add-AzureVMNetworkInterface -VM $VirtualMachine -Id "/subscriptions/4 - PS C:\>$VirtualMachine = Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -PS C:\> Add-AzureVMNetworkInterface -VM $VirtualMachine -Id "/subscriptions/46fc8ea4-2de6-4179-8ab1-365da4121af4/resourceGroups/contoso/providers/Microsoft.Network/networkInterfaces/sshNIC" -PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMachine07" -VM $VirtualMachine + PS C:\>$VirtualMachine = Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" +PS C:\> Add-AzureRMVMNetworkInterface -VM $VirtualMachine -Id "/subscriptions/46fc8ea4-2de6-4179-8ab1-365da4121af4/resourceGroups/contoso/providers/Microsoft.Network/networkInterfaces/sshNIC" +PS C:\> Update-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMachine07" -VM $VirtualMachine - The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureVM cmldet. The command stores the virtual machine in the $VirtualMachine variable. + The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureRMVM cmldet. The command stores the virtual machine in the $VirtualMachine variable. The second command adds a network interface to the virtual machine stored in $VirtualMachine. The final command updates the state of the virtual machine stored in $VirtualMachine in ResourceGroup11. @@ -697,22 +697,22 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMa - New-AzureVMConfig + New-AzureRMVMConfig - Get-AzureVM + Get-AzureRMVM - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - Add-AzureVMSecret + Add-AzureRMVMSecret Adds a secret to a virtual machine. @@ -724,15 +724,15 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMa - The Add-AzureVMSecret cmdlet adds a secret to a virtual machine. This value lets you add a certificate to the virtual machine. The secret needs to be stored in a Key Vault. For more information about Key Vault, see What is Azure Key Vault? (https://azure.microsoft.com/en-us/documentation/articles/key-vault-whatis/) in the Azure library. For more information about the cmdlets, see Azure Key Vault Cmdlets (https://msdn.microsoft.com/library/azure/dn868052.aspx) in the Microsoft Developer Network library or type Get-Help Set-AzureKeyVaultSecret. + The Add-AzureRMVMSecret cmdlet adds a secret to a virtual machine. This value lets you add a certificate to the virtual machine. The secret needs to be stored in a Key Vault. For more information about Key Vault, see What is Azure Key Vault? (https://azure.microsoft.com/en-us/documentation/articles/key-vault-whatis/) in the Azure library. For more information about the cmdlets, see Azure Key Vault Cmdlets (https://msdn.microsoft.com/library/azure/dn868052.aspx) in the Microsoft Developer Network library or type Get-Help Set-AzureRMKeyVaultSecret. - Add-AzureVMSecret + Add-AzureRMVMSecret VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -832,7 +832,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMa VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -885,24 +885,24 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name " VirtualMa - PS C:\>$VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id + PS C:\>$VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id PS C:\> $Credential = Get-Credential -PS C:\> $VirtualMachine = Set-AzureVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName "Contoso26" -Credential $Credential +PS C:\> $VirtualMachine = Set-AzureRMVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName "Contoso26" -Credential $Credential PS C:\> $SourceVaultId = "/subscriptions/46f8cea4-2de6-4179-8ab1-365da4211af4/resourceGroups/vault/providers/Microsoft.KeyVault/vaults/keyvault" PS C:\> $CertificateStore01 = "My" PS C:\> $CertificateUrl01 = "https://contosovault.vault.azure.net/secrets/514ceb769c984379a7e0230bdd703272" -PS C:\> $VirtualMachine = Add-AzureVMSecret -VM $VirtualMachine -SourceVaultId $SourceVaultId -CertificateStore $CertificateStore01 -CertificateUrl $CertificateUrl01 +PS C:\> $VirtualMachine = Add-AzureRMVMSecret -VM $VirtualMachine -SourceVaultId $SourceVaultId -CertificateStore $CertificateStore01 -CertificateUrl $CertificateUrl01 The first command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. The third command creates a credential object by using the Get-Credential cmdlet, and then stores the result in the $Credential variable. The command prompts you for a user name and password. For more information, type Get-Help Get-Credential. - The fourth command uses the Set-AzureVMOperatingSystem cmdlet to configure the virtual machine stored in $VirtualMachine. + The fourth command uses the Set-AzureRMVMOperatingSystem cmdlet to configure the virtual machine stored in $VirtualMachine. The fifth command assigns a source vault ID to the $SourceVaultId variable for later use. The command assumes that the $SubscriptionId variable has an appropriate value. The sixth command assigns a value to the $CertificateStore01 variable for later use. The seventh command assigns a URL for a certificate store. - The eighth command adds a secret to the virtual machine stored in $VirtualMachine. The SourceVaultId parameter specifies the Key Vault. The command specifies the name of the certificate store and the URL of the certificate. You can run the Add-AzureVMSecret repeatedly to add secrets for other certificates. + The eighth command adds a secret to the virtual machine stored in $VirtualMachine. The SourceVaultId parameter specifies the Key Vault. The command specifies the name of the certificate store and the URL of the certificate. You can run the Add-AzureRMVMSecret repeatedly to add secrets for other certificates. @@ -918,7 +918,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSecret -VM $VirtualMachine -SourceVaultI - Add-AzureVMSshPublicKey + Add-AzureRMVMSshPublicKey Adds the public keys for SSH for a virtual machine. @@ -930,15 +930,15 @@ PS C:\> $VirtualMachine = Add-AzureVMSecret -VM $VirtualMachine -SourceVaultI - The Add-AzureVMSshPublicKey cmdlet adds the public keys that you can use to connect to a virtual machine over Secure Shell (SSH). + The Add-AzureRMVMSshPublicKey cmdlet adds the public keys that you can use to connect to a virtual machine over Secure Shell (SSH). - Add-AzureVMSshPublicKey + Add-AzureRMVMSshPublicKey VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -1005,7 +1005,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSecret -VM $VirtualMachine -SourceVaultI VM - Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the virtual machine object that this cmdlet modifies. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -1058,11 +1058,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSecret -VM $VirtualMachine -SourceVaultI - PS C:\>$VirtualMachine = Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyData "MIIDszCCApugAwIBAgIJALBV9YJCF/tAMA0GCSq12Ib3DQEB21QUAMEUxCzAJBgNV" -Path "/home/admin/.ssh/authorized_keys" + PS C:\>$VirtualMachine = Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" +PS C:\> $VirtualMachine = Add-AzureRMVMSshPublicKey -VM $VirtualMachine -KeyData "MIIDszCCApugAwIBAgIJALBV9YJCF/tAMA0GCSq12Ib3DQEB21QUAMEUxCzAJBgNV" -Path "/home/admin/.ssh/authorized_keys" - The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. + The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureRMVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. The second command adds the public key to the location on VirtualMachine07 that the Path parameter specifies. @@ -1076,14 +1076,14 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet Gets Azure availability sets in a resource group. @@ -1095,11 +1095,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureAvailabilitySet cmdlet gets Azure availability sets in a resource group. Specify the name of a specific availability set to get. + The Get-AzureRMAvailabilitySet cmdlet gets Azure availability sets in a resource group. Specify the name of a specific availability set to get. - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet ResourceGroupName @@ -1204,7 +1204,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" + PS C:\>Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" This command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11. @@ -1223,7 +1223,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" + PS C:\>Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" This command gets all the availability sets in the resource group named ResourceGroup11. @@ -1239,18 +1239,18 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - New-AzureAvailabilitySet + New-AzureRMAvailabilitySet - Remove-AzureAvailabilitySet + Remove-AzureRMAvailabilitySet - Get-AzureRemoteDesktopFile + Get-AzureRMRemoteDesktopFile Gets an .rdp file. @@ -1262,11 +1262,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureRemoteDesktopFile cmdlet gets a Remote Desktop Protocol (.rdp) file. + The Get-AzureRMRemoteDesktopFile cmdlet gets a Remote Desktop Protocol (.rdp) file. - Get-AzureRemoteDesktopFile + Get-AzureRMRemoteDesktopFile ResourceGroupName @@ -1386,7 +1386,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureRemoteDesktopFile -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -LocalPath "D:\RemoteDesktopFile07.rdp" + PS C:\>Get-AzureRMRemoteDesktopFile -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -LocalPath "D:\RemoteDesktopFile07.rdp" This command gets the Remote Desktop file for the virtual machine named VirtualMachine07. The command stores the result in the file named D:\RemoteDesktopFile07.rdp. @@ -1405,7 +1405,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMAccessExtension + Get-AzureRMVMAccessExtension Gets information about the VMAccess extension. @@ -1417,11 +1417,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMAccessExtension cmdlet gets information about the Virtual Machine Access (VMAccess) Virtual Machine Extension. + The Get-AzureRMVMAccessExtension cmdlet gets information about the Virtual Machine Access (VMAccess) Virtual Machine Extension. - Get-AzureVMAccessExtension + Get-AzureRMVMAccessExtension ResourceGroupName @@ -1563,7 +1563,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>$VMAccessExtension = Get-AzureVMAccessExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoTest" + PS C:\>$VMAccessExtension = Get-AzureRMVMAccessExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoTest" This command gets the VMAccess extension named ContosoTest for the virtual machine named VirtualMachine07. @@ -1582,7 +1582,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>$VMAccessExtension = Get-AzureVMAccessExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine0" -Name "ContosoTest" -Status + PS C:\>$VMAccessExtension = Get-AzureRMVMAccessExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine0" -Name "ContosoTest" -Status This command gets the instance view of the VMAccess extension named ContosoTest for the virtual machine named VirtualMachine07. @@ -1598,22 +1598,22 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Remove-AzureVMAccessExtension + Remove-AzureRMVMAccessExtension - Set-AzureVMAccessExtension + Set-AzureRMVMAccessExtension - Get-AzureVMExtension + Get-AzureRMVMExtension - Get-AzureVMCustomScriptExtension + Get-AzureRMVMCustomScriptExtension Gets information about a custom script extension. @@ -1625,11 +1625,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMCustomScriptExtension cmdlet gets information about a custom script Virtual Machine Extension on a virtual machine. + The Get-AzureRMVMCustomScriptExtension cmdlet gets information about a custom script Virtual Machine Extension on a virtual machine. - Get-AzureVMCustomScriptExtension + Get-AzureRMVMCustomScriptExtension ResourceGroupName @@ -1771,7 +1771,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>$VMCustomScriptExtension = Get-AzureVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoCustomScript" + PS C:\>$VMCustomScriptExtension = Get-AzureRMVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoCustomScript" This command gets the custom script extension named ContosoCustomScript for the virtual machine named VirtualMachine07. @@ -1790,7 +1790,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>$VMCustomScriptExtension = Get-AzureVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoCustomScript" -Status + PS C:\>$VMCustomScriptExtension = Get-AzureRMVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -Name "ContosoCustomScript" -Status This command gets the instance view of the custom script extension named ContosoCustomScript for the virtual machine named VirtualMachine07. @@ -1806,22 +1806,22 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMExtension + Get-AzureRMVMExtension - Get-AzureVMExtensionImage + Get-AzureRMVMExtensionImage - Get-AzureVMAccessExtension + Get-AzureRMVMAccessExtension - Get-AzureVMExtensionImageDetail + Get-AzureRMVMExtensionImageDetail This cmdlet has been deprecated. @@ -1833,11 +1833,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - This Get-AzureVMExtensionImageDetail cmdlet has been deprecated. + This Get-AzureRMVMExtensionImageDetail cmdlet has been deprecated. - Get-AzureVMExtensionImageDetail + Get-AzureRMVMExtensionImageDetail FilterExpression @@ -2003,7 +2003,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMExtensionImageType + Get-AzureRMVMExtensionImageType Gets the type of an Azure extension. @@ -2015,11 +2015,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMExtensionImageType cmdlet gets the type of an Azure extension. + The Get-AzureRMVMExtensionImageType cmdlet gets the type of an Azure extension. - Get-AzureVMExtensionImageType + Get-AzureRMVMExtensionImageType Profile @@ -2037,7 +2037,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of a publisher of an extension. To obtain an extension publisher, use the Get-AzureVMImagePublisher cmdlet. This cmdlet gets the type for an extension from the publisher that this parameter specifies. + Specifies the name of a publisher of an extension. To obtain an extension publisher, use the Get-AzureRMVMImagePublisher cmdlet. This cmdlet gets the type for an extension from the publisher that this parameter specifies. String @@ -2071,7 +2071,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of a publisher of an extension. To obtain an extension publisher, use the Get-AzureVMImagePublisher cmdlet. This cmdlet gets the type for an extension from the publisher that this parameter specifies. + Specifies the name of a publisher of an extension. To obtain an extension publisher, use the Get-AzureRMVMImagePublisher cmdlet. This cmdlet gets the type for an extension from the publisher that this parameter specifies. String @@ -2124,7 +2124,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMExtensionImageType -Location "Central US" -PublisherName "Fabrikam" + PS C:\>Get-AzureRMVMExtensionImageType -Location "Central US" -PublisherName "Fabrikam" This command gets the extension image type for the specified publisher and location. @@ -2140,14 +2140,14 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMExtensionImage + Get-AzureRMVMExtensionImage - Get-AzureVMExtensionImage + Get-AzureRMVMExtensionImage Gets all versions for an Azure extension. @@ -2159,11 +2159,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMExtensionImage cmdlet gets all versions for an Azure extension. + The Get-AzureRMVMExtensionImage cmdlet gets all versions for an Azure extension. - Get-AzureVMExtensionImage + Get-AzureRMVMExtensionImage FilterExpression @@ -2196,14 +2196,14 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of an extension publisher. To obtain an extension publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of an extension publisher. To obtain an extension publisher, use the Get-AzureRMVMImagePublisher cmdlet. String Type - Specifies the type of the extension. To obtain an extension type, use the Get-AzureVMExtensionImageType cmdlet. + Specifies the type of the extension. To obtain an extension type, use the Get-AzureRMVMExtensionImageType cmdlet. String @@ -2249,7 +2249,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of an extension publisher. To obtain an extension publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of an extension publisher. To obtain an extension publisher, use the Get-AzureRMVMImagePublisher cmdlet. String @@ -2261,7 +2261,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat Type - Specifies the type of the extension. To obtain an extension type, use the Get-AzureVMExtensionImageType cmdlet. + Specifies the type of the extension. To obtain an extension type, use the Get-AzureRMVMExtensionImageType cmdlet. String @@ -2327,7 +2327,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMExtensionImage -Location "Central US" -PublisherName "Fabrikam" -Type "FabrikamEndpointProtection" + PS C:\>Get-AzureRMVMExtensionImage -Location "Central US" -PublisherName "Fabrikam" -Type "FabrikamEndpointProtection" This command gets all the versions of the extension image for the specified location, publisher, and type. @@ -2343,26 +2343,26 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMExtensionImageType + Get-AzureRMVMExtensionImageType - Get-AzureVMImage + Get-AzureRMVMImage - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Get-AzureVMExtensionImageType + Get-AzureRMVMExtensionImageType - Get-AzureVMExtension + Get-AzureRMVMExtension Gets properties of Virtual Machine Extensions installed on a virtual machine. @@ -2374,11 +2374,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMExtension cmdlet gets properties of Virtual Machine Extensions installed on a virtual machine. Specify the name of an extension for which to get properties. To get only the instance view of an extension, specify the Status parameter. + The Get-AzureRMVMExtension cmdlet gets properties of Virtual Machine Extensions installed on a virtual machine. Specify the name of an extension for which to get properties. To get only the instance view of an extension, specify the Status parameter. - Get-AzureVMExtension + Get-AzureRMVMExtension ResourceGroupName @@ -2520,7 +2520,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine22" -Name "CustomScriptExtension" + PS C:\>Get-AzureRMVMExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine22" -Name "CustomScriptExtension" This command gets properties for the extension named CustomScriptExtension on the virtual machine named VirtualMachine22 in the resource group ResourceGroup11. @@ -2539,7 +2539,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Status + PS C:\>Get-AzureRMVMExtension -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Status This command gets the instance view for the extension named CustomScriptExtension on the virtual machine named VirtualMachine22 in the resource group ResourceGroup11. @@ -2555,18 +2555,18 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Remove-AzureVMExtension + Remove-AzureRMVMExtension - Set-AzureVMExtension + Set-AzureRMVMExtension - Get-AzureVMImageDetail + Get-AzureRMVMImageDetail This cmdlet has been deprecated. @@ -2578,11 +2578,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMImageDetail cmdlet has been deprecated. + The Get-AzureRMVMImageDetail cmdlet has been deprecated. - Get-AzureVMImageDetail + Get-AzureRMVMImageDetail Profile @@ -2748,7 +2748,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer Gets VMImage offer types. @@ -2760,11 +2760,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMImageOffer cmdlet gets the VMImage offer types. + The Get-AzureRMVMImageOffer cmdlet gets the VMImage offer types. - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer Profile @@ -2782,7 +2782,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureRMVMImagePublisher cmdlet. String @@ -2816,7 +2816,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureRMVMImagePublisher cmdlet. String @@ -2869,7 +2869,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMImageOffer -Location "Central US" -PublisherName "Fabrikam" + PS C:\>Get-AzureRMVMImageOffer -Location "Central US" -PublisherName "Fabrikam" This command gets the offer types for the specified publisher in the Central US region. @@ -2885,26 +2885,26 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMImage + Get-AzureRMVMImage - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Get-AzureVMImageSku + Get-AzureRMVMImageSku - Save-AzureVMImage + Save-AzureRMVMImage - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher Gets the VMImage publishers. @@ -2916,11 +2916,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMImagePublisher cmdlet gets the VMImage publishers. + The Get-AzureRMVMImagePublisher cmdlet gets the VMImage publishers. - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher Profile @@ -3006,7 +3006,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMImagePublisher -Location "Central US" + PS C:\>Get-AzureRMVMImagePublisher -Location "Central US" This command gets the publishers of VMImage instances for the Central US region within your profile. @@ -3022,26 +3022,26 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMImage + Get-AzureRMVMImage - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer - Get-AzureVMImageSku + Get-AzureRMVMImageSku - Save-AzureVMImage + Save-AzureRMVMImage - Get-AzureVMImageSku + Get-AzureRMVMImageSku Gets VMImage SKUs. @@ -3053,11 +3053,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMImageSku cmdlet gets VMImage SKUs. + The Get-AzureRMVMImageSku cmdlet gets VMImage SKUs. - Get-AzureVMImageSku + Get-AzureRMVMImageSku Profile @@ -3181,7 +3181,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMImageSku -Location "Central US" -PublisherName "Fabrikam" -Offer "LinuxServer" + PS C:\>Get-AzureRMVMImageSku -Location "Central US" -PublisherName "Fabrikam" -Offer "LinuxServer" This command gets the SKUs for the specified publisher and offer. @@ -3197,26 +3197,26 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMImage + Get-AzureRMVMImage - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Save-AzureVMImage + Save-AzureRMVMImage - Get-AzureVMImage + Get-AzureRMVMImage Gets all the versions of a VMImage. @@ -3228,11 +3228,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMImage cmdlet gets all the versions of a VMImage. + The Get-AzureRMVMImage cmdlet gets all the versions of a VMImage. - Get-AzureVMImage + Get-AzureRMVMImage FilterExpression @@ -3257,27 +3257,27 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat Offer - Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureVMImageOffer cmdlet. + Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureRMVMImageOffer cmdlet. System.String PublisherName - Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureRMVMImagePublisher cmdlet. System.String Skus - Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureVMImageSku cmdlet. + Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureRMVMImageSku cmdlet. System.String - Get-AzureVMImage + Get-AzureRMVMImage Profile @@ -3295,21 +3295,21 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat Offer - Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureVMImageOffer cmdlet. + Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureRMVMImageOffer cmdlet. System.String PublisherName - Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureRMVMImagePublisher cmdlet. System.String Skus - Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureVMImageSku cmdlet. + Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureRMVMImageSku cmdlet. System.String @@ -3351,7 +3351,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat Offer - Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureVMImageOffer cmdlet. + Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureRMVMImageOffer cmdlet. System.String @@ -3375,7 +3375,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat PublisherName - Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the publisher of a VMImage. To obtain an image publisher, use the Get-AzureRMVMImagePublisher cmdlet. System.String @@ -3387,7 +3387,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat Skus - Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureVMImageSku cmdlet. + Specifies a VMImage SKU. To obtain an SKU, use the Get-AzureRMVMImageSku cmdlet. System.String @@ -3453,7 +3453,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMImage -Location "Central US" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "15.04-DAILY" + PS C:\>Get-AzureRMVMImage -Location "Central US" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "15.04-DAILY" This command gets all the versions of VMImage that match the specified values. @@ -3469,26 +3469,26 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Get-AzureVMImageSku + Get-AzureRMVMImageSku - Save-AzureVMImage + Save-AzureRMVMImage - Get-AzureVMSize + Get-AzureRMVMSize Gets available virtual machine sizes. @@ -3500,11 +3500,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMSize cmdlet gets available virtual machine sizes. + The Get-AzureRMVMSize cmdlet gets available virtual machine sizes. - Get-AzureVMSize + Get-AzureRMVMSize ResourceGroupName @@ -3528,7 +3528,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMSize + Get-AzureRMVMSize Location @@ -3545,7 +3545,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVMSize + Get-AzureRMVMSize ResourceGroupName @@ -3670,7 +3670,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMSize -Location "Central US" + PS C:\>Get-AzureRMVMSize -Location "Central US" @@ -3690,7 +3690,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMSize -ResourceGroupName "ResourceGroup03" -AvailabilitySetName "AvailabilitySet17" + PS C:\>Get-AzureRMVMSize -ResourceGroupName "ResourceGroup03" -AvailabilitySetName "AvailabilitySet17" @@ -3710,7 +3710,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMSize -ResourceGroupName "ResourceGroup03" -VMName "VirtualMachine12" + PS C:\>Get-AzureRMVMSize -ResourceGroupName "ResourceGroup03" -VMName "VirtualMachine12" @@ -3727,14 +3727,14 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM - Get-AzureVMUsage + Get-AzureRMVMUsage Gets the virtual machine core count usage for a location. @@ -3746,11 +3746,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVMUsage cmdlet gets the virtual machine core count usage for a location. + The Get-AzureRMVMUsage cmdlet gets the virtual machine core count usage for a location. - Get-AzureVMUsage + Get-AzureRMVMUsage Location @@ -3836,7 +3836,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVMUsage -Location "Central US" + PS C:\>Get-AzureRMVMUsage -Location "Central US" This command gets the virtual machine core count usage for the location Central US. @@ -3855,7 +3855,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM Gets the properties of a virtual machine. @@ -3867,11 +3867,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The Get-AzureVM cmdlet gets the model view and instance view of an Azure virtual machine. The model view is the user specified properties of the virtual machine. The instance view is the instance level status of the virtual machine. To get only the instance view of a virtual machine, specify the Status parameter. + The Get-AzureRMVM cmdlet gets the model view and instance view of an Azure virtual machine. The model view is the user specified properties of the virtual machine. The instance view is the instance level status of the virtual machine. To get only the instance view of a virtual machine, specify the Status parameter. - Get-AzureVM + Get-AzureRMVM ResourceGroupName @@ -3901,7 +3901,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM NextLink @@ -3918,7 +3918,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM Profile @@ -3928,7 +3928,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureVM + Get-AzureRMVM ResourceGroupName @@ -4050,7 +4050,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" + PS C:\>Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" This command gets the model view and instance view properties of the virtual machine named VirtualMachine07. @@ -4069,7 +4069,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Status + PS C:\>Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Status This command gets properties of the virtual machine named VirtualMachine07. This command specifies the Status parameter. Therefore, the command gets only the instance view properties. @@ -4088,7 +4088,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\> Get-AzureVM -ResourceGroupName "ResourceGroup11" + PS C:\> Get-AzureRMVM -ResourceGroupName "ResourceGroup11" This command gets properties for all the virtual machines in the resource group named ResourceGroup11. @@ -4107,7 +4107,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>Get-AzureVM + PS C:\>Get-AzureRMVM @@ -4124,34 +4124,34 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - New-AzureVM + New-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - Update-AzureVM + Update-AzureRMVM - New-AzureAvailabilitySet + New-AzureRMAvailabilitySet Creates an Azure availability set. @@ -4163,11 +4163,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The New-AzureAvailabilitySet cmdlet creates an Azure availability set. + The New-AzureRMAvailabilitySet cmdlet creates an Azure availability set. - New-AzureAvailabilitySet + New-AzureRMAvailabilitySet ResourceGroupName @@ -4329,7 +4329,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>New-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -Location "West US" + PS C:\>New-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -Location "West US" This command creates an availability set named AvailablitySet03 in the resource group named ResourceGroup11. @@ -4345,18 +4345,18 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - Remove-AzureAvailabilitySet + Remove-AzureRMAvailabilitySet - New-AzureVMConfig + New-AzureRMVMConfig Creates a configurable virtual machine object. @@ -4368,11 +4368,11 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - The New-AzureVMConfig cmdlet creates a configurable local virtual machine object for Azure. Configure a virtual machine object by using other cmdlets, such as Set-AzureVMOperatingSystem, Set-AzureVMSourceImage, Add-AzureVMNetworkInterface, and Set-AzureVMOSDisk. + The New-AzureRMVMConfig cmdlet creates a configurable local virtual machine object for Azure. Configure a virtual machine object by using other cmdlets, such as Set-AzureRMVMOperatingSystem, Set-AzureRMVMSourceImage, Add-AzureRMVMNetworkInterface, and Set-AzureRMVMOSDisk. - New-AzureVMConfig + New-AzureRMVMConfig VMName @@ -4390,7 +4390,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat AvailabilitySetId - Specifies the ID of an availability set. To obtain an availability set object, use the Get-AzureAvailabilitySet cmdlet. The availability set object contains an ID property. + Specifies the ID of an availability set. To obtain an availability set object, use the Get-AzureRMAvailabilitySet cmdlet. The availability set object contains an ID property. String @@ -4407,7 +4407,7 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat AvailabilitySetId - Specifies the ID of an availability set. To obtain an availability set object, use the Get-AzureAvailabilitySet cmdlet. The availability set object contains an ID property. + Specifies the ID of an availability set. To obtain an availability set object, use the Get-AzureRMAvailabilitySet cmdlet. The availability set object contains an ID property. String @@ -4496,8 +4496,8 @@ PS C:\> $VirtualMachine = Add-AzureVMSshPublicKey -VM $VirtualMachine -KeyDat - PS C:\>$AvailabilitySet = Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id + PS C:\>$AvailabilitySet = Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" +PS C:\> $VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id The first command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. @@ -4514,26 +4514,26 @@ PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSiz - Update-AzureVM + Update-AzureRMVM - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem - Set-AzureVMSourceImage + Set-AzureRMVMSourceImage - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - New-AzureVM + New-AzureRMVM Creates a virtual machine. @@ -4545,11 +4545,11 @@ PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSiz - The New-AzureVM cmdlet creates a virtual machine in Azure. This cmdlet takes a virtual machine object as input. Use the New-AzureVMConfig cmdlet to create a virtual machine object. Configure the virtual machine object by using other cmdlets, such as Set-AzureVMOperatingSystem, Set-AzureVMSourceImage, Add-AzureVMNetworkInterface, and Set-AzureVMOSDisk. + The New-AzureRMVM cmdlet creates a virtual machine in Azure. This cmdlet takes a virtual machine object as input. Use the New-AzureRMVMConfig cmdlet to create a virtual machine object. Configure the virtual machine object by using other cmdlets, such as Set-AzureRMVMOperatingSystem, Set-AzureRMVMSourceImage, Add-AzureRMVMNetworkInterface, and Set-AzureRMVMOSDisk. - New-AzureVM + New-AzureRMVM Name @@ -4589,7 +4589,7 @@ PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSiz VM - Specifies a local virtual machine to create. To obtain a virtual machine object, use the New-AzureVMConfig cmdlet. Configure the virtual machine by using other cmdlets, such as Set-AzureVMOperatingSystem, Set-AzureVMSourceImage, and Add-AzureVMNetworkInterface. + Specifies a local virtual machine to create. To obtain a virtual machine object, use the New-AzureRMVMConfig cmdlet. Configure the virtual machine by using other cmdlets, such as Set-AzureRMVMOperatingSystem, Set-AzureRMVMSourceImage, and Add-AzureRMVMNetworkInterface. PSVirtualMachine @@ -4660,7 +4660,7 @@ PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSiz VM - Specifies a local virtual machine to create. To obtain a virtual machine object, use the New-AzureVMConfig cmdlet. Configure the virtual machine by using other cmdlets, such as Set-AzureVMOperatingSystem, Set-AzureVMSourceImage, and Add-AzureVMNetworkInterface. + Specifies a local virtual machine to create. To obtain a virtual machine object, use the New-AzureRMVMConfig cmdlet. Configure the virtual machine by using other cmdlets, such as Set-AzureRMVMOperatingSystem, Set-AzureRMVMSourceImage, and Add-AzureRMVMNetworkInterface. PSVirtualMachine @@ -4736,30 +4736,30 @@ $VMSize = "Standard_A2" $OSDiskName = $VMName + "osDisk" # Resource Group -New-AzureResourceGroup -Name $ResourceGroupName -Location $Location +New-AzureRMResourceGroup -Name $ResourceGroupName -Location $Location # Storage -$StorageAccount = New-AzureStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -Type $StorageType -Location $Location +$StorageAccount = New-AzureRMStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -Type $StorageType -Location $Location # Network -$PIp = New-AzurePublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod Dynamic -$SubnetConfig = New-AzureVirtualNetworkSubnetConfig -Name $Subnet1Name -AddressPrefix $VNetSubnetAddressPrefix -$VNet = New-AzureVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig -$Interface = New-AzureNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIp.Id +$PIp = New-AzureRMPublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod Dynamic +$SubnetConfig = New-AzureRMVirtualNetworkSubnetConfig -Name $Subnet1Name -AddressPrefix $VNetSubnetAddressPrefix +$VNet = New-AzureRMVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig +$Interface = New-AzureRMNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIp.Id # Compute ## Setup local VM object $Credential = Get-Credential -$VirtualMachine = New-AzureVMConfig -VMName $VMName -VMSize $VMSize -$VirtualMachine = Set-AzureVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate -$VirtualMachine = Set-AzureVMSourceImage -VM $VirtualMachine -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest" -$VirtualMachine = Add-AzureVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id +$VirtualMachine = New-AzureRMVMConfig -VMName $VMName -VMSize $VMSize +$VirtualMachine = Set-AzureRMVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate +$VirtualMachine = Set-AzureRMVMSourceImage -VM $VirtualMachine -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest" +$VirtualMachine = Add-AzureRMVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id $OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd" -$VirtualMachine = Set-AzureVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -CreateOption FromImage +$VirtualMachine = Set-AzureRMVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -CreateOption FromImage ## Create the VM in Azure -New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine +New-AzureRMVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine @@ -4777,58 +4777,58 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - Get-AzureVM + Get-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - Update-AzureVM + Update-AzureRMVM - Add-AzureVMDataDisk + Add-AzureRMVMDataDisk - Add-AzureVMNetworkInterface + Add-AzureRMVMNetworkInterface - New-AzureVMConfig + New-AzureRMVMConfig - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem - Set-AzureVMSourceImage + Set-AzureRMVMSourceImage - Set-AzureVMOSDisk + Set-AzureRMVMOSDisk - Remove-AzureAvailabilitySet + Remove-AzureRMAvailabilitySet Removes an availability set from Azure. @@ -4840,11 +4840,11 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - The Remove-AzureAvailabilitySet cmdlet removes an availability set from Azure. + The Remove-AzureRMAvailabilitySet cmdlet removes an availability set from Azure. - Remove-AzureAvailabilitySet + Remove-AzureRMAvailabilitySet ResourceGroupName @@ -4967,7 +4967,7 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - PS C:\>Remove-AzureAvailabilitySet -Name "AvailabilitySet03" -ResourceGroupName "ResourceGroup11" + PS C:\>Remove-AzureRMAvailabilitySet -Name "AvailabilitySet03" -ResourceGroupName "ResourceGroup11" This command removes an availability set named AvailablitySet03 in the resource group named ResourceGroup11. @@ -4983,18 +4983,18 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - New-AzureAvailabilitySet + New-AzureRMAvailabilitySet - Remove-AzureVMAccessExtension + Remove-AzureRMVMAccessExtension Removes the VMAccess extension from a virtual machine. @@ -5006,11 +5006,11 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - The Remove-AzureVMAccessExtension cmdlet removes the Virtual Machine Access (VMAccess) Virtual Machine Extension from a virtual machine. + The Remove-AzureRMVMAccessExtension cmdlet removes the Virtual Machine Access (VMAccess) Virtual Machine Extension from a virtual machine. - Remove-AzureVMAccessExtension + Remove-AzureRMVMAccessExtension ResourceGroupName @@ -5165,22 +5165,22 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - Get-AzureVMAccessExtension + Get-AzureRMVMAccessExtension - Set-AzureVMAccessExtension + Set-AzureRMVMAccessExtension - Remove-AzureVMExtension + Remove-AzureRMVMExtension - Remove-AzureVMCustomScriptExtension + Remove-AzureRMVMCustomScriptExtension Removes a custom script extension from a virtual machine. @@ -5192,11 +5192,11 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - The Remove-AzureVMCustomScriptExtension cmdlet removes a custom script Virtual Machine Extension from a virtual machine. + The Remove-AzureRMVMCustomScriptExtension cmdlet removes a custom script Virtual Machine Extension from a virtual machine. - Remove-AzureVMCustomScriptExtension + Remove-AzureRMVMCustomScriptExtension ResourceGroupName @@ -5351,18 +5351,18 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - Get-AzureVMCustomScriptExtension + Get-AzureRMVMCustomScriptExtension - Set-AzureVMCustomScriptExtension + Set-AzureRMVMCustomScriptExtension - Remove-AzureVMDataDisk + Remove-AzureRMVMDataDisk Removes a data disk from a virtual machine. @@ -5374,15 +5374,15 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - The Remove-AzureVMDataDisk cmdlet removes a data disk from a virtual machine. + The Remove-AzureRMVMDataDisk cmdlet removes a data disk from a virtual machine. - Remove-AzureVMDataDisk + Remove-AzureRMVMDataDisk VM - Specifies the local virtual machine object from which to remove a data disk. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the local virtual machine object from which to remove a data disk. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -5430,7 +5430,7 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu VM - Specifies the local virtual machine object from which to remove a data disk. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the local virtual machine object from which to remove a data disk. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -5483,12 +5483,12 @@ New-AzureVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $Virtu - PS C:\>$VirtualMachine = Get-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -PS C:\> Remove-AzureVMDataDisk -VM $VirtualMachine -Name "disk3" -PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine + PS C:\>$VirtualMachine = Get-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" +PS C:\> Remove-AzureRMVMDataDisk -VM $VirtualMachine -Name "disk3" +PS C:\> Update-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine - The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. + The first command gets the virtual machine named VirtualMachine07 by using the Get-AzureRMVM cmdlet. The command stores the virtual machine in the $VirtualMachine variable. The second command removes the data disk named disk3 from the virtual machine stored in $VirtualMachine. The final command updates the state of the virtual machine stored in $VirtualMachine in ResourceGroup11. @@ -5503,18 +5503,18 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Add-AzureVMDataDisk + Add-AzureRMVMDataDisk - Get-AzureVM + Get-AzureRMVM - Remove-AzureVMExtension + Remove-AzureRMVMExtension Removes an extension from a virtual machine. @@ -5526,11 +5526,11 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Remove-AzureVMExtension cmdlet removes an extension from the Virtual Machine Extensions of a virtual machine. + The Remove-AzureRMVMExtension cmdlet removes an extension from the Virtual Machine Extensions of a virtual machine. - Remove-AzureVMExtension + Remove-AzureRMVMExtension ResourceGroupName @@ -5672,7 +5672,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - PS C:\>Remove-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Name "ContosoTest" -VMName "VirtualMachine22" + PS C:\>Remove-AzureRMVMExtension -ResourceGroupName "ResourceGroup11" -Name "ContosoTest" -VMName "VirtualMachine22" This command removes the extension named ContosoTest from the virtual machine named VirtualMachine22 in ResourceGroup11. @@ -5688,18 +5688,18 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Get-AzureVMExtension + Get-AzureRMVMExtension - Set-AzureVMExtension + Set-AzureRMVMExtension - Remove-AzureVMNetworkInterface + Remove-AzureRMVMNetworkInterface Removes a network interface from a virtual machine. @@ -5711,15 +5711,15 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Remove-AzureVMNetworkInterface cmdlet removes a network interface from a virtual machine. + The Remove-AzureRMVMNetworkInterface cmdlet removes a network interface from a virtual machine. - Remove-AzureVMNetworkInterface + Remove-AzureRMVMNetworkInterface VM - Specifies the virtual machine from which this cmdlet removes a network interface. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the virtual machine from which this cmdlet removes a network interface. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -5767,7 +5767,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac VM - Specifies the virtual machine from which this cmdlet removes a network interface. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the virtual machine from which this cmdlet removes a network interface. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -5829,14 +5829,14 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Get-AzureVM + Get-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM Removes a virtual machine from Azure. @@ -5848,11 +5848,11 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Remove-AzureVM cmdlet removes a virtual machine from Azure. + The Remove-AzureRMVM cmdlet removes a virtual machine from Azure. - Remove-AzureVM + Remove-AzureRMVM ResourceGroupName @@ -5975,7 +5975,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - PS C:\>Remove-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" + PS C:\>Remove-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" This command removes the virtual machine named VirtualMachine07 in the resource group ResourceGroup11. @@ -5991,34 +5991,34 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Get-AzureVM + Get-AzureRMVM - New-AzureVM + New-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - Update-AzureVM + Update-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM Restarts an Azure virtual machine. @@ -6030,11 +6030,11 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Restart-AzureVM cmdlet restarts an Azure virtual machine. + The Restart-AzureRMVM cmdlet restarts an Azure virtual machine. - Restart-AzureVM + Restart-AzureRMVM ResourceGroupName @@ -6139,7 +6139,7 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - PS C:\>Restart-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" + PS C:\>Restart-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" This command restarts the virtual machine named VirtualMachine07 in ResourceGroup11. @@ -6155,34 +6155,34 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - Get-AzureVM + Get-AzureRMVM - New-AzureVM + New-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - Update-AzureVM + Update-AzureRMVM - Save-AzureVMImage + Save-AzureRMVMImage Captures a virtual machine as a VMImage. @@ -6194,12 +6194,12 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - The Save-AzureVMImage cmdlet captures a virtual machine as a VMImage. Before you create a virtual machine image, sysprep the virtual machine, and then mark it as generalized by using the Set-AzureVM cmdlet. + The Save-AzureRMVMImage cmdlet captures a virtual machine as a VMImage. Before you create a virtual machine image, sysprep the virtual machine, and then mark it as generalized by using the Set-AzureRMVM cmdlet. The output of this cmdlet is a JavaScript Object Notation (JSON) template. You can deploy virtual machines from your captured image. - Save-AzureVMImage + Save-AzureRMVMImage ResourceGroupName @@ -6360,8 +6360,8 @@ PS C:\> Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMac - PS C:\>Set-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Generalized -PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -DestinationContainerName "VMContainer01" -VHDNamePrefix "VM07" + PS C:\>Set-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Generalized +PS C:\> Save-AzureRMVMImage -ResourceGroupName "ResourceGroup11" -VMName "VirtualMachine07" -DestinationContainerName "VMContainer01" -VHDNamePrefix "VM07" The first marks the virtual machine named VirtualMachine07 as generalized. @@ -6378,30 +6378,30 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - Get-AzureVMImage + Get-AzureRMVMImage - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Get-AzureVMImageSku + Get-AzureRMVMImageSku - Set-AzureVM + Set-AzureRMVM - Set-AzureVMAccessExtension + Set-AzureRMVMAccessExtension Adds the VMAccess extension to a virtual machine. @@ -6413,11 +6413,11 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - The Set-AzureVMAccessExtension cmdlet adds the Virtual Machine Access (VMAccess) Virtual Machine Extension to a virtual machine. VMAccess can reset the virtual machine user name and password. + The Set-AzureRMVMAccessExtension cmdlet adds the Virtual Machine Access (VMAccess) Virtual Machine Extension to a virtual machine. VMAccess can reset the virtual machine user name and password. - Set-AzureVMAccessExtension + Set-AzureRMVMAccessExtension ResourceGroupName @@ -6442,7 +6442,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu TypeHandlerVersion - Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. + Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureRMVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. String @@ -6540,7 +6540,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu TypeHandlerVersion - Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. + Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureRMVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. String @@ -6617,7 +6617,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - PS C:\> Set-AzureVMAccessExtension -ResourceGroupName "ResrouceGroup11" -Location "Central US" -VMName "VirtualMachine07" -Name "ContosoTest" -TypeHandlerVersion "2.0" -UserName "PFuller" -Password "Password" + PS C:\> Set-AzureRMVMAccessExtension -ResourceGroupName "ResrouceGroup11" -Location "Central US" -VMName "VirtualMachine07" -Name "ContosoTest" -TypeHandlerVersion "2.0" -UserName "PFuller" -Password "Password" This command adds a VMAccess extension for the virtual machine named VirtualMachine07 in ResrouceGroup11. The command specifies the name and type handler version for VMAccess. @@ -6633,26 +6633,26 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - Get-AzureVMAccessExtension + Get-AzureRMVMAccessExtension - Remove-AzureVMAccessExtension + Remove-AzureRMVMAccessExtension - Set-AzureVMExtension + Set-AzureRMVMExtension - Get-AzureVMExtensionImage + Get-AzureRMVMExtensionImage - Set-AzureVMCustomScriptExtension + Set-AzureRMVMCustomScriptExtension Adds a custom script extension to a virtual machine. @@ -6664,11 +6664,11 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - The Set-AzureVMCustomScriptExtension cmdlet adds a custom script Virtual Machine Extension to a virtual machine. This extension allows you to run your own scripts on the virtual machine. + The Set-AzureRMVMCustomScriptExtension cmdlet adds a custom script Virtual Machine Extension to a virtual machine. This extension allows you to run your own scripts on the virtual machine. - Set-AzureVMCustomScriptExtension + Set-AzureRMVMCustomScriptExtension ResourceGroupName @@ -6714,7 +6714,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu TypeHandlerVersion - Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. + Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureRMVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. String @@ -6762,7 +6762,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - Set-AzureVMCustomScriptExtension + Set-AzureRMVMCustomScriptExtension ResourceGroupName @@ -6794,7 +6794,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu TypeHandlerVersion - Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. + Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureRMVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. String @@ -6976,7 +6976,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu TypeHandlerVersion - Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. + Specifies the version of the extension to use for this virtual machine. To obtain the version, run the Get-AzureRMVMExtensionImage cmdlet with a value of Microsoft.Compute for the PublisherName parameter and VMAccessAgent for the Type parameter. String @@ -7041,7 +7041,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - PS C:\>Set-AzureVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -Location "Central US" -VMName "VirtualMachine07" -Name "contosotest" -TypeHandlerVersion "1.1" -StorageAccountName "contoso" -StorageAccountKey <StorageKey> -FileName "contososcript.exe" -ContainerName "scripts" + PS C:\>Set-AzureRMVMCustomScriptExtension -ResourceGroupName "ResourceGroup11" -Location "Central US" -VMName "VirtualMachine07" -Name "contosotest" -TypeHandlerVersion "1.1" -StorageAccountName "contoso" -StorageAccountKey <StorageKey> -FileName "contososcript.exe" -ContainerName "scripts" This command adds a custom script to the virtual machine named VirtualMachine07. The script file is contososcript.exe. @@ -7057,18 +7057,18 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - Get-AzureVMCustomScriptExtension + Get-AzureRMVMCustomScriptExtension - Remove-AzureVMCustomScriptExtension + Remove-AzureRMVMCustomScriptExtension - Set-AzureVMExtension + Set-AzureRMVMExtension Updates extension properties or adds an extension to a virtual machine. @@ -7080,11 +7080,11 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - The Set-AzureVMExtension cmdlet updates properties for existing Virtual Machine Extensions or adds an extension to a virtual machine. + The Set-AzureRMVMExtension cmdlet updates properties for existing Virtual Machine Extensions or adds an extension to a virtual machine. - Set-AzureVMExtension + Set-AzureRMVMExtension ResourceGroupName @@ -7157,7 +7157,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu - Set-AzureVMExtension + Set-AzureRMVMExtension ResourceGroupName @@ -7421,7 +7421,7 @@ PS C:\> Save-AzureVMImage -ResourceGroupName "ResourceGroup11" -VMName "Virtu PS C:\>$Settings = @{"fileUris" = "[]"; "commandToExecute" = ""}; PS C:\> $ProtectedSettings = @{"storageAccountName" = $stoname; "storageAccountKey" = $stokey}; -PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "ContosoTest" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -Settings $Settings -ProtectedSettings $ProtectedSettings; +PS C:\> Set-AzureRMVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "ContosoTest" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -Settings $Settings -ProtectedSettings $ProtectedSettings; The first two commands use standard Windows PowerShell® syntax to create hash tables, and then stores those hash tables in the $Settings and $ProtectedSettings variables. For more information, type Get-Help about_Hash_Tables. The second command includes two values previously created and stored in variables. @@ -7443,7 +7443,7 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " PS C:\>$SettingsString = '{"fileUris":[],"commandToExecute":""}'; PS C:\> $ProtectedSettingsString = '{"storageAccountName":"' + $stoname + '","storageAccountKey":"' + $stokey + '"}'; -PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -SettingString $SettingsString -ProtectedSettingString $ProtectedSettingsString ; +PS C:\> Set-AzureRMVMExtension -ResourceGroupName "ResourceGroup11" -Location "West US" -VMName "VirtualMachine22" -Name "CustomScriptExtension" -Publisher "Contoso.Compute" -Type "CustomScriptExtension" -TypeHandlerVersion "1.1" -SettingString $SettingsString -ProtectedSettingString $ProtectedSettingsString ; The first two commands create strings that contain settings, and then stores them in the $SettingsString and $ProtectedSettingsString variables. @@ -7460,18 +7460,18 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " - Get-AzureVMExtension + Get-AzureRMVMExtension - Remove-AzureVMExtension + Remove-AzureRMVMExtension - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem Sets operating system properties for a virtual machine. @@ -7483,15 +7483,15 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " - The Set-AzureVMOperatingSystem cmdlet sets operating system properties for a virtual machine. You can specify logon credentials computer name, and operating system type. + The Set-AzureRMVMOperatingSystem cmdlet sets operating system properties for a virtual machine. You can specify logon credentials computer name, and operating system type. - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem VM - Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -7569,11 +7569,11 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " - Set-AzureVMOperatingSystem + Set-AzureRMVMOperatingSystem VM - Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -7731,7 +7731,7 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " VM - Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. Create a virtual machine object by using the New-AzureVMConfig cmdlet. + Specifies the local virtual machine object on which to set operating system properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. Create a virtual machine object by using the New-AzureRMVMConfig cmdlet. PSVirtualMachine @@ -7834,20 +7834,20 @@ PS C:\> Set-AzureVMExtension -ResourceGroupName "ResourceGroup11" -Location " PS C:\>$SecurePassword = ConvertTo-SecureString "password" -AsPlainText -Force PS C:\> $Credential = New-Object System.Management.Automation.PSCredential ("FullerP", $SecurePassword); -PS C:\> $AvailabilitySet = Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id +PS C:\> $AvailabilitySet = Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" +PS C:\> $VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id PS C:\> $ComputerName = "ContosoVM122" PS C:\> $WinRMCertUrl = "http://keyVaultName.vault.azure.net/secrets/secretName/secretVersion" PS C:\> $TimeZone = "Pacific Standard Time" PS C:\> $CustomData = "echo 'Hello World'" -PS C:\> $VirtualMachine = Set-AzureVMOperatingSystem -VM $$VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone +PS C:\> $VirtualMachine = Set-AzureRMVMOperatingSystem -VM $$VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -CustomData $CustomData -WinRMHttp -WinRMHttps -WinRMCertificateUrl $WinRMCertUrl -ProvisionVMAgent -EnableAutoUpdate -TimeZone $TimeZone The first command converts a password to a secure string, and then stores it in the $SecurePassword variable. For more information, type Get-Help ConvertTo-SecureString. The second command creates a credential for the user FullerP and the password stored in $SecurePassword, and then stores the credential in the $Credential variable. For more information, type Get-Help New-Object. The third command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. The fourth command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. The virtual machine belongs to the availability set stored in $AvailabilitySet. - The next four commands assign values to variables to use in the following command. Because you could specify these strings directly in the Set-AzureVMOperatingSystem command, this approach is used only for readability. However, you might use an approach such as this in scripts. + The next four commands assign values to variables to use in the following command. Because you could specify these strings directly in the Set-AzureRMVMOperatingSystem command, this approach is used only for readability. However, you might use an approach such as this in scripts. The final command sets operating system properties for the virtual machine stored in $VirtualMachine. The command uses the credentials stored in $Credential. The command uses variables assigned in previous commands for some parameters. @@ -7861,18 +7861,18 @@ PS C:\> $VirtualMachine = Set-AzureVMOperatingSystem -VM $$VirtualMachine -Wi - Get-AzureVM + Get-AzureRMVM - New-AzureVMConfig + New-AzureRMVMConfig - Set-AzureVMOSDisk + Set-AzureRMVMOSDisk Sets the operating system disk properties on a virtual machine. @@ -7884,15 +7884,15 @@ PS C:\> $VirtualMachine = Set-AzureVMOperatingSystem -VM $$VirtualMachine -Wi - The Set-AzureVMOSDisk cmdlet set the operating system disk properties on a virtual machine. + The Set-AzureRMVMOSDisk cmdlet set the operating system disk properties on a virtual machine. - Set-AzureVMOSDisk + Set-AzureRMVMOSDisk VM - Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -7968,11 +7968,11 @@ The default value is ReadWrite. Changing the caching value causes the virtual ma - Set-AzureVMOSDisk + Set-AzureRMVMOSDisk VM - Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -8151,7 +8151,7 @@ The default value is ReadWrite. Changing the caching value causes the virtual ma VM - Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + Specifies the local virtual machine object on which to set operating system disk properties. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. PSVirtualMachine @@ -8216,9 +8216,9 @@ The default value is ReadWrite. Changing the caching value causes the virtual ma - PS C:\>$AvailabilitySet = Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id -PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vhd" -Caching ReadWrite + PS C:\>$AvailabilitySet = Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" +PS C:\> $VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id +PS C:\> Set-AzureRMVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vhd" -Caching ReadWrite The first command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. @@ -8236,22 +8236,22 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh - Get-AzureVM + Get-AzureRMVM - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - New-AzureVMConfig + New-AzureRMVMConfig - Set-AzureVMSourceImage + Set-AzureRMVMSourceImage Specifies the platform image for a virtual machine. @@ -8263,11 +8263,11 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh - The Set-AzureVMSourceImage cmdlet specifies the platform image to use for a virtual machine. + The Set-AzureRMVMSourceImage cmdlet specifies the platform image to use for a virtual machine. - Set-AzureVMSourceImage + Set-AzureRMVMSourceImage VM @@ -8291,7 +8291,7 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh - Set-AzureVMSourceImage + Set-AzureRMVMSourceImage VM @@ -8302,21 +8302,21 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh PublisherName - Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureRMVMImagePublisher cmdlet. System.String Offer - Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureVMImageOffer cmdlet. + Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureRMVMImageOffer cmdlet. System.String Skus - Specfies a VMImage SKU. To obtain SKUs, use the Get-AzureVMImageSku cmdlet. + Specfies a VMImage SKU. To obtain SKUs, use the Get-AzureRMVMImageSku cmdlet. System.String @@ -8352,7 +8352,7 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh Offer - Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureVMImageOffer cmdlet. + Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzureRMVMImageOffer cmdlet. System.String @@ -8376,7 +8376,7 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh PublisherName - Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureVMImagePublisher cmdlet. + Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzureRMVMImagePublisher cmdlet. System.String @@ -8388,7 +8388,7 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh Skus - Specfies a VMImage SKU. To obtain SKUs, use the Get-AzureVMImageSku cmdlet. + Specfies a VMImage SKU. To obtain SKUs, use the Get-AzureRMVMImageSku cmdlet. System.String @@ -8465,15 +8465,15 @@ PS C:\> Set-AzureVMOSDisk -VM $VirtualMachine -Name "OsDisk02" -VhdUri "os.vh - PS C:\>AvailabilitySet = Get-AzureAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" -PS C:\> $VirtualMachine = New-AzureVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id -PS C:\> Set-AzureVMSourceImage -VM $VirtualMachine -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version "latest" + PS C:\>AvailabilitySet = Get-AzureRMAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03" +PS C:\> $VirtualMachine = New-AzureRMVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id +PS C:\> Set-AzureRMVMSourceImage -VM $VirtualMachine -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version "latest" The first command gets the availability set named AvailablitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. The second command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. The virtual machine belongs to the availability set stored in $AvailabilitySet. - The final command sets values for publisher name, offer, SKU, and version. The Get-AzureVMImagePublisher, Get-AzureVMImageOffer, Get-AzureVMImageSku, and Get-AzureVMImage cmdlets can discover these settings. + The final command sets values for publisher name, offer, SKU, and version. The Get-AzureRMVMImagePublisher, Get-AzureRMVMImageOffer, Get-AzureRMVMImageSku, and Get-AzureRMVMImage cmdlets can discover these settings. @@ -8489,12 +8489,12 @@ PS C:\> Set-AzureVMSourceImage -VM $VirtualMachine -PublisherName "MicrosoftW - PS C:\>$Publisher = (Get-AzureVMImagePublisher -Location "Central US") | select -ExpandProperty PublisherName | where { $_ -like '*Microsoft*Windows*Server' } -PS C:\> $Offer = (Get-AzureVMImageOffer -Location "Central US" -PublisherName $Publisher[0]) | select -ExpandProperty Offer | where { $_ -like '*Windows*' } -PS C:\> $Sku = (Get-AzureVMImageSku -Location "Central US" -PublisherName $Publisher[0] -Offer $Offer[0]) | select -ExpandProperty Skus -PS C:\> $Versions = (Get-AzureVMImage -Location "Central US" -Offer -Offer $Offer[0] -PublisherName $Publisher[0] -Skus $Sku[0]) | select -ExpandProperty Version -PS C:\> $VMImage = Get-AzureVMImage -Location "Central US" -Offer -Offer $Offer[0] -PublisherName $Publisher[0] -Skus $Sku[0] -Version $Versions[0] -PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -ImageReference $VMImage + PS C:\>$Publisher = (Get-AzureRMVMImagePublisher -Location "Central US") | select -ExpandProperty PublisherName | where { $_ -like '*Microsoft*Windows*Server' } +PS C:\> $Offer = (Get-AzureRMVMImageOffer -Location "Central US" -PublisherName $Publisher[0]) | select -ExpandProperty Offer | where { $_ -like '*Windows*' } +PS C:\> $Sku = (Get-AzureRMVMImageSku -Location "Central US" -PublisherName $Publisher[0] -Offer $Offer[0]) | select -ExpandProperty Skus +PS C:\> $Versions = (Get-AzureRMVMImage -Location "Central US" -Offer -Offer $Offer[0] -PublisherName $Publisher[0] -Skus $Sku[0]) | select -ExpandProperty Version +PS C:\> $VMImage = Get-AzureRMVMImage -Location "Central US" -Offer -Offer $Offer[0] -PublisherName $Publisher[0] -Skus $Sku[0] -Version $Versions[0] +PS C:\> $VirtualMachine07 = Set-AzureRMVMSourceImage -VM $VirtualMachine07 -ImageReference $VMImage This example sets source image settings by using the image reference method. @@ -8510,34 +8510,34 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureAvailabilitySet + Get-AzureRMAvailabilitySet - New-AzureVMConfig + New-AzureRMVMConfig - Get-AzureVMImagePublisher + Get-AzureRMVMImagePublisher - Get-AzureVMImageOffer + Get-AzureRMVMImageOffer - Get-AzureVMImageSku + Get-AzureRMVMImageSku - Get-AzureVMImage + Get-AzureRMVMImage - Set-AzureVM + Set-AzureRMVM Marks a virtual machine as generalized. @@ -8549,11 +8549,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - The Set-AzureVM cmdlet marks a virtual machine as generalized. Before you run this cmdlet, log on to the virtual machine and use Sysprep to prepare the hard disk. + The Set-AzureRMVM cmdlet marks a virtual machine as generalized. Before you run this cmdlet, log on to the virtual machine and use Sysprep to prepare the hard disk. - Set-AzureVM + Set-AzureRMVM ResourceGroupName @@ -8676,7 +8676,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - PS C:\>Set-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Generalized + PS C:\>Set-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -Generalized This command marks the virtual machine named VirtualMachine07 as generalized. @@ -8692,14 +8692,14 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVM + Get-AzureRMVM - Start-AzureVM + Start-AzureRMVM Starts an Azure virtual machine. @@ -8711,11 +8711,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - The Start-AzureVM cmdlet starts an Azure virtual machine. + The Start-AzureRMVM cmdlet starts an Azure virtual machine. - Start-AzureVM + Start-AzureRMVM ResourceGroupName @@ -8820,7 +8820,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - PS C:\>Start-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" + PS C:\>Start-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" This command starts the virtual machine named VirtualMachine07 in ResourceGroup11. @@ -8836,34 +8836,34 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVM + Get-AzureRMVM - New-AzureVM + New-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - Update-AzureVM + Update-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM Stops an Azure virtual machine. @@ -8875,11 +8875,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - The Stop-AzureVM cmdlet stops an Azure virtual machine. + The Stop-AzureRMVM cmdlet stops an Azure virtual machine. - Stop-AzureVM + Stop-AzureRMVM ResourceGroupName @@ -9020,7 +9020,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - PS C:\>Stop-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" + PS C:\>Stop-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" This command stops the virtual machine named VirtualMachine07 in ResourceGroup11. @@ -9036,34 +9036,34 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVM + Get-AzureRMVM - New-AzureVM + New-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Update-AzureVM + Update-AzureRMVM - Update-AzureVM + Update-AzureRMVM Updates the state of an Azure virtual machine. @@ -9075,11 +9075,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - The Update-AzureVM cmdlet updates the state of an Azure virtual machine to the state of a virtual machine object. + The Update-AzureRMVM cmdlet updates the state of an Azure virtual machine to the state of a virtual machine object. - Update-AzureVM + Update-AzureRMVM Name @@ -9112,7 +9112,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima VM - Specifies a local virtual machine object. To obtain a virtual machine object, use the Get-AzureVM cmdlet. This virtual machine object contains the updated state for the virtual machine. + Specifies a local virtual machine object. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. This virtual machine object contains the updated state for the virtual machine. PSVirtualMachine @@ -9171,7 +9171,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima VM - Specifies a local virtual machine object. To obtain a virtual machine object, use the Get-AzureVM cmdlet. This virtual machine object contains the updated state for the virtual machine. + Specifies a local virtual machine object. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. This virtual machine object contains the updated state for the virtual machine. PSVirtualMachine @@ -9224,10 +9224,10 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - PS C:\>Update-AzureVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine + PS C:\>Update-AzureRMVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -VM $VirtualMachine - This command updates the virtual machine named VirtualMachine07 in ResourceGroup11. The command updates it by using another virtual machine object, stored in the $VirtualMachine variable. To obtain a virtual machine object, use the Get-AzureVM cmdlet. + This command updates the virtual machine named VirtualMachine07 in ResourceGroup11. The command updates it by using another virtual machine object, stored in the $VirtualMachine variable. To obtain a virtual machine object, use the Get-AzureRMVM cmdlet. @@ -9240,31 +9240,31 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVM + Get-AzureRMVM - New-AzureVM + New-AzureRMVM - Remove-AzureVM + Remove-AzureRMVM - Restart-AzureVM + Restart-AzureRMVM - Start-AzureVM + Start-AzureRMVM - Stop-AzureVM + Stop-AzureRMVM - New-AzureVMConfig + New-AzureRMVMConfig @@ -9274,7 +9274,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Remove-AzureVMDscExtension + Remove-AzureRMVMDscExtension Removes DSC extension handler from a VM in a resource group @@ -9290,7 +9290,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Remove-AzureVMDscExtension + Remove-AzureRMVMDscExtension ResourceGroupName @@ -9308,7 +9308,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima Name - Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Remove-AzureVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template + Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Remove-AzureRMVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template String @@ -9342,7 +9342,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima Name - Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Remove-AzureVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template + Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Remove-AzureRMVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template String @@ -9392,11 +9392,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima PS C:\> - PS C:\> Remove-AzureVMDscExtension –ResouceGroupName Name -VMName VM -Name DSC + PS C:\> Remove-AzureRMVMDscExtension –ResouceGroupName Name -VMName VM -Name DSC Description ----------- - Removes the extension (Name - 'DSC') on virtual machine 'VM'. Specify Name parameter only when you changed its default value 'Microsoft.Powershell.DSC' to something else ('DSC' in this case) either through Set-AzureVMDscExtension cmdlet or an ARM template. + Removes the extension (Name - 'DSC') on virtual machine 'VM'. Specify Name parameter only when you changed its default value 'Microsoft.Powershell.DSC' to something else ('DSC' in this case) either through Set-AzureRMVMDscExtension cmdlet or an ARM template. @@ -9417,7 +9417,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVMDscExtension + Get-AzureRMVMDscExtension Gets the settings of the DSC extension on a particular VM @@ -9435,7 +9435,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima - Get-AzureVMDscExtension + Get-AzureRMVMDscExtension ResourceGroupName @@ -9453,7 +9453,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima Name - Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Get-AzureVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template. + Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Get-AzureRMVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template. String @@ -9496,7 +9496,7 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima Name - Name of the ARM resource that represents the extension. The Set-AzureVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Get-AzureVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template. + Name of the ARM resource that represents the extension. The Set-AzureRMVMDscExtension cmdlet sets this name to 'Microsoft.Powershell.DSC', which is the same value used by Get-AzureRMVMDscExtension. Specify this parameter only if you changed the default name in the Set cmdlet or used a different resource name in an ARM template. String @@ -9574,11 +9574,11 @@ PS C:\> $VirtualMachine07 = Set-AzureVMSourceImage -VM $VirtualMachine07 -Ima C:\PS> -Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' +Get-AzureRMVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Description ----------- - Retrieves the settings of extension (Name - 'DSC') on virtual machine 'VM'. Specify Name parameter only when you changed its default value 'Microsoft.Powershell.DSC' to something else ('DSC' in this case) either through Set-AzureVMDscExtension cmdlet or an ARM template. + Retrieves the settings of extension (Name - 'DSC') on virtual machine 'VM'. Specify Name parameter only when you changed its default value 'Microsoft.Powershell.DSC' to something else ('DSC' in this case) either through Set-AzureRMVMDscExtension cmdlet or an ARM template. @@ -9602,7 +9602,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' - Set-AzureVMDSCExtension + Set-AzureRMVMDSCExtension Configure the Windows PowerShell Desired State Configuration extension on a VM. @@ -9620,11 +9620,11 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' - Set-AzureVMDSCExtension + Set-AzureRMVMDSCExtension ArchiveBlobName - The name of the configuration file that was previously uploaded by Publish-AzureVMDSCConfiguration + The name of the configuration file that was previously uploaded by Publish-AzureRMVMDSCConfiguration string @@ -9652,7 +9652,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Version - The version of the DSC extension that Set-AzureVMDSCExtension will apply the settings to. Allowed format N.N + The version of the DSC extension that Set-AzureRMVMDSCExtension will apply the settings to. Allowed format N.N string @@ -9694,7 +9694,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Force - By default Set-AzureVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them + By default Set-AzureRMVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them @@ -9743,7 +9743,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' ArchiveBlobName - The name of the configuration file that was previously uploaded by Publish-AzureVMDSCConfiguration + The name of the configuration file that was previously uploaded by Publish-AzureRMVMDSCConfiguration string @@ -9803,7 +9803,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Force - By default Set-AzureVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them + By default Set-AzureRMVMDscExtension will not overwrite any existing blobs. Use -Force to overwrite them SwitchParameter @@ -9887,7 +9887,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Version - The version of the DSC extension that Set-AzureVMDSCExtension will apply the settings to. Allowed format N.N + The version of the DSC extension that Set-AzureRMVMDSCExtension will apply the settings to. Allowed format N.N string @@ -10000,13 +10000,13 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' C:\PS> - Set-AzureVMDscExtension -ResourceGroupName Name -VMName VM -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -Version 1.10 -Location 'West US' + Set-AzureRMVMDscExtension -ResourceGroupName Name -VMName VM -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -Version 1.10 -Location 'West US' Description ----------- - Sets the extension on the 'VM' to download Sample.ps1.zip (from the 'Stg' storage account and the default container 'windows-powershell-dsc') that was previously uploaded using Publish-AzureVMDscConfiguration cmdlet and invokes configuration 'ConfigName'. + Sets the extension on the 'VM' to download Sample.ps1.zip (from the 'Stg' storage account and the default container 'windows-powershell-dsc') that was previously uploaded using Publish-AzureRMVMDscConfiguration cmdlet and invokes configuration 'ConfigName'. @@ -10027,12 +10027,12 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' C:\PS> - Set-AzureVMDscExtension -ResourceGroupName Name -VMName vm -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -ConfigurationArgument @{arg="val"} -ArchiveContainerName WindowsPowerShellDSC -ConfigurationData SampleData.psd1 -Version 1.10 -Location 'West US' + Set-AzureRMVMDscExtension -ResourceGroupName Name -VMName vm -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -ConfigurationArgument @{arg="val"} -ArchiveContainerName WindowsPowerShellDSC -ConfigurationData SampleData.psd1 -Version 1.10 -Location 'West US' Description ----------- - Sets the extension on the VM to download Sample.ps1.zip (from the 'Stg' storage account and container 'WindowsPowerShellDSC' ) that was previously uploaded using Publish-AzureVMDscConfiguration cmdlet and invokes configuration 'ConfigName' with configuration data and arguments. + Sets the extension on the VM to download Sample.ps1.zip (from the 'Stg' storage account and container 'WindowsPowerShellDSC' ) that was previously uploaded using Publish-AzureRMVMDscConfiguration cmdlet and invokes configuration 'ConfigName' with configuration data and arguments. @@ -10053,12 +10053,12 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' C:\PS> - Set-AzureVMDscExtension -ResourceGroupName Name -VMName vm -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -ConfigurationArgument @{arg="val"} -ArchiveContainerName WindowsPowerShellDSC -ConfigurationData SampleData.psd1 -Version 1.10 -Location 'West US' -AutoUpdate + Set-AzureRMVMDscExtension -ResourceGroupName Name -VMName vm -ArchiveBlobName Sample.ps1.zip -ArchiveStorageAccountName Stg -ConfigurationName ConfigName -ConfigurationArgument @{arg="val"} -ArchiveContainerName WindowsPowerShellDSC -ConfigurationData SampleData.psd1 -Version 1.10 -Location 'West US' -AutoUpdate Description ----------- - Sets the extension on the VM to download Sample.ps1.zip (from the 'Stg' storage account and container 'WindowsPowerShellDSC' ) that was previously uploaded using Publish-AzureVMDscConfiguration cmdlet and invokes configuration 'ConfigName' with configuration data and arguments. Also, enables auto update of extension handler to the latest version as and when it is available. + Sets the extension on the VM to download Sample.ps1.zip (from the 'Stg' storage account and container 'WindowsPowerShellDSC' ) that was previously uploaded using Publish-AzureRMVMDscConfiguration cmdlet and invokes configuration 'ConfigName' with configuration data and arguments. Also, enables auto update of extension handler to the latest version as and when it is available. @@ -10082,10 +10082,10 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' - Publish-AzureVMDscConfiguration + Publish-AzureRMVMDscConfiguration - Uploads a Desired State Configuration script to Azure blob storage, which later can be applied to Azure Virtual Machines using the Set-AzureVMDscExtension cmdlet. + Uploads a Desired State Configuration script to Azure blob storage, which later can be applied to Azure Virtual Machines using the Set-AzureRMVMDscExtension cmdlet. @@ -10095,12 +10095,12 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' - Uploads a Desired State Configuration script to Azure blob storage, which later can be applied to Azure Virtual Machines using the Set-AzureVMDscExtension cmdlet. + Uploads a Desired State Configuration script to Azure blob storage, which later can be applied to Azure Virtual Machines using the Set-AzureRMVMDscExtension cmdlet. - Publish-AzureVMDscConfiguration + Publish-AzureRMVMDscConfiguration ConfigurationPath @@ -10125,14 +10125,14 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' ConfigurationDataPath - Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureVMDscExtension cmdlet + Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureRMVMDscExtension cmdlet string Force - By default Publish-AzureVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. + By default Publish-AzureRMVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. @@ -10155,7 +10155,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' - Publish-AzureVMDscConfiguration + Publish-AzureRMVMDscConfiguration ConfigurationPath @@ -10194,14 +10194,14 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' ConfigurationDataPath - Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureVMDscExtension cmdlet + Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureRMVMDscExtension cmdlet string Force - By default Publish-AzureVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. + By default Publish-AzureRMVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. @@ -10248,7 +10248,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' ConfigurationDataPath - Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureVMDscExtension cmdlet + Path to a .psd1 file that specifies the data for the Configuration. This is added to the configuration archive and then passed to the configuration function. It gets overwritten by the configuration data path provided through the Set-AzureRMVMDscExtension cmdlet string @@ -10284,7 +10284,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' Force - By default Publish-AzureVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. + By default Publish-AzureRMVMDscConfiguration will not overwrite any existing blobs or files. Use -Force to overwrite them. SwitchParameter @@ -10435,7 +10435,7 @@ Get-AzureVMDscExtension -ResourceGroupName Name -VMName VM -Name 'DSC' C:\PS> -Publish-AzureVMDscConfiguration .\MyConfiguration.ps1 +Publish-AzureRMVMDscConfiguration .\MyConfiguration.ps1 Description ----------- @@ -10460,7 +10460,7 @@ Publish-AzureVMDscConfiguration .\MyConfiguration.ps1 C:\PS> -Publish-AzureVMDscConfiguration .\MyConfiguration.ps1 -OutputArchivePath .\MyConfiguration.ps1.zip +Publish-AzureRMVMDscConfiguration .\MyConfiguration.ps1 -OutputArchivePath .\MyConfiguration.ps1.zip Description ----------- @@ -10485,7 +10485,7 @@ Publish-AzureVMDscConfiguration .\MyConfiguration.ps1 -OutputArchivePath .\MyCon C:\PS> -Publish-AzureVMDscConfiguration -ConfigurationPath 'C:\Sample.ps1 -SkipDependencyDetection +Publish-AzureRMVMDscConfiguration -ConfigurationPath 'C:\Sample.ps1 -SkipDependencyDetection Description ----------- @@ -10510,7 +10510,7 @@ Publish-AzureVMDscConfiguration -ConfigurationPath 'C:\Sample.ps1 -SkipDependenc C:\PS> -Publish-AzureVMDscConfiguration -ConfigurationPath C:\Sample.ps1 -ConfigurationDataPath 'C:\SampleData.psd1' +Publish-AzureRMVMDscConfiguration -ConfigurationPath C:\Sample.ps1 -ConfigurationDataPath 'C:\SampleData.psd1' Description ----------- @@ -10535,7 +10535,7 @@ Publish-AzureVMDscConfiguration -ConfigurationPath C:\Sample.ps1 -ConfigurationD C:\PS> -Publish-AzureVMDscConfiguration -ConfigurationPath "C:\Sample.ps1" -AdditionalPath @("C:\ContentDir1", "C:\File.txt") -ConfigurationDataPath "C:\SampleData.psd1" +Publish-AzureRMVMDscConfiguration -ConfigurationPath "C:\Sample.ps1" -AdditionalPath @("C:\ContentDir1", "C:\File.txt") -ConfigurationDataPath "C:\SampleData.psd1" Description ----------- diff --git a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs index e984dd08fc3d..0bf1ce4c84f4 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.Designer.cs @@ -133,7 +133,7 @@ public static string AzureVMDscCreateArchiveAction { } /// - /// Looks up a localized string similar to Can not find your azure storage credential. Please specify an storage context using the -StorageContext parameter, or set the current storage account using "Set-AzureSubscription", or set the "AZURE_STORAGE_CONNECTION_STRING" environment variable.. + /// Looks up a localized string similar to Can not find your azure storage credential. Please specify an storage context using the -StorageContext parameter, or set the current storage account using "Set-AzureRMSubscription", or set the "AZURE_STORAGE_CONNECTION_STRING" environment variable.. /// public static string AzureVMDscDefaultStorageCredentialsNotFound { get { @@ -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.. /// @@ -242,7 +252,7 @@ public static string CustomScriptExtensionTryToUseTheFirstSpecifiedFileAsRunScri } /// - /// Looks up a localized string similar to A data disk, {0}, is not currently assigned for this VM. Use Add-AzureVMDataDisk to add it.. + /// Looks up a localized string similar to A data disk, {0}, is not currently assigned for this VM. Use Add-AzureRMVMDataDisk to add it.. /// public static string DataDiskNotAssignedForVM { get { @@ -484,6 +494,15 @@ public static string PSSyncOutputEventsUploading { } } + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionAdditionalContentPathNotExist { + get { + return ResourceManager.GetString("PublishVMDscExtensionAdditionalContentPathNotExist", resourceCulture); + } + } + /// /// Looks up a localized string similar to Configuration published to {0}. /// @@ -493,6 +512,15 @@ public static string PublishVMDscExtensionArchiveUploadedMessage { } } + /// + /// Looks up a localized string similar to Configuration published to {0}. + /// + public static string PublishVMDscExtensionArchiveUploadedMessage1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionArchiveUploadedMessage1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cannot find configuration file: {0}.. /// @@ -511,6 +539,15 @@ public static string PublishVMDscExtensionCopyFileVerbose { } } + /// + /// Looks up a localized string similar to Copy '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyFileVerbose1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionCopyFileVerbose1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Copy the module '{0}' to '{1}'.. /// @@ -520,6 +557,15 @@ public static string PublishVMDscExtensionCopyModuleVerbose { } } + /// + /// Looks up a localized string similar to Copy the module '{0}' to '{1}'.. + /// + public static string PublishVMDscExtensionCopyModuleVerbose1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionCopyModuleVerbose1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid configuration file: {0}. ///The file needs to be a PowerShell script (.ps1 or .psm1).. @@ -530,6 +576,16 @@ public static string PublishVMDscExtensionCreateArchiveConfigFileInvalidExtensio } } + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1).. + /// + public static string PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Create a zip file '{0}' from directory '{1}'.. /// @@ -548,6 +604,15 @@ public static string PublishVMDscExtensionDeletedFileMessage { } } + /// + /// Looks up a localized string similar to Deleted '{0}'. + /// + public static string PublishVMDscExtensionDeletedFileMessage1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionDeletedFileMessage1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cannot delete '{0}': {1}. /// @@ -557,6 +622,24 @@ public static string PublishVMDscExtensionDeleteErrorMessage { } } + /// + /// Looks up a localized string similar to Cannot delete '{0}': {1}. + /// + public static string PublishVMDscExtensionDeleteErrorMessage1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionDeleteErrorMessage1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' not found.. + /// + public static string PublishVMDscExtensionDirectoryNotExist { + get { + return ResourceManager.GetString("PublishVMDscExtensionDirectoryNotExist", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cannot get module for DscResource '{0}'. Possible solutions: ///1) Specify -ModuleName for Import-DscResource in your configuration. @@ -570,6 +653,19 @@ public static string PublishVMDscExtensionGetDscResourceFailed { } } + /// + /// Looks up a localized string similar to Cannot get module for DscResource '{0}'. Possible solutions: + ///1) Specify -ModuleName for Import-DscResource in your configuration. + ///2) Unblock module that contains resource. + ///3) Move Import-DscResource inside Node block. + ///. + /// + public static string PublishVMDscExtensionGetDscResourceFailed1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionGetDscResourceFailed1", resourceCulture); + } + } + /// /// Looks up a localized string similar to List of required modules: [{0}].. /// @@ -579,6 +675,15 @@ public static string PublishVMDscExtensionRequiredModulesVerbose { } } + /// + /// Looks up a localized string similar to List of required modules: [{0}].. + /// + public static string PublishVMDscExtensionRequiredModulesVerbose1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionRequiredModulesVerbose1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version.. /// @@ -588,6 +693,15 @@ public static string PublishVMDscExtensionRequiredPsVersion { } } + /// + /// Looks up a localized string similar to Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version.. + /// + public static string PublishVMDscExtensionRequiredPsVersion1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionRequiredPsVersion1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Configuration script '{0}' contained parse errors: ///{1}. @@ -598,6 +712,16 @@ public static string PublishVMDscExtensionStorageParserErrors { } } + /// + /// Looks up a localized string similar to Configuration script '{0}' contained parse errors: + ///{1}. + /// + public static string PublishVMDscExtensionStorageParserErrors1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionStorageParserErrors1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Temp folder '{0}' created.. /// @@ -607,6 +731,15 @@ public static string PublishVMDscExtensionTempFolderVerbose { } } + /// + /// Looks up a localized string similar to Temp folder '{0}' created.. + /// + public static string PublishVMDscExtensionTempFolderVerbose1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionTempFolderVerbose1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Invalid configuration file: {0}. ///The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip).. @@ -617,6 +750,16 @@ public static string PublishVMDscExtensionUploadArchiveConfigFileInvalidExtensio } } + /// + /// Looks up a localized string similar to Invalid configuration file: {0}. + ///The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip).. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension1", resourceCulture); + } + } + /// /// Looks up a localized string similar to Configuration file '{0}' not found.. /// @@ -627,7 +770,16 @@ public static string PublishVMDscExtensionUploadArchiveConfigFileNotExist { } /// - /// Looks up a localized string similar to No current subscription has been designated. Use Select-AzureSubscription -Current <subscriptionName> to set the current subscription.. + /// Looks up a localized string similar to Configuration file '{0}' not found.. + /// + public static string PublishVMDscExtensionUploadArchiveConfigFileNotExist1 { + get { + return ResourceManager.GetString("PublishVMDscExtensionUploadArchiveConfigFileNotExist1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No current subscription has been designated. Use Select-AzureRMSubscription -Current <subscriptionName> to set the current subscription.. /// public static string StorageCredentialsFactoryCurrentSubscriptionNotSet { get { diff --git a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx index 2c5329e5f5f6..5e45726e6a8e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx +++ b/src/ResourceManager/Compute/Commands.Compute/Properties/Resources.resx @@ -236,7 +236,7 @@ The file needs to be a PowerShell script (.ps1 or .psm1). {0} = minimal required PS version, {1} = current PS version - Can not find your azure storage credential. Please specify an storage context using the -StorageContext parameter, or set the current storage account using "Set-AzureSubscription", or set the "AZURE_STORAGE_CONNECTION_STRING" environment variable. + Can not find your azure storage credential. Please specify an storage context using the -StorageContext parameter, or set the current storage account using "Set-AzureRMSubscription", or set the "AZURE_STORAGE_CONNECTION_STRING" environment variable. List of required modules: [{0}]. @@ -357,9 +357,81 @@ The file needs to be a PowerShell script (.ps1 or .psm1). Uploading - No current subscription has been designated. Use Select-AzureSubscription -Current <subscriptionName> to set the current subscription. + No current subscription has been designated. Use Select-AzureRMSubscription -Current <subscriptionName> to set the current subscription. - A data disk, {0}, is not currently assigned for this VM. Use Add-AzureVMDataDisk to add it. + A data disk, {0}, is not currently assigned for this VM. Use Add-AzureRMVMDataDisk 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 + + + Configuration published to {0} + {0} is an URI + + + Copy '{0}' to '{1}'. + {0} = source, {1} = destination + + + Copy the module '{0}' to '{1}'. + {0} = source, {1} = destination + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1). + 0 = path to the configuration file + + + Deleted '{0}' + {0} is the path of a file + + + Cannot delete '{0}': {1} + {0} is the path of a file, {1} is an error message + + + Path '{0}' not found. + 0 = path to the additional content file/directory + + + Cannot get module for DscResource '{0}'. Possible solutions: +1) Specify -ModuleName for Import-DscResource in your configuration. +2) Unblock module that contains resource. +3) Move Import-DscResource inside Node block. + + 0 = name of DscResource + + + List of required modules: [{0}]. + {0} = list of modules + + + Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version. + {0} = minimal required PS version, {1} = current PS version + + + Configuration script '{0}' contained parse errors: +{1} + 0 = path to the configuration script, 1 = parser errors + + + Temp folder '{0}' created. + {0} = temp folder path + + + Invalid configuration file: {0}. +The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip). + 0 = path to the configuration file + + + Configuration file '{0}' not found. + 0 = path to the configuration file \ No newline at end of file diff --git a/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/GetAzureRemoteDesktopFileCommand.cs b/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/GetAzureRemoteDesktopFileCommand.cs index 046e8f1ccc55..aaccab80524a 100644 --- a/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/GetAzureRemoteDesktopFileCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/GetAzureRemoteDesktopFileCommand.cs @@ -69,9 +69,9 @@ public SwitchParameter Launch set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { @@ -147,12 +147,12 @@ public override void ExecuteCmdlet() if (string.IsNullOrEmpty(address)) { - throw new ArgumentException(Properties.Resources.VirtualMachineNotAssociatedWithPublicLoadBalancer); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineNotAssociatedWithPublicLoadBalancer); } } else { - throw new ArgumentException(Properties.Resources.VirtualMachineNotAssociatedWithPublicIPOrPublicLoadBalancer); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineNotAssociatedWithPublicIPOrPublicLoadBalancer); } // Write to file diff --git a/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/VirtualMachineRemoteDesktopBaseCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/VirtualMachineRemoteDesktopBaseCmdlet.cs index b7d17427a7ef..5d745ffa0f9b 100644 --- a/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/VirtualMachineRemoteDesktopBaseCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/RemoteDesktop/VirtualMachineRemoteDesktopBaseCmdlet.cs @@ -27,7 +27,7 @@ public NetworkClient NetworkClient { if (networkClient == null) { - networkClient = new NetworkClient(Profile) + networkClient = new NetworkClient(DefaultProfile.Context) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp, diff --git a/src/ResourceManager/Compute/Commands.Compute/StorageServices/AddAzureVhdCommand.cs b/src/ResourceManager/Compute/Commands.Compute/StorageServices/AddAzureVhdCommand.cs index a6400989a92a..77d355dc62c7 100644 --- a/src/ResourceManager/Compute/Commands.Compute/StorageServices/AddAzureVhdCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/StorageServices/AddAzureVhdCommand.cs @@ -22,6 +22,7 @@ using System.Management.Automation; using Rsrc = Microsoft.Azure.Commands.Compute.Properties.Resources; using Microsoft.Azure.Management.Storage; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.Compute.StorageServices { @@ -151,11 +152,11 @@ private StorageCredentialsFactory CreateStorageCredentialsFactory(BlobUri destin StorageCredentialsFactory storageCredentialsFactory; var storageClient = AzureSession.ClientFactory.CreateClient( - Profile.Context, AzureEnvironment.Endpoint.ResourceManager); + DefaultProfile.Context, AzureEnvironment.Endpoint.ResourceManager); if (StorageCredentialsFactory.IsChannelRequired(Destination)) { - storageCredentialsFactory = new StorageCredentialsFactory(this.ResourceGroupName, storageClient, this.Profile.Context.Subscription); + storageCredentialsFactory = new StorageCredentialsFactory(this.ResourceGroupName, storageClient, AzureRMCmdlet.DefaultProfile.Context.Subscription); } else { @@ -165,7 +166,7 @@ private StorageCredentialsFactory CreateStorageCredentialsFactory(BlobUri destin return storageCredentialsFactory; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var parameters = ValidateParameters(); var vhdUploadContext = VhdUploaderModel.Upload(parameters); diff --git a/src/ResourceManager/Compute/Commands.Compute/Usage/GetAzureVMUsageCommand.cs b/src/ResourceManager/Compute/Commands.Compute/Usage/GetAzureVMUsageCommand.cs index bd0d05101a22..00ca0bb09731 100644 --- a/src/ResourceManager/Compute/Commands.Compute/Usage/GetAzureVMUsageCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/Usage/GetAzureVMUsageCommand.cs @@ -34,9 +34,9 @@ public class GetAzureVMUsageCommand : VirtualMachineUsageBaseCmdlet [ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/RestartAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/RestartAzureVMCommand.cs index 7c9bf3e7bbb8..89b73bca3e1e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/RestartAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/RestartAzureVMCommand.cs @@ -32,9 +32,9 @@ public class RestartAzureVMCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SaveAzureVMImageCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SaveAzureVMImageCommand.cs index dd2524bc894d..a89ddf148689 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SaveAzureVMImageCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SaveAzureVMImageCommand.cs @@ -66,9 +66,9 @@ public class SaveAzureVMImageCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public string Path { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SetAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SetAzureVMCommand.cs index b0132e1a39e9..768d9c59a21e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SetAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/SetAzureVMCommand.cs @@ -38,9 +38,9 @@ public class SetAzureVMCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Generalized { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StartAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StartAzureVMCommand.cs index f1de78c1ae0e..c34b72382d98 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StartAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StartAzureVMCommand.cs @@ -32,9 +32,9 @@ public class StartAzureVMCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StopAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StopAzureVMCommand.cs index bcb1df5fa81e..32a808a666dd 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StopAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/StopAzureVMCommand.cs @@ -46,13 +46,13 @@ public class StopAzureVMCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter StayProvisioned { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.VirtualMachineStoppingConfirmation, Properties.Resources.VirtualMachineStoppingCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineStoppingConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineStoppingCaption)) { Action> call = f => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/VirtualMachineActionBaseCmdlet.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/VirtualMachineActionBaseCmdlet.cs index d65d8c776f8c..0705d199f7c5 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/VirtualMachineActionBaseCmdlet.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Action/VirtualMachineActionBaseCmdlet.cs @@ -40,9 +40,9 @@ public abstract class VirtualMachineActionBaseCmdlet : VirtualMachineBaseCmdlet [ValidateNotNullOrEmpty] public string Id { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.ParameterSetName.Equals(IdParameterSet)) { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMAdditionalUnattendContentCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMAdditionalUnattendContentCommand.cs index 161375107a22..f1bae838cd48 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMAdditionalUnattendContentCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMAdditionalUnattendContentCommand.cs @@ -30,7 +30,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.AdditionalUnattendContent), OutputType( typeof(PSVirtualMachine))] - public class NewAzureAdditionalUnattendContentCommand : AzurePSCmdlet + public class NewAzureAdditionalUnattendContentCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { private const string defaultComponentName = "Microsoft-Windows-Shell-Setup"; private const string defaultPassName = "oobeSystem"; @@ -59,7 +59,7 @@ public class NewAzureAdditionalUnattendContentCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string SettingName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.VM.OSProfile == null) { @@ -72,7 +72,7 @@ public override void ExecuteCmdlet() } else if (this.VM.OSProfile.WindowsConfiguration == null && this.VM.OSProfile.LinuxConfiguration != null) { - throw new ArgumentException(Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); } if (this.VM.OSProfile.WindowsConfiguration.AdditionalUnattendContents == null) diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMDataDiskCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMDataDiskCommand.cs index d40b40f117da..5737db843271 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMDataDiskCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMDataDiskCommand.cs @@ -26,7 +26,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.DataDisk), OutputType( typeof(PSVirtualMachine))] - public class AddAzureVMDataDiskCommand : AzurePSCmdlet + public class AddAzureVMDataDiskCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("VMProfile")] [Parameter( @@ -96,7 +96,7 @@ public class AddAzureVMDataDiskCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string SourceImageUri { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var storageProfile = this.VM.StorageProfile; diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMNetworkInterfaceCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMNetworkInterfaceCommand.cs index eca009e50699..128830306f13 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMNetworkInterfaceCommand.cs @@ -32,7 +32,7 @@ namespace Microsoft.Azure.Commands.Compute DefaultParameterSetName = NicIdParamSetName), OutputType( typeof(PSVirtualMachine))] - public class AddAzureVMNetworkInterfaceCommand : AzurePSCmdlet + public class AddAzureVMNetworkInterfaceCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { protected const string NicIdParamSetName = "GetNicFromNicId"; protected const string NicObjectParamSetName = "GetNicFromNicObject"; @@ -81,7 +81,7 @@ public class AddAzureVMNetworkInterfaceCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Primary { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var networkProfile = this.VM.NetworkProfile; diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSecretCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSecretCommand.cs index 1306297825c5..40d48a986342 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSecretCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSecretCommand.cs @@ -30,7 +30,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.VaultSecretGroup), OutputType( typeof(PSVirtualMachine))] - public class NewAzureVaultSecretGroupCommand : AzurePSCmdlet + public class NewAzureVaultSecretGroupCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("VMProfile")] [Parameter( @@ -64,7 +64,7 @@ public class NewAzureVaultSecretGroupCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string CertificateUrl { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.VM.OSProfile == null) { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSshPublicKeyCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSshPublicKeyCommand.cs index 1375dffe9d87..6a853c262354 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSshPublicKeyCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/AddAzureVMSshPublicKeyCommand.cs @@ -30,7 +30,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.SshPublicKey), OutputType( typeof(PSVirtualMachine))] - public class NewAzureSshPublicKeyCommand : AzurePSCmdlet + public class NewAzureSshPublicKeyCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("VMProfile")] [Parameter( @@ -56,7 +56,7 @@ public class NewAzureSshPublicKeyCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string Path { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.VM.OSProfile == null) @@ -70,7 +70,7 @@ public override void ExecuteCmdlet() } else if (this.VM.OSProfile.WindowsConfiguration != null && this.VM.OSProfile.LinuxConfiguration == null) { - throw new ArgumentException(Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); } if (this.VM.OSProfile.LinuxConfiguration.SshConfiguration == null) diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs index 2f88fa1fd386..dd2e6cc62526 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/NewAzureVMConfigCommand.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.VirtualMachineConfig), OutputType( typeof(PSVirtualMachine))] - public class NewAzureVMConfigCommand : AzurePSCmdlet + public class NewAzureVMConfigCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("ResourceName", "Name")] [Parameter( @@ -51,7 +51,12 @@ public class NewAzureVMConfigCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string AvailabilitySetId { get; set; } - public override void ExecuteCmdlet() + protected override bool IsUsageMetricEnabled + { + get { return true; } + } + + protected override void ProcessRecord() { var vm = new PSVirtualMachine { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMDataDiskCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMDataDiskCommand.cs index 3bf04bfbb364..e20be44a38f8 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMDataDiskCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMDataDiskCommand.cs @@ -26,7 +26,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.DataDisk), OutputType( typeof(PSVirtualMachine))] - public class RemoveAzureVMDataDiskCommand : AzurePSCmdlet + public class RemoveAzureVMDataDiskCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("VMProfile")] [Parameter( @@ -47,7 +47,7 @@ public class RemoveAzureVMDataDiskCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string[] DataDiskNames { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var storageProfile = this.VM.StorageProfile; diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMNetworkInterfaceCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMNetworkInterfaceCommand.cs index a3d6e2ea941e..4930f2a3e84a 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/RemoveAzureVMNetworkInterfaceCommand.cs @@ -29,7 +29,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.NetworkInterface), OutputType( typeof(PSVirtualMachine))] - public class RemoveAzureVMNetworkInterfaceCommand : AzurePSCmdlet + public class RemoveAzureVMNetworkInterfaceCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { [Alias("VMProfile")] [Parameter( @@ -50,7 +50,7 @@ public class RemoveAzureVMNetworkInterfaceCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string[] NetworkInterfaceIDs { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var networkProfile = this.VM.NetworkProfile; diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMDataDiskCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMDataDiskCommand.cs index 9da45e2d5b0f..0b330cc5dc4d 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMDataDiskCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMDataDiskCommand.cs @@ -29,7 +29,7 @@ namespace Microsoft.Azure.Commands.Compute ProfileNouns.DataDisk), OutputType( typeof(PSVirtualMachine))] - public class SetAzureVMDataDiskCommand : AzurePSCmdlet + public class SetAzureVMDataDiskCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { private const string NameParameterSet = "ChangeWithName"; private const string LunParameterSet = "ChangeWithLun"; @@ -79,7 +79,7 @@ public class SetAzureVMDataDiskCommand : AzurePSCmdlet [AllowNull] public int? DiskSizeInGB { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var storageProfile = this.VM.StorageProfile; @@ -122,7 +122,7 @@ private void ThrowDataDiskNotExistError() ThrowTerminatingError (new ErrorRecord( new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, - Properties.Resources.DataDiskNotAssignedForVM, missingDisk)), + Microsoft.Azure.Commands.Compute.Properties.Resources.DataDiskNotAssignedForVM, missingDisk)), string.Empty, ErrorCategory.InvalidData, null)); diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOSDiskCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOSDiskCommand.cs index 05b9738007bb..1226f5500a93 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOSDiskCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOSDiskCommand.cs @@ -28,7 +28,7 @@ namespace Microsoft.Azure.Commands.Compute DefaultParameterSetName = WindowsParamSet), OutputType( typeof(PSVirtualMachine))] - public class SetAzureVMOSDiskCommand : AzurePSCmdlet + public class SetAzureVMOSDiskCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { protected const string WindowsParamSet = "WindowsParamSet"; protected const string LinuxParamSet = "LinuxParamSet"; @@ -99,7 +99,7 @@ public class SetAzureVMOSDiskCommand : AzurePSCmdlet HelpMessage = HelpMessages.VMOSDiskLinuxOSType)] public SwitchParameter Linux { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.VM.StorageProfile == null) { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOperatingSystemCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOperatingSystemCommand.cs index 1d78d7f67d72..e4c159935c60 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOperatingSystemCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMOperatingSystemCommand.cs @@ -33,7 +33,7 @@ namespace Microsoft.Azure.Commands.Compute DefaultParameterSetName = WindowsParamSet), OutputType( typeof(PSVirtualMachine))] - public class SetAzureVMOperatingSystemCommand : AzurePSCmdlet + public class SetAzureVMOperatingSystemCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { protected const string WindowsParamSet = "Windows"; protected const string LinuxParamSet = "Linux"; @@ -146,7 +146,7 @@ public class SetAzureVMOperatingSystemCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public SwitchParameter DisablePasswordAuthentication { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.VM.OSProfile = new OSProfile { @@ -160,7 +160,7 @@ public override void ExecuteCmdlet() { if (this.VM.OSProfile.WindowsConfiguration != null) { - throw new ArgumentException(Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); } if (this.VM.OSProfile.LinuxConfiguration == null) @@ -177,7 +177,7 @@ public override void ExecuteCmdlet() { if (this.VM.OSProfile.LinuxConfiguration != null) { - throw new ArgumentException(Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); + throw new ArgumentException(Microsoft.Azure.Commands.Compute.Properties.Resources.BothWindowsAndLinuxConfigurationsSpecified); } if (this.VM.OSProfile.WindowsConfiguration == null) diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMSourceImage.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMSourceImage.cs index 345b9bef4370..48fc642d9a73 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMSourceImage.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Config/SetAzureVMSourceImage.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Compute { [Cmdlet(VerbsCommon.Set, ProfileNouns.SourceImage, DefaultParameterSetName = ImageReferenceParameterSet), OutputType(typeof(PSVirtualMachine))] - public class SetAzureVMSourceImageCommand : AzurePSCmdlet + public class SetAzureVMSourceImageCommand : Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet { protected const string ImageReferenceParameterSet = "ImageReferenceParameterSet"; @@ -49,7 +49,7 @@ public class SetAzureVMSourceImageCommand : AzurePSCmdlet [ValidateNotNullOrEmpty] public string Version { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.VM.StorageProfile == null) { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/GetAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/GetAzureVMCommand.cs index 225e69f0bb76..12ba389e27c4 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/GetAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/GetAzureVMCommand.cs @@ -68,9 +68,9 @@ public class GetAzureVMCommand : VirtualMachineBaseCmdlet [ValidateNotNullOrEmpty] public Uri NextLink { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs index 302e70ab6c53..59f4bffb3244 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs @@ -41,9 +41,9 @@ public class NewAzureVMCommand : VirtualMachineBaseCmdlet [Parameter(ValueFromPipelineByPropertyName = true)] public Hashtable[] Tags { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/RemoveAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/RemoveAzureVMCommand.cs index 698bd6d976d7..43650269c5d5 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/RemoveAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/RemoveAzureVMCommand.cs @@ -39,12 +39,12 @@ public class RemoveAzureVMCommand : VirtualMachineActionBaseCmdlet [ValidateNotNullOrEmpty] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { - if (this.Force.IsPresent || this.ShouldContinue(Properties.Resources.VirtualMachineRemovalConfirmation, Properties.Resources.VirtualMachineRemovalCaption)) + if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineRemovalCaption)) { var op = this.VirtualMachineClient.Delete(this.ResourceGroupName, this.Name); var result = Mapper.Map(op); diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/UpdateAzureVMCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/UpdateAzureVMCommand.cs index 39854a732895..7f2f5bfe3f9e 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/UpdateAzureVMCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/UpdateAzureVMCommand.cs @@ -33,9 +33,9 @@ public class UpdateAzureVMCommand : VirtualMachineActionBaseCmdlet [Parameter(ValueFromPipelineByPropertyName = true)] public Hashtable[] Tags { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/VirtualMachineSizes/GetAzureVMSizeCommand.cs b/src/ResourceManager/Compute/Commands.Compute/VirtualMachineSizes/GetAzureVMSizeCommand.cs index da2bfe171ccb..4be486a6cc83 100644 --- a/src/ResourceManager/Compute/Commands.Compute/VirtualMachineSizes/GetAzureVMSizeCommand.cs +++ b/src/ResourceManager/Compute/Commands.Compute/VirtualMachineSizes/GetAzureVMSizeCommand.cs @@ -72,9 +72,9 @@ public class GetAzureVMSizeCommand : VirtualMachineSizeBaseCmdlet [ValidateNotNullOrEmpty] public string VMName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ExecuteClientAction(() => { diff --git a/src/ResourceManager/Compute/Commands.Compute/packages.config b/src/ResourceManager/Compute/Commands.Compute/packages.config index 8df2e9cb0fc6..5505de6d3540 100644 --- a/src/ResourceManager/Compute/Commands.Compute/packages.config +++ b/src/ResourceManager/Compute/Commands.Compute/packages.config @@ -3,13 +3,14 @@ - + - + + - + @@ -25,4 +26,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/AzureRM.DataFactories.psd1 b/src/ResourceManager/DataFactories/AzureRM.DataFactories.psd1 new file mode 100644 index 000000000000..795582c128a3 --- /dev/null +++ b/src/ResourceManager/DataFactories/AzureRM.DataFactories.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.DataFactories' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'e3c0f6bc-fe96-41a0-88f4-5e490a91f05d' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - DataFactories' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.DataFactories.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.DataFactories.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 dae5e40fd003..376f19a1e47a 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Commands.DataFactories.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,7 @@ ..\..\..\ true - 018d64c7 + 1513e0d4 true @@ -49,8 +49,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -59,9 +59,13 @@ ..\..\..\packages\Microsoft.Azure.Gallery.2.6.0-preview\lib\net40\Microsoft.Azure.Gallery.dll ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + + False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.DataFactories.3.0.0\lib\net45\Microsoft.Azure.Management.DataFactories.dll @@ -73,11 +77,11 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -156,11 +160,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -279,25 +284,17 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {bc420543-c04e-4bf3-96e1-cd81b823bdd7} - Commands.Test.Utilities + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {9577252e-0a6b-4d61-86e8-95f7f309a987} @@ -311,15 +308,11 @@ - - - - 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/ResourceManager/DataFactories/Commands.DataFactories.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Properties/AssemblyInfo.cs index b820f65d78dd..e4c9beff79b1 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/Properties/AssemblyInfo.cs @@ -14,6 +14,7 @@ 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 @@ -23,7 +24,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Microsoft.Azure.Commands.DataFactories.Test")] -[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] +[assembly: AssemblyCopyright("Microsoft Corporation")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -31,5 +32,5 @@ [assembly: Guid("8E86B542-B22F-44B6-8053-3F5118E04DEA")] -[assembly: AssemblyVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] -[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] +[assembly: AssemblyVersion("1.0.0")] +[assembly: AssemblyFileVersion("1.0.0")] diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/Common.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/Common.ps1 index b7f11cff6a1c..1c2812720e94 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/Common.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/Common.ps1 @@ -47,7 +47,7 @@ Cleans the created data factory function Clean-DataFactory($rgname, $dfname) { if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) { - Remove-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Force + Remove-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Force } } @@ -57,5 +57,5 @@ Cleans the created tags #> function Clean-Tags { - Get-AzureTag | Remove-AzureTag -Force + Get-AzureRMTag | Remove-AzureRMTag -Force } diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoriesScenarioTestsBase.cs b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoriesScenarioTestsBase.cs index faf5a4a863d0..45163ce54a35 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoriesScenarioTestsBase.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoriesScenarioTestsBase.cs @@ -12,6 +12,7 @@ // limitations under the License. // ---------------------------------------------------------------------------------- +using System.Collections.Generic; using Microsoft.Azure.Common.Authentication; using Microsoft.Azure.Gallery; using Microsoft.Azure.Management.Authorization; @@ -23,10 +24,11 @@ using Microsoft.WindowsAzure.Commands.Utilities.Common; using Microsoft.WindowsAzure.Management.Storage; using Microsoft.Azure.Test; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; namespace Microsoft.Azure.Commands.DataFactories.Test { - public abstract class DataFactoriesScenarioTestsBase + public abstract class DataFactoriesScenarioTestsBase : RMTestBase { private EnvironmentSetupHelper helper; @@ -52,7 +54,9 @@ protected void SetupManagementClients() protected void RunPowerShellTest(params string[] scripts) { - HttpMockServer.Matcher = new PermissiveRecordMatcher(); + Dictionary d = new Dictionary(); + d.Add("Microsoft.Authorization", "2014-07-01-preview"); + HttpMockServer.Matcher = new PermissiveRecordMatcherWithApiExclusion(false, d); using (UndoContext context = UndoContext.Current) { context.Start(TestUtilities.GetCallingClass(2), TestUtilities.GetCurrentMethodName(2)); diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.cs b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.cs index 31cc13633ea5..190de79f051a 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.DataFactories.Test { public class DataFactoryGatewayTests : DataFactoriesScenarioTestsBase { - [Fact] + [Fact(Skip = "test takes too long (more than 5 sec)")] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestGetNonExistingDataFactoryGateway() { @@ -32,7 +32,7 @@ public void TestCreateDataFactoryGateway() RunPowerShellTest("Test-DataFactoryGateway"); } - [Fact] + [Fact(Skip = "test takes too long (more than 5 sec)")] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestCreateDataFactoryGatewayWithDataFactoryParameter() { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.ps1 index 691e709a80c8..1e729153f8ee 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryGatewayTests.ps1 @@ -22,11 +22,11 @@ function Test-GetNonExistingDataFactoryGateway $rgname = Get-ResourceGroupName $rglocation = Get-ProviderLocation ResourceManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force - New-AzureDataFactory -Name $dfname -Location $rglocation -ResourceGroup $rgname -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMDataFactory -Name $dfname -Location $rglocation -ResourceGroup $rgname -Force # Test - Assert-ThrowsContains { Get-AzureDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name "gwname" } "GatewayNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name "gwname" } "GatewayNotFound" } <# @@ -41,27 +41,27 @@ function Test-DataFactoryGateway $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $gwname = "foo" $description = "description" - $actual = New-AzureDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname - $expected = Get-AzureDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname + $actual = New-AzureRMDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname + $expected = Get-AzureRMDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname Assert-AreEqual $actual.Name $expected.Name - $key = New-AzureDataFactoryGatewayKey -ResourceGroupName $rgname -DataFactoryName $dfname -GatewayName $gwname + $key = New-AzureRMDataFactoryGatewayKey -ResourceGroupName $rgname -DataFactoryName $dfname -GatewayName $gwname Assert-NotNull $key Assert-NotNull $key.Gatewaykey - $result = Set-AzureDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname -Description $description + $result = Set-AzureRMDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname -Description $description Assert-AreEqual $result.Description $description - Remove-AzureDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname -Force + Remove-AzureRMDataFactoryGateway -ResourceGroupName $rgname -DataFactoryName $dfname -Name $gwname -Force } finally { @@ -81,27 +81,27 @@ function Test-DataFactoryGatewayWithDataFactoryParameter $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - $datafactory = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + $datafactory = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $gwname = "foo" $description = "description" - $actual = New-AzureDataFactoryGateway -DataFactory $datafactory -Name $gwname - $expected = Get-AzureDataFactoryGateway -DataFactory $datafactory -Name $gwname + $actual = New-AzureRMDataFactoryGateway -DataFactory $datafactory -Name $gwname + $expected = Get-AzureRMDataFactoryGateway -DataFactory $datafactory -Name $gwname Assert-AreEqual $actual.Name $expected.Name - $key = New-AzureDataFactoryGatewayKey -DataFactory $datafactory -GatewayName $gwname + $key = New-AzureRMDataFactoryGatewayKey -DataFactory $datafactory -GatewayName $gwname Assert-NotNull $key Assert-NotNull $key.Gatewaykey - $result = Set-AzureDataFactoryGateway -DataFactory $datafactory -Name $gwname -Description $description + $result = Set-AzureRMDataFactoryGateway -DataFactory $datafactory -Name $gwname -Description $description Assert-AreEqual $result.Description $description - Remove-AzureDataFactoryGateway -DataFactory $datafactory -Name $gwname -Force + Remove-AzureRMDataFactoryGateway -DataFactory $datafactory -Name $gwname -Force } finally { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryTests.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryTests.ps1 index 38e06a114800..f9f32de08bf3 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryTests.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/DataFactoryTests.ps1 @@ -22,10 +22,10 @@ function Test-GetNonExistingDataFactory $rgname = Get-ResourceGroupName $rglocation = Get-ProviderLocation ResourceManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force # Test - Assert-ThrowsContains { Get-AzureDataFactory -ResourceGroupName $rgname -Name $dfname } "ResourceNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname } "ResourceNotFound" } <# @@ -40,12 +40,12 @@ function Test-CreateDataFactory $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - $actual = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - $expected = Get-AzureDataFactory -ResourceGroupName $rgname -Name $dfname + $actual = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + $expected = Get-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName @@ -67,10 +67,10 @@ function Test-DeleteDataFactoryWithDataFactoryParameter $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force - $df = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - Remove-AzureDataFactory -DataFactory $df -Force + $df = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + Remove-AzureRMDataFactory -DataFactory $df -Force } <# @@ -84,12 +84,12 @@ function Test-DataFactoryPiping $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - Get-AzureDataFactory -ResourceGroupName $rgname | Remove-AzureDataFactory -Force + Get-AzureRMDataFactory -ResourceGroupName $rgname | Remove-AzureRMDataFactory -Force # Test the data factory no longer exists - Assert-ThrowsContains { Get-AzureDataFactory -ResourceGroupName $rgname -Name $dfname } "ResourceNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname } "ResourceNotFound" } \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/HubTests.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/HubTests.ps1 index 50f99539f686..782b98bc38bd 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/HubTests.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/HubTests.ps1 @@ -24,22 +24,22 @@ function Test-Hub $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $hubname = "SampleHub" - $actual = New-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -File .\Resources\hub.json -Force - $expected = Get-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname + $actual = New-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -File .\Resources\hub.json -Force + $expected = Get-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.HubName $actual.HubName - Remove-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -Force + Remove-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -Force } finally { @@ -60,22 +60,22 @@ function Test-HubWithDataFactoryParameter $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - $df = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + $df = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $hubname = "SampleHub" - $actual = New-AzureDataFactoryHub -DataFactory $df -Name $hubname -File .\Resources\hub.json -Force - $expected = Get-AzureDataFactoryHub -DataFactory $df -Name $hubname + $actual = New-AzureRMDataFactoryHub -DataFactory $df -Name $hubname -File .\Resources\hub.json -Force + $expected = Get-AzureRMDataFactoryHub -DataFactory $df -Name $hubname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.HubName $actual.HubName - Remove-AzureDataFactoryHub -DataFactory $df -Name $hubname -Force + Remove-AzureRMDataFactoryHub -DataFactory $df -Name $hubname -Force } finally { @@ -94,20 +94,20 @@ function Test-HubPiping $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $hubname = "SampleHub" - New-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -File .\Resources\hub.json -Force + New-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname -File .\Resources\hub.json -Force - Get-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname | Remove-AzureDataFactoryHub -Force + Get-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname | Remove-AzureRMDataFactoryHub -Force # Test the hub no longer exists - Assert-ThrowsContains { Get-AzureDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname } "HubNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactoryHub -ResourceGroupName $rgname -DataFactoryName $dfname -Name $hubname } "HubNotFound" } finally { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/LinkedServiceTests.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/LinkedServiceTests.ps1 index 6d72dde0f95e..e618ec85e9ce 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/LinkedServiceTests.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/LinkedServiceTests.ps1 @@ -24,22 +24,22 @@ function Test-LinkedService $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $lsname = "foo" - $actual = New-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -File .\Resources\linkedService.json -Force - $expected = Get-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname + $actual = New-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -File .\Resources\linkedService.json -Force + $expected = Get-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.LinkedServiceName $actual.LinkedServiceName - Remove-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -Force + Remove-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -Force } finally { @@ -60,22 +60,22 @@ function Test-LinkedServiceWithDataFactoryParameter $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - $df = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + $df = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $lsname = "foo" - $actual = New-AzureDataFactoryLinkedService -DataFactory $df -Name $lsname -File .\Resources\linkedService.json -Force - $expected = Get-AzureDataFactoryLinkedService -DataFactory $df -Name $lsname + $actual = New-AzureRMDataFactoryLinkedService -DataFactory $df -Name $lsname -File .\Resources\linkedService.json -Force + $expected = Get-AzureRMDataFactoryLinkedService -DataFactory $df -Name $lsname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.LinkedServiceName $actual.LinkedServiceName - Remove-AzureDataFactoryLinkedService -DataFactory $df -Name $lsname -Force + Remove-AzureRMDataFactoryLinkedService -DataFactory $df -Name $lsname -Force } finally { @@ -94,20 +94,20 @@ function Test-LinkedServicePiping $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force $lsname = "foo" - New-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -File .\Resources\linkedService.json -Force + New-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname -File .\Resources\linkedService.json -Force - Get-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname | Remove-AzureDataFactoryLinkedService -Force + Get-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname | Remove-AzureRMDataFactoryLinkedService -Force # Test the linked service no longer exists - Assert-ThrowsContains { Get-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname } "LinkedServiceNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -Name $lsname } "LinkedServiceNotFound" } finally { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/TableTests.ps1 b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/TableTests.ps1 index 9756c8c5449e..8275f0a60b34 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/TableTests.ps1 +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/ScenarioTests/TableTests.ps1 @@ -24,23 +24,23 @@ function Test-Table $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - New-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force + New-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force $datasetname = "foo2" - $actual = New-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -File .\Resources\dataset.json -Force - $expected = Get-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname + $actual = New-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -File .\Resources\dataset.json -Force + $expected = Get-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.DatasetName $actual.DatasetName - Remove-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -Force + Remove-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -Force } finally { @@ -61,23 +61,23 @@ function Test-TableWithDataFactoryParameter $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - $df = New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + $df = New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - New-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force + New-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force $datasetname = "foo2" - $actual = New-AzureDataFactoryDataset -DataFactory $df -Name $datasetname -File .\Resources\dataset.json -Force - $expected = Get-AzureDataFactoryDataset -DataFactory $df -Name $datasetname + $actual = New-AzureRMDataFactoryDataset -DataFactory $df -Name $datasetname -File .\Resources\dataset.json -Force + $expected = Get-AzureRMDataFactoryDataset -DataFactory $df -Name $datasetname Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName Assert-AreEqual $expected.DataFactoryName $actual.DataFactoryName Assert-AreEqual $expected.DatasetName $actual.DatasetName - Remove-AzureDataFactoryDataset -DataFactory $df -Name $datasetname -Force + Remove-AzureRMDataFactoryDataset -DataFactory $df -Name $datasetname -Force } finally { @@ -96,22 +96,22 @@ function Test-TablePiping $rglocation = Get-ProviderLocation ResourceManagement $dflocation = Get-ProviderLocation DataFactoryManagement - New-AzureResourceGroup -Name $rgname -Location $rglocation -Force + New-AzureRMResourceGroup -Name $rgname -Location $rglocation -Force try { - New-AzureDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force + New-AzureRMDataFactory -ResourceGroupName $rgname -Name $dfname -Location $dflocation -Force - New-AzureDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force + New-AzureRMDataFactoryLinkedService -ResourceGroupName $rgname -DataFactoryName $dfname -File .\Resources\linkedService.json -Force $datasetname = "foo2" - New-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -File .\Resources\dataset.json -Force + New-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname -File .\Resources\dataset.json -Force - Get-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname | Remove-AzureDataFactoryDataset -Force + Get-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname | Remove-AzureRMDataFactoryDataset -Force # Test the dataset no longer exists # TODO bgold09: change expected error message to "DatasetNotFound" after service error messages have been updated - Assert-ThrowsContains { Get-AzureDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname } "TableNotFound" + Assert-ThrowsContains { Get-AzureRMDataFactoryDataset -ResourceGroupName $rgname -DataFactoryName $dfname -Name $datasetname } "TableNotFound" } finally { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/UnitTests/DataFactoryUnitTestBase.cs b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/UnitTests/DataFactoryUnitTestBase.cs index 6115f7109917..e470e134188f 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/UnitTests/DataFactoryUnitTestBase.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/UnitTests/DataFactoryUnitTestBase.cs @@ -13,11 +13,12 @@ // ---------------------------------------------------------------------------------- using System.Management.Automation; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; using Moq; namespace Microsoft.Azure.Commands.DataFactories.Test { - public class DataFactoryUnitTestBase + public class DataFactoryUnitTestBase : RMTestBase { protected const string subscriptionId = "subscriptionid"; diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/packages.config b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/packages.config index c4f53e48c333..41db87b08c75 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories.Test/packages.config +++ b/src/ResourceManager/DataFactories/Commands.DataFactories.Test/packages.config @@ -2,14 +2,15 @@ - + - - + + - - + + + @@ -28,5 +29,5 @@ - - + + \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Commands.DataFactories.csproj b/src/ResourceManager/DataFactories/Commands.DataFactories/Commands.DataFactories.csproj index 42fdff44f884..9122dc9c6f05 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Commands.DataFactories.csproj +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Commands.DataFactories.csproj @@ -20,7 +20,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\DataFactories + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.DataFactories DEBUG;TRACE prompt 4 @@ -29,7 +29,7 @@ false - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\DataFactories + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.DataFactories TRACE;SIGN true pdbonly @@ -55,12 +55,16 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + ..\..\..\packages\Microsoft.Azure.Management.DataFactories.3.0.0\lib\net45\Microsoft.Azure.Management.DataFactories.dll True @@ -230,26 +234,16 @@ - - - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} - Commands.Common.Storage - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c60342b1-47d3-4a0e-8081-9b97ce60b7af} - Commands.Profile - - Designer Always + + AzureRM.DataFactories.psd1 + PreserveNewest + Designer @@ -268,11 +262,13 @@ Designer + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + - - - - \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Constants.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Constants.cs index eb5f06e311be..6b25c2a91d8b 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Constants.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Constants.cs @@ -20,30 +20,30 @@ internal static class Constants { public static readonly TimeSpan DefaultSliceActivePeriodDuration = TimeSpan.FromHours(48); - public const string DataFactory = "AzureDataFactory"; + public const string DataFactory = "AzureRMDataFactory"; - public const string LinkedService = "AzureDataFactoryLinkedService"; + public const string LinkedService = "AzureRMDataFactoryLinkedService"; - public const string Gateway = "AzureDataFactoryGateway"; + public const string Gateway = "AzureRMDataFactoryGateway"; - public const string GatewayKey = "AzureDataFactoryGatewayKey"; + public const string GatewayKey = "AzureRMDataFactoryGatewayKey"; - public const string EncryptString = "AzureDataFactoryEncryptValue"; + public const string EncryptString = "AzureRMDataFactoryEncryptValue"; - public const string Dataset = "AzureDataFactoryDataset"; + public const string Dataset = "AzureRMDataFactoryDataset"; - public const string Pipeline = "AzureDataFactoryPipeline"; + public const string Pipeline = "AzureRMDataFactoryPipeline"; - public const string PipelineActivePeriod = "AzureDataFactoryPipelineActivePeriod"; + public const string PipelineActivePeriod = "AzureRMDataFactoryPipelineActivePeriod"; - public const string Run = "AzureDataFactoryRun"; + public const string Run = "AzureRMDataFactoryRun"; - public const string DataSlice = "AzureDataFactorySlice"; + public const string DataSlice = "AzureRMDataFactorySlice"; - public const string SliceStatus = "AzureDataFactorySliceStatus"; + public const string SliceStatus = "AzureRMDataFactorySliceStatus"; - public const string Hub = "AzureDataFactoryHub"; + public const string Hub = "AzureRMDataFactoryHub"; - public const string RunLog = "AzureDataFactoryLog"; + public const string RunLog = "AzureRMDataFactoryLog"; } } \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/GetAzureDataFactoryCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/GetAzureDataFactoryCommand.cs index 4391c09efbf6..ccefc30c1d96 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/GetAzureDataFactoryCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/GetAzureDataFactoryCommand.cs @@ -29,7 +29,7 @@ public class GetAzureDataFactoryCommand : DataFactoryBaseCmdlet public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // ValidationNotNullOrEmpty doesn't handle whitespaces well if (Name != null && string.IsNullOrWhiteSpace(Name)) diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/NewAzureDataFactoryCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/NewAzureDataFactoryCommand.cs index bd6e0676fb78..7b92efa0f00a 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/NewAzureDataFactoryCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/NewAzureDataFactoryCommand.cs @@ -40,7 +40,7 @@ public class NewAzureDataFactoryCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { CreatePSDataFactoryParameters parameters = new CreatePSDataFactoryParameters() { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/RemoveAzureDataFactoryCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/RemoveAzureDataFactoryCommand.cs index 213d73f87646..b4506026b75d 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/RemoveAzureDataFactoryCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactories/RemoveAzureDataFactoryCommand.cs @@ -37,7 +37,7 @@ public class RemoveAzureDataFactoryCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactoryBaseCmdlet.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactoryBaseCmdlet.cs index b8f5c76e11de..db2c693061d9 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactoryBaseCmdlet.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataFactoryBaseCmdlet.cs @@ -19,10 +19,11 @@ using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Commands.Utilities.Common; using Hyak.Common; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.DataFactories { - public abstract class DataFactoryBaseCmdlet : AzurePSCmdlet + public abstract class DataFactoryBaseCmdlet : AzureRMCmdlet { private DataFactoryClient dataFactoryClient; @@ -40,7 +41,7 @@ internal DataFactoryClient DataFactoryClient { if (this.dataFactoryClient == null) { - this.dataFactoryClient = new DataFactoryClient(Profile); + this.dataFactoryClient = new DataFactoryClient(DefaultContext); } return this.dataFactoryClient; } diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactoryRunCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactoryRunCommand.cs index c7c56aa88409..42e95be4179d 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactoryRunCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactoryRunCommand.cs @@ -44,7 +44,7 @@ public class GetAzureDataFactoryRunCommand : DataFactoryBaseCmdlet public DateTime StartDateTime { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactorySliceCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactorySliceCommand.cs index 3d013b2eb6e8..6c187ea7726f 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactorySliceCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/GetAzureDataFactorySliceCommand.cs @@ -46,7 +46,7 @@ public DateTime EndDateTime } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SaveAzureDataFactoryLog.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SaveAzureDataFactoryLog.cs index d3511b8341f7..6ebb0cf092b5 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SaveAzureDataFactoryLog.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SaveAzureDataFactoryLog.cs @@ -48,7 +48,7 @@ public class SaveAzureDataFactoryLog : DataFactoryBaseCmdlet public string Output { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SetAzureDataFactorySliceStatusCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SetAzureDataFactorySliceStatusCommand.cs index 4b2087870c76..1f12bbcb9207 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SetAzureDataFactorySliceStatusCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/DataSlices/SetAzureDataFactorySliceStatusCommand.cs @@ -68,7 +68,7 @@ public string UpdateType } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/GetAzureDataFactoryDatasetCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/GetAzureDataFactoryDatasetCommand.cs index cecc213d5643..01fa855dd572 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/GetAzureDataFactoryDatasetCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/GetAzureDataFactoryDatasetCommand.cs @@ -39,7 +39,7 @@ public class GetAzureDataFactoryDatasetCommand : DataFactoryBaseCmdlet public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // ValidationNotNullOrEmpty doesn't handle whitespaces well if (Name != null && string.IsNullOrWhiteSpace(Name)) diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/NewAzureDataFactoryDatasetCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/NewAzureDataFactoryDatasetCommand.cs index af21f8f3c7b4..537928c3330f 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/NewAzureDataFactoryDatasetCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/NewAzureDataFactoryDatasetCommand.cs @@ -45,7 +45,7 @@ public class NewAzureDataFactoryDatasetCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/RemoveAzureDataFactoryDatasetCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/RemoveAzureDataFactoryDatasetCommand.cs index a23744b7e384..40fb181c702b 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/RemoveAzureDataFactoryDatasetCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Datasets/RemoveAzureDataFactoryDatasetCommand.cs @@ -27,7 +27,7 @@ public class RemoveAzureDataFactoryDatasetCommand : DatasetContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Encrypt/NewAzureDataFactoryEncryptValueCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Encrypt/NewAzureDataFactoryEncryptValueCommand.cs index b8ad8dbac32e..597b4eb616ab 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Encrypt/NewAzureDataFactoryEncryptValueCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Encrypt/NewAzureDataFactoryEncryptValueCommand.cs @@ -74,7 +74,7 @@ public class NewAzureDataFactoryEncryptValueCommand : DataFactoryBaseCmdlet public string Database { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/GetAzureDataFactoryGatewayCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/GetAzureDataFactoryGatewayCommand.cs index dc229072b55c..acd0abdfdc92 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/GetAzureDataFactoryGatewayCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/GetAzureDataFactoryGatewayCommand.cs @@ -41,7 +41,7 @@ public class GetAzureDataFactoryGatewayCommand : DataFactoryBaseCmdlet public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayCommand.cs index c3291f14b3c4..c8d5ca4c897f 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayCommand.cs @@ -44,7 +44,7 @@ public class NewAzureDataFactoryGatewayCommand : DataFactoryBaseCmdlet HelpMessage = "The description to update.")] public string Description { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayKeyCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayKeyCommand.cs index 7b33288d3427..2bed29a16eb4 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayKeyCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/NewAzureDataFactoryGatewayKeyCommand.cs @@ -37,7 +37,7 @@ public class NewAzureDataFactoryGatewayKeyCommand : DataFactoryBaseCmdlet [ValidateNotNullOrEmpty] public string GatewayName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/RemoveAzureDataFactoryGatewayCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/RemoveAzureDataFactoryGatewayCommand.cs index bb61e86dcdf9..1c2d33d88e39 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/RemoveAzureDataFactoryGatewayCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/RemoveAzureDataFactoryGatewayCommand.cs @@ -42,7 +42,7 @@ public class RemoveAzureDataFactoryGatewayCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/SetAzureDataFactoryGatewayCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/SetAzureDataFactoryGatewayCommand.cs index d6148b6380d5..d71f7a8920ec 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/SetAzureDataFactoryGatewayCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Gateway/SetAzureDataFactoryGatewayCommand.cs @@ -43,7 +43,7 @@ public class SetAzureDataFactoryGatewayCommand : DataFactoryBaseCmdlet public string Description { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/GetAzureDataFactoryHubCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/GetAzureDataFactoryHubCommand.cs index b18a7fd12e48..10363ec5926f 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/GetAzureDataFactoryHubCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/GetAzureDataFactoryHubCommand.cs @@ -30,7 +30,7 @@ public class GetAzureDataFactoryHubCommand : HubContextBaseCmdlet public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // ValidationNotNullOrEmpty doesn't handle whitespaces well if (Name != null && string.IsNullOrWhiteSpace(Name)) diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/NewAzureDataFactoryHubCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/NewAzureDataFactoryHubCommand.cs index d72036fa521f..ffc9f3edf3d8 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/NewAzureDataFactoryHubCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/NewAzureDataFactoryHubCommand.cs @@ -37,7 +37,7 @@ public class NewAzureDataFactoryHubCommand : HubContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/RemoveAzureDataFactoryHubCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/RemoveAzureDataFactoryHubCommand.cs index 268ae8733d3a..b8c2ca5020b3 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/RemoveAzureDataFactoryHubCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Hubs/RemoveAzureDataFactoryHubCommand.cs @@ -33,7 +33,7 @@ public class RemoveAzureDataFactoryHubCommand : HubContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/GetAzureDataFactoryLinkedServiceCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/GetAzureDataFactoryLinkedServiceCommand.cs index 3a06df309109..2ece4bbedcba 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/GetAzureDataFactoryLinkedServiceCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/GetAzureDataFactoryLinkedServiceCommand.cs @@ -39,7 +39,7 @@ public class GetAzureDataFactoryLinkedServiceCommand : DataFactoryBaseCmdlet public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // ValidationNotNullOrEmpty doesn't handle whitespaces well if (Name != null && string.IsNullOrWhiteSpace(Name)) diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/NewAzureDataFactoryLinkedServiceCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/NewAzureDataFactoryLinkedServiceCommand.cs index 9c9bec6cd93f..649e6bd2de1c 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/NewAzureDataFactoryLinkedServiceCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/NewAzureDataFactoryLinkedServiceCommand.cs @@ -47,7 +47,7 @@ public class NewAzureDataFactoryLinkedServiceCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/RemoveAzureDataFactoryLinkedServiceCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/RemoveAzureDataFactoryLinkedServiceCommand.cs index 0f23b00229b7..5d819385686c 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/RemoveAzureDataFactoryLinkedServiceCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/LinkedServices/RemoveAzureDataFactoryLinkedServiceCommand.cs @@ -27,7 +27,7 @@ public class RemoveAzureDataFactoryLinkedServiceCommand : LinkedServiceContextBa public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Microsoft.Azure.Commands.DataFactories.dll-Help.xml b/src/ResourceManager/DataFactories/Commands.DataFactories/Microsoft.Azure.Commands.DataFactories.dll-Help.xml index 8c513316ffee..af77e46e84a6 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Microsoft.Azure.Commands.DataFactories.dll-Help.xml +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Microsoft.Azure.Commands.DataFactories.dll-Help.xml @@ -3,7 +3,7 @@ - Get-AzureDataFactory + Get-AzureRMDataFactory Gets information about Data Factory. @@ -15,12 +15,12 @@ - The Get-AzureDataFactory cmdlet gets information about data factories in an Azure resource group. If you specify the name of a data factory, this cmdlet gets information about that data factory. If you do not specify a name, this cmdlet gets information about all of the data factories in an Azure resource group. + The Get-AzureRMDataFactory cmdlet gets information about data factories in an Azure resource group. If you specify the name of a data factory, this cmdlet gets information about that data factory. If you do not specify a name, this cmdlet gets information about all of the data factories in an Azure resource group. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactory + Get-AzureRMDataFactory ResourceGroupName @@ -96,7 +96,7 @@ - PS C:\> Get-AzureDataFactory -ResourceGroupName "ADF" + PS C:\> Get-AzureRMDataFactory -ResourceGroupName "ADF" DataFactoryName : WikiADF ResourceGroupName : ADF Location : WestUS @@ -124,7 +124,7 @@ - PS C:\> $DataFactory = Get-AzureDataFactory -ResourceGroupName "ADF" -Name "WikiADF" + PS C:\> $DataFactory = Get-AzureRMDataFactory -ResourceGroupName "ADF" -Name "WikiADF" DataFactoryName : WikiADF ResourceGroupName : ADF Location : westus @@ -143,18 +143,18 @@ - New-AzureDataFactory + New-AzureRMDataFactory - Remove-AzureDataFactory + Remove-AzureRMDataFactory - Get-AzureDataFactoryGateway + Get-AzureRMDataFactoryGateway Gets information about logical gateways in Data Factory. @@ -166,13 +166,13 @@ - The Get-AzureDataFactoryGateway cmdlet gets information about logical gateways in Azure Data Factory. If you specify the name of a gateway, this cmdlet gets information about that gateway. If you do not specify a name, this cmdlet gets information about all gateways for a data factory. + The Get-AzureRMDataFactoryGateway cmdlet gets information about logical gateways in Azure Data Factory. If you specify the name of a gateway, this cmdlet gets information about that gateway. If you do not specify a name, this cmdlet gets information about all gateways for a data factory. If you want to add an on-premises MicrosoftSQL Server as a linked service to a data factory, you must install a gateway on your on-premises computer. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactoryGateway + Get-AzureRMDataFactoryGateway ResourceGroupName @@ -196,7 +196,7 @@ - Get-AzureDataFactoryGateway + Get-AzureRMDataFactoryGateway DataFactory @@ -296,7 +296,7 @@ - PS C:\> Get-AzureDataFactoryGateway -ResourceGroupName "ADF" -DataFactoryName "WikiADF" + PS C:\> Get-AzureRMDataFactoryGateway -ResourceGroupName "ADF" -DataFactoryName "WikiADF" Name : gateway1 Description : Version : 1.3.5338.1 @@ -332,7 +332,7 @@ - PS C:\> Get-AzureDataFactoryGateway -ResourceGroupName "ADF" -Name "Gateway01" -DataFactoryName "WikiADF" + PS C:\> Get-AzureRMDataFactoryGateway -ResourceGroupName "ADF" -Name "Gateway01" -DataFactoryName "WikiADF" Name : Gateway01 Description : Version : 1.3.5338.1 @@ -355,22 +355,22 @@ - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway - Get-AzureDataFactoryHub + Get-AzureRMDataFactoryHub Gets information about hubs in Data Factory. @@ -382,12 +382,12 @@ - The Get-AzureDataFactoryHub cmdlet gets information about hubs in Azure Data Factory. If you specify the name of a hub, this cmdlet gets information about that hub. If you do not specify a name, this cmdlet gets information about all of the hubs in a data factory. + The Get-AzureRMDataFactoryHub cmdlet gets information about hubs in Azure Data Factory. If you specify the name of a hub, this cmdlet gets information about that hub. If you do not specify a name, this cmdlet gets information about all of the hubs in a data factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactoryHub + Get-AzureRMDataFactoryHub ResourceGroupName @@ -411,7 +411,7 @@ - Get-AzureDataFactoryHub + Get-AzureRMDataFactoryHub DataFactory @@ -515,7 +515,7 @@ - PS C:\>Get-AzureDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" + PS C:\>Get-AzureRMDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" @@ -533,7 +533,7 @@ - PS C:\>Get-AzureDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "MyDataHub" + PS C:\>Get-AzureRMDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "MyDataHub" @@ -553,18 +553,18 @@ - New-AzureDataFactoryHub + New-AzureRMDataFactoryHub - Remove-AzureDataFactoryHub + Remove-AzureRMDataFactoryHub - Get-AzureDataFactoryLinkedService + Get-AzureRMDataFactoryLinkedService Gets information about linked services in Data Factory. @@ -576,12 +576,12 @@ - The Get-AzureDataFactoryLinkedService cmdlet gets information about linked services in Azure Data Factory. If you specify the name of a linked service, this cmdlet gets information about that linked service. If you do not specify a name, this cmdlet gets information about all the linked services in the data factory. + The Get-AzureRMDataFactoryLinkedService cmdlet gets information about linked services in Azure Data Factory. If you specify the name of a linked service, this cmdlet gets information about that linked service. If you do not specify a name, this cmdlet gets information about all the linked services in the data factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactoryLinkedService + Get-AzureRMDataFactoryLinkedService ResourceGroupName @@ -605,7 +605,7 @@ - Get-AzureDataFactoryLinkedService + Get-AzureRMDataFactoryLinkedService DataFactory @@ -705,10 +705,10 @@ - PS C:\> Get-AzureDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" | Format-List + PS C:\> Get-AzureRMDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" | Format-List - PS C:\>$df = Get-AzureDataFactory -ResourceGroupName ADF -Name WikiADFGet-AzureDataFactoryLinkedService -DataFactory $df | format-list + PS C:\>$df = Get-AzureRMDataFactory -ResourceGroupName ADF -Name WikiADFGet-AzureRMDataFactoryLinkedService -DataFactory $df | format-list LinkedServiceName : HDILinkedService ResourceGroupName : ADF DataFactoryName : WikiADF @@ -750,7 +750,7 @@ - PS C:\> Get-AzureDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "HDILinkedService" + PS C:\> Get-AzureRMDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "HDILinkedService" LinkedServiceName ResourceGroupName DataFactoryName Properties ----------------- ----------------- --------------- ---------- HDILinkedService ADF WikiADF Microsoft.DataFactories.HDInsightBYOCAsset @@ -770,10 +770,10 @@ - PS C:\>$DataFactory = Get-AzureDataFactory -ResourceGroupName "ADF" -Name "ContosoFactory"PS C:\> Get-AzureDataFactoryLinkedService -DataFactory $DataFactory | Format-Table -Property LinkedServiceName, DataFactoryName, ResourceGroupName + PS C:\>$DataFactory = Get-AzureRMDataFactory -ResourceGroupName "ADF" -Name "ContosoFactory"PS C:\> Get-AzureRMDataFactoryLinkedService -DataFactory $DataFactory | Format-Table -Property LinkedServiceName, DataFactoryName, ResourceGroupName - The first command uses the Get-AzureDataFactory cmdlet to get the data factory named ContosoFactory, and then stores it in the $DataFactory variable. + The first command uses the Get-AzureRMDataFactory cmdlet to get the data factory named ContosoFactory, and then stores it in the $DataFactory variable. The second command gets information about the linked service for the data factory stored in $DataFactory, and then passes that information to the Format-Table cmdlet by using the pipeline operator. The Format-Table cmdlet formats the output as a dataset with the specified properties as dataset columns. @@ -785,18 +785,18 @@ - New-AzureDataFactoryLinkedService + New-AzureRMDataFactoryLinkedService - Remove-AzureDataFactoryLinkedService + Remove-AzureRMDataFactoryLinkedService - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline Gets information about pipelines in Data Factory. @@ -808,12 +808,12 @@ - The Get-AzureDataFactoryPipeline cmdlet gets information about pipelines in Azure Data Factory. If you specify the name of a pipeline, this cmdlet gets information about that pipeline. If you do not specify a name, this cmdlet gets information about all the pipelines in the data factory. + The Get-AzureRMDataFactoryPipeline cmdlet gets information about pipelines in Azure Data Factory. If you specify the name of a pipeline, this cmdlet gets information about that pipeline. If you do not specify a name, this cmdlet gets information about all the pipelines in the data factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline ResourceGroupName @@ -837,7 +837,7 @@ - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline DataFactory @@ -937,10 +937,10 @@ - PS C:\> Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -DataFactoryName "WikiADF" + PS C:\> Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -DataFactoryName "WikiADF" - PS C:\>$df = Get-AzureDataFactory -ResourceGroupName ADF -Name WikiADFGet-AzureDataFactoryPipeline -DataFactory $df + PS C:\>$df = Get-AzureRMDataFactory -ResourceGroupName ADF -Name WikiADFGet-AzureRMDataFactoryPipeline -DataFactory $df PipelineName ResourceGroupName DataFactoryName Properties ------------ ----------------- --------------- ---------- DPWikisample ADF WikiADF Microsoft.DataFactories.PipelineProperties @@ -961,7 +961,7 @@ - PS C:\> Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" | Format-List + PS C:\> Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" | Format-List PipelineName : DPWikisample ResourceGroupName : ADF DataFactoryName : WikiADF @@ -982,7 +982,7 @@ - PS C:\> (Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name DPWikisample -DataFactoryName "WikiADF").Properties + PS C:\> (Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name DPWikisample -DataFactoryName "WikiADF").Properties Activities : {WikiHiveActivity, BlobToSqlCopyActivity} Description : DP Wikipedia Sample Pipelines End : 6/6/2014 8:00:00 AM @@ -1005,7 +1005,7 @@ - PS C:\> (Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF").Properties.Activities + PS C:\> (Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF").Properties.Activities Transformation : Microsoft.DataFactories.HDInsightActivityProperties Description : Inputs : {DAWikipediaClickEvents} @@ -1037,7 +1037,7 @@ - PS C:\> (Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF").Properties.RuntimeInfo + PS C:\> (Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF").Properties.RuntimeInfo DeploymentTime -------------- 6/5/2014 10:36:46 PM @@ -1057,7 +1057,7 @@ - PS C:\> (Get-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF11").Properties.Activities[0].Inputs | Format-List + PS C:\> (Get-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF11").Properties.Activities[0].Inputs | Format-List EndTime : Length : Name : DAWikipediaClickEvents @@ -1075,30 +1075,30 @@ - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline - Get-AzureDataFactoryRun + Get-AzureRMDataFactoryRun Gets runs for a data slice of a dataset in Data Factory. @@ -1110,7 +1110,7 @@ - The Get-AzureDataFactoryRun cmdlet gets the runs for a data slice of a dataset in Azure Data Factory. A dataset in a data factory is composed of slices over the time axis. The width of a slice is determined by the schedule, either hourly or daily. A run is a unit of processing for a slice. There could be one or more runs for a slice in case of retries or in case you rerun your slice due to failures. A slice is identified by its start time. To obtain the start time of a slice, use the Get-AzureDataFactorySlice cmdlet. + The Get-AzureRMDataFactoryRun cmdlet gets the runs for a data slice of a dataset in Azure Data Factory. A dataset in a data factory is composed of slices over the time axis. The width of a slice is determined by the schedule, either hourly or daily. A run is a unit of processing for a slice. There could be one or more runs for a slice in case of retries or in case you rerun your slice due to failures. A slice is identified by its start time. To obtain the start time of a slice, use the Get-AzureRMDataFactorySlice cmdlet. For example, to get a run for the following slice, use the start time 2015-04-02T20:00:00. @@ -1127,7 +1127,7 @@ - Get-AzureDataFactoryRun + Get-AzureRMDataFactoryRun ResourceGroupName @@ -1161,7 +1161,7 @@ - Get-AzureDataFactoryRun + Get-AzureRMDataFactoryRun DataFactory @@ -1286,7 +1286,7 @@ - PS C:\> Get-AzureDataFactoryRun -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-21T16:00:00Z + PS C:\> Get-AzureRMDataFactoryRun -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-21T16:00:00Z Id : a7c4913c-9623-49b3-ae1e-3e45e2b68819 ResourceGroupName : ADF @@ -1319,14 +1319,14 @@ - Get-AzureDataFactorySlice + Get-AzureRMDataFactorySlice - Get-AzureDataFactorySlice + Get-AzureRMDataFactorySlice Gets data slices for a dataset in Data Factory. @@ -1338,7 +1338,7 @@ - The Get-AzureDataFactorySlice cmdlet gets data slices for a dataset in Azure Data Factory. Specify a start time and an end time to define a range of data slices to view. + The Get-AzureRMDataFactorySlice cmdlet gets data slices for a dataset in Azure Data Factory. Specify a start time and an end time to define a range of data slices to view. The status of a data slice is one of the following values: @@ -1353,12 +1353,12 @@ -- Retry Validation. Data Factory retries the validation of the slice. -- Failed Validation. Validation of the slice failed. - For each of the slices, you can see more information about the run that produces the slice by using the Get-AzureDataFactoryRun cmdlet. + For each of the slices, you can see more information about the run that produces the slice by using the Get-AzureRMDataFactoryRun cmdlet. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactorySlice + Get-AzureRMDataFactorySlice ResourceGroupName @@ -1402,7 +1402,7 @@ - Get-AzureDataFactorySlice + Get-AzureRMDataFactorySlice DataFactory @@ -1552,7 +1552,7 @@ - PS C:\> Get-AzureDataFactorySlice -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-20T10:00:00Z + PS C:\> Get-AzureRMDataFactorySlice -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-20T10:00:00Z ResourceGroupName : ADF DataFactoryName : WikiADF @@ -1600,7 +1600,7 @@ periodMultiplier: 1 } - Some of the results are Ready and others are PendingExecution. Ready slices have already run. The pending slices are waiting to run at the end of each hour in the interval that the Set-AzureDataFactoryPipelineActivePeriod cmdlet specifies. In this example, both start and end periods for the pipeline and the slice have a value of one day (24 hours). + Some of the results are Ready and others are PendingExecution. Ready slices have already run. The pending slices are waiting to run at the end of each hour in the interval that the Set-AzureRMDataFactoryPipelineActivePeriod cmdlet specifies. In this example, both start and end periods for the pipeline and the slice have a value of one day (24 hours). @@ -1611,22 +1611,22 @@ - Set-AzureDataFactorySliceStatus + Set-AzureRMDataFactorySliceStatus - Get-AzureDataFactoryRun + Get-AzureRMDataFactoryRun - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Get-AzureDataFactoryDataset + Get-AzureRMDataFactoryDataset Gets information about datasets in Data Factory. @@ -1638,12 +1638,12 @@ - The Get-AzureDataFactoryDataset cmdlet gets information about datasets in Azure Data Factory. If you specify the name of a dataset, this cmdlet gets information about that dataset. If you do not specify a name, this cmdlet gets information about all the datasets in the data factory. + The Get-AzureRMDataFactoryDataset cmdlet gets information about datasets in Azure Data Factory. If you specify the name of a dataset, this cmdlet gets information about that dataset. If you do not specify a name, this cmdlet gets information about all the datasets in the data factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Get-AzureDataFactoryDataset + Get-AzureRMDataFactoryDataset ResourceGroupName @@ -1667,7 +1667,7 @@ - Get-AzureDataFactoryDataset + Get-AzureRMDataFactoryDataset DataFactory @@ -1767,7 +1767,7 @@ - PS C:\> Get-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" + PS C:\> Get-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" DatasetName : DACuratedWikiData ResourceGroupName : ADF DataFactoryName : WikiADF @@ -1807,7 +1807,7 @@ - PS C:\> Get-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" + PS C:\> Get-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" DatasetName : DAWikipediaClickEvents ResourceGroupName : ADF DataFactoryName : WikiADF @@ -1831,7 +1831,7 @@ - PS C:\> (Get-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents").Location + PS C:\> (Get-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents").Location BlobPath : wikidatagateway/wikisampledatain/ FilenamePrefix : Format : @@ -1839,7 +1839,7 @@ PartitionBy : {} - This command gets information for the dataset named DAWikipediaClickEvents in the data factory named WikiADF, and then uses standard dot notation to view the Location associated with that dataset. Alternatively, assign the output of the Get-AzureDataFactoryDataset cmdlet to a variable, and then use dot notation to view the Location property associated with the dataset object stored in that variable. + This command gets information for the dataset named DAWikipediaClickEvents in the data factory named WikiADF, and then uses standard dot notation to view the Location associated with that dataset. Alternatively, assign the output of the Get-AzureRMDataFactoryDataset cmdlet to a variable, and then use dot notation to view the Location property associated with the dataset object stored in that variable. @@ -1850,18 +1850,18 @@ - New-AzureDataFactoryDataset + New-AzureRMDataFactoryDataset - Remove-AzureDataFactoryDataset + Remove-AzureRMDataFactoryDataset - New-AzureDataFactory + New-AzureRMDataFactory Creates a data factory. @@ -1873,7 +1873,7 @@ - The New-AzureDataFactory cmdlet creates a data factory with the specified resource group name and location. + The New-AzureRMDataFactory cmdlet creates a data factory with the specified resource group name and location. Perform these operations in the following order: @@ -1886,7 +1886,7 @@ - New-AzureDataFactory + New-AzureRMDataFactory ResourceGroupName @@ -2026,7 +2026,7 @@ - PS C:\> New-AzureDataFactory -ResourceGroupName "ADF" -Name "WikiADF" -Location "WestUS" + PS C:\> New-AzureRMDataFactory -ResourceGroupName "ADF" -Name "WikiADF" -Location "WestUS" DataFactoryName : WikiADF ResourceGroupName : ADF Location : WestUS @@ -2045,18 +2045,18 @@ - Get-AzureDataFactory + Get-AzureRMDataFactory - Remove-AzureDataFactory + Remove-AzureRMDataFactory - New-AzureDataFactoryEncryptValue + New-AzureRMDataFactoryEncryptValue Encrypts sensitive data. @@ -2068,12 +2068,12 @@ - The New-AzureDataFactoryEncryptValue cmdlet encrypts sensitive data, such as a password or a MicrosoftSQL Server connection string, and returns an encrypted value. + The New-AzureRMDataFactoryEncryptValue cmdlet encrypts sensitive data, such as a password or a MicrosoftSQL Server connection string, and returns an encrypted value. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - New-AzureDataFactoryEncryptValue + New-AzureRMDataFactoryEncryptValue ResourceGroupName @@ -2146,7 +2146,7 @@ - New-AzureDataFactoryEncryptValue + New-AzureRMDataFactoryEncryptValue DataFactory @@ -2382,7 +2382,7 @@ PS C:\>$Value = ConvertTo-SecureString 'Data Source=ContosoServer;Initial Catalog=catelog;user id =user123;password=password123' -AsPlainText -Force - PS C:\>New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Type OnPremisesSqlLinkedService + PS C:\>New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Type OnPremisesSqlLinkedService data source=ContosoServer;initial catalog=catelog;EncryptedCredential=KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XAXyE/H+f3JydTkdg5t2g1eC/VtyF3NAD3idYnhrAphPJmO0pCaG5nH2IY48L3XJi7wabrlrGF+ieiWh1bwdgdxrW+t2jWPnLvT/ENUXtcevpx/dmTGKagH8TU9HLcoL1CAanb7Vkpga1B/uzRxBnVdsdtfvBzxG2M810tj1WzL8lFzA1mO5GbB0+ge116y0scL1vxjerjl5Muv0r0scG3lhj+IF0sXUMITFvhQwOIqweR052E6JlfJu+mTNFLCCkpw1iV+rhRhKqJF752dBuWjzI1EoyQUE17oK4OevkquuhUbfJmzj9BhGKQ+VkndAZiSw19FEGSC7JzoUe/XWEs/FJYrQCCXIeNS94J9/VzN6KPYJR1pzAYCtnhq+p8Q== @@ -2407,7 +2407,7 @@ PS C:\>$Credential = Get-Credential - PS C:\>New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesSqlLinkedService + PS C:\>New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesSqlLinkedService data source=ContosoServer;initial catalog=catelog;EncryptedCredential=KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XAXyE/H+f3JydTkdg5t2g1eC/VtyF3NAD3idYnhrAphPJmO0pCaG5nH2IY48L3XJi7wabrlrGF+ieiWh1bwdgdxrW+t2jWPnLvT/ENUXtcevpx/dmTGKagH8TU9HLcoL1CAanb7Vkpga1B/uzRxBnVdsdtfvBzxG2M810tj1WzL8lFzA1mO5GbB0+ge116y0scL1vxjerjl5Muv0r0scG3lhj+IF0sXUMITFvhQwOIqweR052E6JlfJu+mTNFLCCkpw1iV+rhRhKqJF752dBuWjzI1EoyQUE17oK4OevkquuhUbfJmzj9BhGKQ+VkndAZiw19FEGSC7JzoUe/XWEs/FJYrQCCXIeNS94J9/VzN6KPYJR1pzAYCtnhq+p8Q== @@ -2429,7 +2429,7 @@ PS C:\> $Value = ConvertTo-SecureString '\\servername' -AsPlainText -Force PS C:\> $Credential = Get-Credential - PS C:\> New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesFileSystemLinkedService + PS C:\> New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesFileSystemLinkedService KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XAXyE/H+f3JydTkdg5t2g1eC/VtyF3NAD3idYnhrAphPJmO0pCaG5nH2IY48L3XJi7wabrlrGF+ieiWh1bwdgdxrW+t2jWPnLvT/ENUXtcevpx/dmTGKagH8TU9HLcoL1CAanb7Vkpga1B/uzRxBnVdsdtfvBzxG2M810tj1WzL8lFzA1mO5GbB0+ge116y0scL1vxjerjl5Muv0r0scG3lhj+IF0sXUMITFvhQwOIqweR052E6JlfJu+mTNFLCCkpw1iV+rhRhKqJF752dBuWjzI1EoyQUE17oK4OevkquuhUbfJmzj9BhGKQ+VkndAZiSw19FEGSC7JzoUe/XWEs/FJYrQCCXIeNS94J9/VzN6KPYJR1pzAYCtnhq+p8Q== @@ -2452,7 +2452,7 @@ PS C:\>$Value = ConvertTo-SecureString 'UID=user123;PWD=password123;AuthMode=mode1;Token=token1' -AsPlainText -Force - PS C:\>New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Type OnPremisesOdbcLinkedService -nonCredentialValue "Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;" -AuthenticationType "Basic" + PS C:\>New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Type OnPremisesOdbcLinkedService -nonCredentialValue "Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;" -AuthenticationType "Basic" Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;EncryptedCredential=KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XAXyE/H+f3JydTkdg5t2g1eC/VtyF3NAD3idYnhrAphPJmO0pCaG5nH2IY48L3XJi7wabrlrGF+ieiWh1bwdgdxrW+t2jWPnLvT/ENUXtcevpx/dmTGKagH8TU9HLcoL1CAanb7Vkpga1B/uzRxBnVdsdtfvBzxG2M810tj1WzL8lFzA1mO5GbB0+ge116y0scL1vxjerjl5Muv0r0scG3lhj+IF0sXUMITFvhQwOIqweR052E6JlfJu+mTNFLCCkpw1iV+rhRhKqJF752dBuWjzI1EoyQUE17oK4OevkquuhUbfJmzj9BhGKQ+VkndAZiSw19FEGSC7JzoUe/XWEs/FJYrQCCXIeNS94J9/VzN6KPYJR1pzAYCtnhq+p8Q== @@ -2477,7 +2477,7 @@ PS C:\>$Credential = Get-Credential - PS C:\>New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesOdbcLinkedService -nonCredentialValue "Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;" -AuthenticationType "Windows" + PS C:\>New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesOdbcLinkedService -nonCredentialValue "Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;" -AuthenticationType "Windows" Driver=CustomizedDriver;Server=ContosoServer;Database=ContosoDatabase;EncryptedCredential=KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XAXyE/H+f3JydTkdg5t2g1eC/VtyF3NAD3idYnhrAphPJmO0pCaG5nH2IY48L3XJi7wabrlrGF+ieiWh1bwdgdxrW+t2jWPnLvT/ENUXtcevpx/dmTGKagH8TU9HLcoL1CAanb7Vkpga1B/uzRxBnVdsdtfvBzxG2M810tj1WzL8lFzA1mO5GbB0+ge116y0scL1vxjerjl5Muv0r0scG3lhj+IF0sXUMITFvhQwOIqweR052E6JlfJu+mTNFLCCkpw1iV+rhRhKqJF752dBuWjzI1EoyQUE17oK4OevkquuhUbfJmzj9BhGKQ+VkndAZiw19FEGSC7JzoUe/XWEs/FJYrQCCXIeNS94J9/VzN6KPYJR1pzAYCtnhq+p8Q== @@ -2500,7 +2500,7 @@ PS C:\>$Credential = Get-Credential - PS C:\>New-AzureDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesPostgreSqlLinkedService -AuthenticationType "Windows" -Server "ContosoServer" -Database "ContosoDatabase" + PS C:\>New-AzureRMDataFactoryEncryptValue -DataFactoryName "WikiADF" -GatewayName "WikiGateway" -ResourceGroupName "ADF" -Value $Value -Credential $Credential -Type OnPremisesPostgreSqlLinkedService -AuthenticationType "Windows" -Server "ContosoServer" -Database "ContosoDatabase" KAAAAAABAAAQAAAAQUU5MUVBNzY4QkFCQkI3MEUwRTMxOUNFNkM0MjRDOTVDNDk3RTcyRi8XA== @@ -2523,7 +2523,7 @@ - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway Creates a gateway for Data Factory. @@ -2535,12 +2535,12 @@ - The New-AzureDataFactoryGateway cmdlet creates a gateway in Azure Data Factory. + The New-AzureRMDataFactoryGateway cmdlet creates a gateway in Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway ResourceGroupName @@ -2571,7 +2571,7 @@ - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway DataFactory @@ -2690,7 +2690,7 @@ - PS C:\> New-AzureDataFactoryGateway -ResourceGroupName "ADF" -Name "ContosoGateway" -DataFactoryName "WikiADF" -Description "my gateway" + PS C:\> New-AzureRMDataFactoryGateway -ResourceGroupName "ADF" -Name "ContosoGateway" -DataFactoryName "WikiADF" -Description "my gateway" Name : ContosoGateway Description : my gateway Version : @@ -2713,18 +2713,18 @@ - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway - New-AzureDataFactoryGatewayKey + New-AzureRMDataFactoryGatewayKey Creates a gateway key for Data Factory. @@ -2737,13 +2737,13 @@ - The New-AzureDataFactoryGatewayKey cmdlet creates a gateway key for a specified Azure Data Factory gateway. You register the gateway with a cloud service by using this key. + The New-AzureRMDataFactoryGatewayKey cmdlet creates a gateway key for a specified Azure Data Factory gateway. You register the gateway with a cloud service by using this key. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - New-AzureDataFactoryGatewayKey + New-AzureRMDataFactoryGatewayKey ResourceGroupName @@ -2769,7 +2769,7 @@ - New-AzureDataFactoryGatewayKey + New-AzureRMDataFactoryGatewayKey DataFactory @@ -2873,7 +2873,7 @@ - PS C:\> New-AzureDataFactoryGatewayKey -ResourceGroupName "ADF" -GatewayName "ContosoGateway" -DataFactoryName "WikiADF" | Format-List + PS C:\> New-AzureRMDataFactoryGatewayKey -ResourceGroupName "ADF" -GatewayName "ContosoGateway" -DataFactoryName "WikiADF" | Format-List Gateway Key : ADF#40cbb3d9-2736-4794-a8a6-e6b839b4894f@a2d875ce-c9d7-4b8b-ad65-dd3ebbb9a940@8c0d1801-e863-44af-82e6-fb2f0c00f2ae@xz#Y9R0NhAeH3u7wgnrJyiWj4Y/QIhH4fFilIdzZgwsVQA= @@ -2889,14 +2889,14 @@ - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway - New-AzureDataFactoryHub + New-AzureRMDataFactoryHub Creates a hub for Data Factory. @@ -2908,12 +2908,12 @@ - The New-AzureDataFactoryHub cmdlet creates a hub for Azure Data Factory in the specified Azure resource group and in the specified data factory with the specified file definition. After you create the hub, you can use it to store and manage linked services in a group, and you can add pipelines to the hub. + The New-AzureRMDataFactoryHub cmdlet creates a hub for Azure Data Factory in the specified Azure resource group and in the specified data factory with the specified file definition. After you create the hub, you can use it to store and manage linked services in a group, and you can add pipelines to the hub. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - New-AzureDataFactoryHub + New-AzureRMDataFactoryHub ResourceGroupName @@ -2950,7 +2950,7 @@ - New-AzureDataFactoryHub + New-AzureRMDataFactoryHub DataFactory @@ -3091,7 +3091,7 @@ - PS C:\>New-AzureDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "ContosoDataHub" -File "C:\Hub.json" + PS C:\>New-AzureRMDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "ContosoDataHub" -File "C:\Hub.json" @@ -3110,18 +3110,18 @@ - Get-AzureDataFactoryHub + Get-AzureRMDataFactoryHub - Remove-AzureDataFactoryHub + Remove-AzureRMDataFactoryHub - New-AzureDataFactoryLinkedService + New-AzureRMDataFactoryLinkedService Links a data store or a cloud service to Data Factory. @@ -3133,7 +3133,7 @@ - The New-AzureDataFactoryLinkedService cmdlet links a data store or a cloud service to Azure Data Factory. If you specify a name for a linked service that already exists, this cmdlet prompts you for confirmation before it replaces the linked service. If you specify the Force parameter, the cmdlet replaces the existing linked service without confirmation. + The New-AzureRMDataFactoryLinkedService cmdlet links a data store or a cloud service to Azure Data Factory. If you specify a name for a linked service that already exists, this cmdlet prompts you for confirmation before it replaces the linked service. If you specify the Force parameter, the cmdlet replaces the existing linked service without confirmation. Perform these operations in the following order: @@ -3146,7 +3146,7 @@ - New-AzureDataFactoryLinkedService + New-AzureRMDataFactoryLinkedService ResourceGroupName @@ -3185,7 +3185,7 @@ - New-AzureDataFactoryLinkedService + New-AzureRMDataFactoryLinkedService DataFactory @@ -3324,7 +3324,7 @@ - PS C:\> New-AzureDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "LinkedServiceCuratedWikiData" -File "C:\\samples\\WikiSample\\LinkedServiceCuratedWikiData.json" | Format-List + PS C:\> New-AzureRMDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "LinkedServiceCuratedWikiData" -File "C:\\samples\\WikiSample\\LinkedServiceCuratedWikiData.json" | Format-List LinkedServiceName : LinkedServiceCuratedWikiData ResourceGroupName : ADF DataFactoryName : WikiADF @@ -3342,18 +3342,18 @@ - Get-AzureDataFactoryLinkedService + Get-AzureRMDataFactoryLinkedService - Remove-AzureDataFactoryLinkedService + Remove-AzureRMDataFactoryLinkedService - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline Creates a pipeline in Data Factory. @@ -3365,7 +3365,7 @@ - The New-AzureDataFactoryPipeline cmdlet creates a pipeline in Azure Data Factory. If you specify a name for a pipeline that already exists, the cmdlet prompts you for confirmation before it replaces the pipeline. If you specify the Force parameter, the cmdlet replaces the existing pipeline without confirmation. + The New-AzureRMDataFactoryPipeline cmdlet creates a pipeline in Azure Data Factory. If you specify a name for a pipeline that already exists, the cmdlet prompts you for confirmation before it replaces the pipeline. If you specify the Force parameter, the cmdlet replaces the existing pipeline without confirmation. Perform these operations in the following order: @@ -3379,7 +3379,7 @@ - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline ResourceGroupName @@ -3420,7 +3420,7 @@ - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline DataFactory @@ -3563,7 +3563,7 @@ - PS C:\> New-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" -File "C:\DPWikisample.json" + PS C:\> New-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" -File "C:\DPWikisample.json" PipelineName : DPWikisample ResourceGroupName : ADF DataFactoryName : WikiADF11 @@ -3581,30 +3581,30 @@ - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline - New-AzureDataFactoryDataset + New-AzureRMDataFactoryDataset Creates a dataset in Data Factory. @@ -3616,7 +3616,7 @@ - The New-AzureDataFactoryDataset cmdlet creates a dataset in Azure Data Factory. If you specify a name for a dataset that already exists, this cmdlet prompts you for confirmation before it replaces the dataset. If you specify the Force parameter, the cmdlet replaces the existing dataset without confirmation. + The New-AzureRMDataFactoryDataset cmdlet creates a dataset in Azure Data Factory. If you specify a name for a dataset that already exists, this cmdlet prompts you for confirmation before it replaces the dataset. If you specify the Force parameter, the cmdlet replaces the existing dataset without confirmation. Perform these operations in the following order: @@ -3630,7 +3630,7 @@ - New-AzureDataFactoryDataset + New-AzureRMDataFactoryDataset ResourceGroupName @@ -3667,7 +3667,7 @@ - New-AzureDataFactoryDataset + New-AzureRMDataFactoryDataset DataFactory @@ -3804,7 +3804,7 @@ - PS C:\> New-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json" + PS C:\> New-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json" DatasetName : DAWikipediaClickEvents ResourceGroupName : ADF DataFactoryName : WikiADF @@ -3828,7 +3828,7 @@ - PS C:\> $Dataset = New-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Availability + PS C:\> $Dataset = New-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Availability AnchorDateTime : Frequency : Hour Interval : 1 @@ -3851,7 +3851,7 @@ - PS C:\> $Dataset = New-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Location + PS C:\> $Dataset = New-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Location BlobPath : wikidatagateway/wikisampledatain/ FilenamePrefix : Format : @@ -3874,7 +3874,7 @@ - PS C:\> $Dataset = New-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Policy.Validation | Format-List $dataset.Location + PS C:\> $Dataset = New-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikipediaClickEvents" -File "C:\\samples\\WikiSample\\DA_WikipediaClickEvents.json"PS C:\> $Dataset.Policy.Validation | Format-List $dataset.Location BlobPath : wikidatagateway/wikisampledatain/ FilenamePrefix : @@ -3898,18 +3898,18 @@ - Get-AzureDataFactoryDataset + Get-AzureRMDataFactoryDataset - Remove-AzureDataFactoryDataset + Remove-AzureRMDataFactoryDataset - Remove-AzureDataFactory + Remove-AzureRMDataFactory Removes a data factory. @@ -3921,12 +3921,12 @@ - The Remove-AzureDataFactory cmdlet removes a data factory. + The Remove-AzureRMDataFactory cmdlet removes a data factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactory + Remove-AzureRMDataFactory ResourceGroupName @@ -3951,7 +3951,7 @@ - Remove-AzureDataFactory + Remove-AzureRMDataFactory DataFactory @@ -4052,7 +4052,7 @@ - PS C:\> Remove-AzureDataFactory -Name "WikiADF" -ResourceGroupName "ADF" + PS C:\> Remove-AzureRMDataFactory -Name "WikiADF" -ResourceGroupName "ADF" Confirm Are you sure you want to remove data factory 'WikiADF' in resource group 'ADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y @@ -4070,18 +4070,18 @@ - Get-AzureDataFactory + Get-AzureRMDataFactory - New-AzureDataFactory + New-AzureRMDataFactory - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway Removes a gateway from Data Factory. @@ -4093,12 +4093,12 @@ - The Remove-AzureDataFactoryGateway cmdlet removes the specified gateway from Azure Data Factory. + The Remove-AzureRMDataFactoryGateway cmdlet removes the specified gateway from Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway ResourceGroupName @@ -4128,7 +4128,7 @@ - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway DataFactory @@ -4246,7 +4246,7 @@ - PS C:\> Remove-AzureDataFactoryGateway -Name "ContosoGateway" -DataFactoryName "WikiADF" -ResourceGroupName "ADF" + PS C:\> Remove-AzureRMDataFactoryGateway -Name "ContosoGateway" -DataFactoryName "WikiADF" -ResourceGroupName "ADF" Confirm Are you sure you want to remove gateway 'ContosoGateway' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is Y): Y @@ -4264,22 +4264,22 @@ - Get-AzureDataFactoryGateway + Get-AzureRMDataFactoryGateway - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway - Remove-AzureDataFactoryHub + Remove-AzureRMDataFactoryHub Removes a hub from Data Factory. @@ -4291,12 +4291,12 @@ - The Remove-AzureDataFactoryHub cmdlet removes a hub from Azure Data Factory in the specified Azure resource group and in the specified data factory. If you remove a hub, all linked services and pipelines in the hub are also removed. + The Remove-AzureRMDataFactoryHub cmdlet removes a hub from Azure Data Factory in the specified Azure resource group and in the specified data factory. If you remove a hub, all linked services and pipelines in the hub are also removed. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactoryHub + Remove-AzureRMDataFactoryHub ResourceGroupName @@ -4326,7 +4326,7 @@ - Remove-AzureDataFactoryHub + Remove-AzureRMDataFactoryHub DataFactory @@ -4448,7 +4448,7 @@ - PS C:\>Remove-AzureDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "ContosoDataHub" + PS C:\>Remove-AzureRMDataFactoryHub -ResourceGroupName "ADFResourceGroup" -DataFactoryName "ADFDataFactory" -Name "ContosoDataHub" @@ -4467,18 +4467,18 @@ - New-AzureDataFactoryHub + New-AzureRMDataFactoryHub - Get-AzureDataFactoryHub + Get-AzureRMDataFactoryHub - Remove-AzureDataFactoryLinkedService + Remove-AzureRMDataFactoryLinkedService Removes a linked service from Data Factory. @@ -4490,12 +4490,12 @@ - The Remove-AzureDataFactoryLinkedService cmdlet removes a linked service from Azure Data Factory. + The Remove-AzureRMDataFactoryLinkedService cmdlet removes a linked service from Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactoryLinkedService + Remove-AzureRMDataFactoryLinkedService ResourceGroupName @@ -4527,7 +4527,7 @@ - Remove-AzureDataFactoryLinkedService + Remove-AzureRMDataFactoryLinkedService DataFactory @@ -4649,7 +4649,7 @@ - PS C:\> Remove-AzureDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "LinkedServiceTest" + PS C:\> Remove-AzureRMDataFactoryLinkedService -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "LinkedServiceTest" Confirm Are you sure you want to remove linked service 'LinkedServiceTest' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y @@ -4667,18 +4667,18 @@ - Get-AzureDataFactoryLinkedService + Get-AzureRMDataFactoryLinkedService - New-AzureDataFactoryLinkedService + New-AzureRMDataFactoryLinkedService - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline Removes a pipeline from Data Factory. @@ -4690,12 +4690,12 @@ - The Remove-AzureDataFactoryPipeline cmdlet removes a pipeline from Azure Data Factory. + The Remove-AzureRMDataFactoryPipeline cmdlet removes a pipeline from Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline ResourceGroupName @@ -4725,7 +4725,7 @@ - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline DataFactory @@ -4843,7 +4843,7 @@ - PS C:\> Remove-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" + PS C:\> Remove-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" Confirm Are you sure you want to remove pipeline 'DPWikisample' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y @@ -4861,30 +4861,30 @@ - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryDataset + Remove-AzureRMDataFactoryDataset Removes a dataset from Data Factory. @@ -4896,12 +4896,12 @@ - The Remove-AzureDataFactoryDataset cmdlet removes a dataset from Azure Data Factory. + The Remove-AzureRMDataFactoryDataset cmdlet removes a dataset from Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Remove-AzureDataFactoryDataset + Remove-AzureRMDataFactoryDataset ResourceGroupName @@ -4931,7 +4931,7 @@ - Remove-AzureDataFactoryDataset + Remove-AzureRMDataFactoryDataset DataFactory @@ -5049,7 +5049,7 @@ - PS C:\> Remove-AzureDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikiAggregatedData" + PS C:\> Remove-AzureRMDataFactoryDataset -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "DAWikiAggregatedData" Confirm Are you sure you want to remove dataset 'DAWikiAggregatedData' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y @@ -5067,18 +5067,18 @@ - Get-AzureDataFactoryDataset + Get-AzureRMDataFactoryDataset - New-AzureDataFactoryDataset + New-AzureRMDataFactoryDataset - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline Resumes a suspended pipeline in Data Factory. @@ -5090,12 +5090,12 @@ - The Resume-AzureDataFactoryPipeline cmdlet resumes a suspended pipeline in Azure Data Factory. + The Resume-AzureRMDataFactoryPipeline cmdlet resumes a suspended pipeline in Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline ResourceGroupName @@ -5125,7 +5125,7 @@ - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline DataFactory @@ -5243,14 +5243,14 @@ - PS C:\> Resume-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" + PS C:\> Resume-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikisample" -DataFactoryName "WikiADF" Confirm Are you sure you want to resume pipeline 'DPWikisample' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y True - This command resumes the pipeline named DPWikisample in the data factory named WikiADF. Use the Suspend-AzureDataFactoryPipeline cmdlet to suspend a pipeline. The command returns a value of $True. + This command resumes the pipeline named DPWikisample in the data factory named WikiADF. Use the Suspend-AzureRMDataFactoryPipeline cmdlet to suspend a pipeline. The command returns a value of $True. @@ -5261,30 +5261,30 @@ - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline - Save-AzureDataFactoryLog + Save-AzureRMDataFactoryLog Downloads log files from HDInsight processing. @@ -5297,14 +5297,14 @@ You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - The Save-AzureDataFactoryLog cmdlet downloads log files associated with Azure HDInsight processing of Pig or Hive projects or for custom activities to your local hard drive. You first run the Get-AzureDataFactoryRun cmdlet to get an ID for an activity run for a data slice, and then use that ID to retrieve log files from the binary large object (BLOB) storage associated with the HDInsight cluster. + The Save-AzureRMDataFactoryLog cmdlet downloads log files associated with Azure HDInsight processing of Pig or Hive projects or for custom activities to your local hard drive. You first run the Get-AzureRMDataFactoryRun cmdlet to get an ID for an activity run for a data slice, and then use that ID to retrieve log files from the binary large object (BLOB) storage associated with the HDInsight cluster. If you do not specify –DownloadLogs parameter, the cmdlet just returns the location of log files. If you specify –DownloadLogs parameter without specifying an output directory (-Output parameter), the log files are downloaded to the default Documents folder. If you specify –DownloadLogs parameter along with an output folder (-Output), the log files are downloaded to the specified folder. - Save-AzureDataFactoryLog + Save-AzureRMDataFactoryLog DataFactory @@ -5315,7 +5315,7 @@ Id - Specifies the ID of the activity run for the data slice. Use the Get-AzureDataFactoryRun cmdlet to get an ID. + Specifies the ID of the activity run for the data slice. Use the Get-AzureRMDataFactoryRun cmdlet to get an ID. String @@ -5334,7 +5334,7 @@ - Save-AzureDataFactoryLog + Save-AzureRMDataFactoryLog ResourceGroupName @@ -5352,7 +5352,7 @@ Id - Specifies the ID of the activity run for the data slice. Use the Get-AzureDataFactoryRun cmdlet to get an ID. + Specifies the ID of the activity run for the data slice. Use the Get-AzureRMDataFactoryRun cmdlet to get an ID. String @@ -5411,7 +5411,7 @@ Id - Specifies the ID of the activity run for the data slice. Use the Get-AzureDataFactoryRun cmdlet to get an ID. + Specifies the ID of the activity run for the data slice. Use the Get-AzureRMDataFactoryRun cmdlet to get an ID. String @@ -5482,7 +5482,7 @@ - PS C:\>Save-AzureDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" -DownloadLogs -Output "C:\Test" + PS C:\>Save-AzureRMDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" -DownloadLogs -Output "C:\Test" @@ -5500,7 +5500,7 @@ - PS C:\>Save-AzureDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" -DownloadLogs + PS C:\>Save-AzureRMDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" -DownloadLogs @@ -5518,7 +5518,7 @@ - PS C:\>Save-AzureDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" + PS C:\>Save-AzureRMDataFactoryLog -ResourceGroupName "ADF" -DataFactoryName "LogProcessingFactory" -Id "841b77c9-d56c-48d1-99a3-8c16c3e77d39" @@ -5537,34 +5537,34 @@ - Get-AzureDataFactoryRun + Get-AzureRMDataFactoryRun - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway Sets the description for a gateway in Data Factory. @@ -5576,12 +5576,12 @@ - The Set-AzureDataFactoryGateway cmdlet sets the description for the specified gateway in Azure Data Factory. + The Set-AzureRMDataFactoryGateway cmdlet sets the description for the specified gateway in Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway ResourceGroupName @@ -5612,7 +5612,7 @@ - Set-AzureDataFactoryGateway + Set-AzureRMDataFactoryGateway DataFactory @@ -5731,7 +5731,7 @@ - PS C:\> Set-AzureDataFactoryGateway -ResourceGroupName "ADF" -Name "ContosoGateway" -DataFactoryName "WikiADF" -Description "my gateway" + PS C:\> Set-AzureRMDataFactoryGateway -ResourceGroupName "ADF" -Name "ContosoGateway" -DataFactoryName "WikiADF" -Description "my gateway" Name : ContosoGateway Description : my gateway Version : 1.3.5338.1 @@ -5755,22 +5755,22 @@ - Get-AzureDataFactoryGateway + Get-AzureRMDataFactoryGateway - New-AzureDataFactoryGateway + New-AzureRMDataFactoryGateway - Remove-AzureDataFactoryGateway + Remove-AzureRMDataFactoryGateway - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod Configures the active period for data slices. @@ -5782,13 +5782,13 @@ - The Set-AzureDataFactoryPipelineActivePeriod cmdlet configures the active period for the data slices that are processed by a pipeline in Azure Data Factory. If you use the Set-AzureDataFactorySliceStatus cmdlet to modify the status of slices for a dataset, make sure that the start time and end time for a slice are in the active period of the pipeline. + The Set-AzureRMDataFactoryPipelineActivePeriod cmdlet configures the active period for the data slices that are processed by a pipeline in Azure Data Factory. If you use the Set-AzureRMDataFactorySliceStatus cmdlet to modify the status of slices for a dataset, make sure that the start time and end time for a slice are in the active period of the pipeline. After you create a pipeline, you can specify the period in which data processing occurs. Specifying the active period for a pipeline defines the time duration in which the data slices are processed based on the Availability properties that were defined for each Data Factory dataset. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod ResourceGroupName @@ -5850,7 +5850,7 @@ - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod DataFactory @@ -6052,7 +6052,7 @@ - PS C:\> Set-AzureDataFactoryPipelineActivePeriod -ResourceGroupName "ADF" -PipelineName "DPWikisample" -DataFactoryName "WikiADF" -StartDateTime 2014-05-21T16:00:00Z -EndDateTime 2014-05-22T16:00:00Z + PS C:\> Set-AzureRMDataFactoryPipelineActivePeriod -ResourceGroupName "ADF" -PipelineName "DPWikisample" -DataFactoryName "WikiADF" -StartDateTime 2014-05-21T16:00:00Z -EndDateTime 2014-05-22T16:00:00Z Confirm Are you sure you want to set pipeline 'DPWikisample' active period from '05/21/2014 16:00:00' to @@ -6072,18 +6072,18 @@ - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Set-AzureDataFactorySliceStatus + Set-AzureRMDataFactorySliceStatus - Set-AzureDataFactorySliceStatus + Set-AzureRMDataFactorySliceStatus Sets the status of slices for a dataset in Data Factory. @@ -6095,12 +6095,12 @@ - The Set-AzureDataFactorySliceStatus cmdlet sets the status of slices for a dataset in Azure Data Factory. + The Set-AzureRMDataFactorySliceStatus cmdlet sets the status of slices for a dataset in Azure Data Factory. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Set-AzureDataFactorySliceStatus + Set-AzureRMDataFactorySliceStatus ResourceGroupName @@ -6168,7 +6168,7 @@ - Set-AzureDataFactorySliceStatus + Set-AzureRMDataFactorySliceStatus DataFactory @@ -6376,7 +6376,7 @@ - PS C:\> Set-AzureDataFactorySliceStatus -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-21T16:00:00Z -EndDateTime 2014-05-21T20:00:00Z -Status "PendingExecution" -UpdateType "UpstreamInPipeline" + PS C:\> Set-AzureRMDataFactorySliceStatus -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -DatasetName "DAWikiAggregatedData" -StartDateTime 2014-05-21T16:00:00Z -EndDateTime 2014-05-21T20:00:00Z -Status "PendingExecution" -UpdateType "UpstreamInPipeline" True @@ -6391,14 +6391,14 @@ - Get-AzureDataFactorySlice + Get-AzureRMDataFactorySlice - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline Suspends a pipeline in Data Factory. @@ -6410,12 +6410,12 @@ - The Suspend-AzureDataFactoryPipeline cmdlet suspends a pipeline in Azure Data Factory. You can resume the pipeline by using the Resume-AzureDataFactoryPipeline cmdlet. + The Suspend-AzureRMDataFactoryPipeline cmdlet suspends a pipeline in Azure Data Factory. You can resume the pipeline by using the Resume-AzureRMDataFactoryPipeline cmdlet. You must be in AzureResourceManager mode to run Azure Data Factory cmdlets. To switch to AzureResourceManager mode, type Switch-AzureMode AzureResourceManager. - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline ResourceGroupName @@ -6445,7 +6445,7 @@ - Suspend-AzureDataFactoryPipeline + Suspend-AzureRMDataFactoryPipeline DataFactory @@ -6563,7 +6563,7 @@ - PS C:\> Suspend-AzureDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikiSample" -DataFactoryName "WikiADF" + PS C:\> Suspend-AzureRMDataFactoryPipeline -ResourceGroupName "ADF" -Name "DPWikiSample" -DataFactoryName "WikiADF" Confirm Are you sure you want to suspend pipeline 'DPWikisample' in data factory 'WikiADF'? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y @@ -6581,23 +6581,23 @@ - Get-AzureDataFactoryPipeline + Get-AzureRMDataFactoryPipeline - New-AzureDataFactoryPipeline + New-AzureRMDataFactoryPipeline - Remove-AzureDataFactoryPipeline + Remove-AzureRMDataFactoryPipeline - Resume-AzureDataFactoryPipeline + Resume-AzureRMDataFactoryPipeline - Set-AzureDataFactoryPipelineActivePeriod + Set-AzureRMDataFactoryPipelineActivePeriod diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Models/DataFactoryClient.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Models/DataFactoryClient.cs index 07d4114069c2..a178e687ac83 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Models/DataFactoryClient.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Models/DataFactoryClient.cs @@ -29,10 +29,10 @@ public partial class DataFactoryClient { public IDataFactoryManagementClient DataPipelineManagementClient { get; private set; } - public DataFactoryClient(AzureProfile profile) + public DataFactoryClient(AzureContext context) { DataPipelineManagementClient = AzureSession.ClientFactory.CreateClient( - profile, AzureEnvironment.Endpoint.ResourceManager); + context, AzureEnvironment.Endpoint.ResourceManager); } /// diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/GetAzureDataFactoryPipelineCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/GetAzureDataFactoryPipelineCommand.cs index a217c853b583..dd435caa6963 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/GetAzureDataFactoryPipelineCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/GetAzureDataFactoryPipelineCommand.cs @@ -42,7 +42,7 @@ public class GetAzureDataFactoryPipelineCommand : DataFactoryBaseCmdlet public string DataFactoryName { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // ValidationNotNullOrEmpty doesn't handle whitespaces well if (Name != null && string.IsNullOrWhiteSpace(Name)) diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/NewAzureDataFactoryPipelineCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/NewAzureDataFactoryPipelineCommand.cs index cac96f3af6b8..b2e0ed75f23c 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/NewAzureDataFactoryPipelineCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/NewAzureDataFactoryPipelineCommand.cs @@ -46,7 +46,7 @@ public class NewAzureDataFactoryPipelineCommand : DataFactoryBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/RemoveAzureDataFactoryPipelineCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/RemoveAzureDataFactoryPipelineCommand.cs index bff58234c6f9..8326c66d72c6 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/RemoveAzureDataFactoryPipelineCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/RemoveAzureDataFactoryPipelineCommand.cs @@ -29,7 +29,7 @@ public class RemoveAzureDataFactoryPipelineCommand : PipelineContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/ResumeAzureDataFactoryPipelineCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/ResumeAzureDataFactoryPipelineCommand.cs index bc831ff12075..0422d48c1959 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/ResumeAzureDataFactoryPipelineCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/ResumeAzureDataFactoryPipelineCommand.cs @@ -28,7 +28,7 @@ public class ResumeAzureDataFactoryPipelineCommand : PipelineContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SetAzureDataFactoryPipelineActivePeriodCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SetAzureDataFactoryPipelineActivePeriodCommand.cs index 350c914273dd..e26e57177a7c 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SetAzureDataFactoryPipelineActivePeriodCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SetAzureDataFactoryPipelineActivePeriodCommand.cs @@ -70,7 +70,7 @@ public DateTime EndDateTime public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SuspendAzureDataFactoryPipelineCommand.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SuspendAzureDataFactoryPipelineCommand.cs index 59fd239eb92e..319ff278f1a5 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SuspendAzureDataFactoryPipelineCommand.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Pipelines/SuspendAzureDataFactoryPipelineCommand.cs @@ -28,7 +28,7 @@ public class SuspendAzureDataFactoryPipelineCommand : PipelineContextBaseCmdlet public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByFactoryObject) { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.Designer.cs b/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.Designer.cs index 89515c7d0ef0..125e804f7aca 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.Designer.cs +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.Designer.cs @@ -61,7 +61,7 @@ internal Resources() { } /// - /// Looks up a localized string similar to The data factory object provided is invalid. Use Get-AzureDataFactory to retrieve a specific data factory object, or use New-AzureDataFactory to create a new data factory object.. + /// Looks up a localized string similar to The data factory object provided is invalid. Use Get-AzureRMDataFactory to retrieve a specific data factory object, or use New-AzureRMDataFactory to create a new data factory object.. /// internal static string DataFactoryArgumentInvalid { get { @@ -218,7 +218,7 @@ internal static string DownloadLogCompleted { } /// - /// Looks up a localized string similar to EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Get-AzureDataFactorySlice command if you want to specify EndDateTime.. + /// Looks up a localized string similar to EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Get-AzureRMDataFactorySlice command if you want to specify EndDateTime.. /// internal static string EndDateTimeNotSpecifiedForGetSlice { get { @@ -227,7 +227,7 @@ internal static string EndDateTimeNotSpecifiedForGetSlice { } /// - /// Looks up a localized string similar to EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Set-AzureDataFactorySliceStatus command if you want to specify EndDateTime.. + /// Looks up a localized string similar to EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Set-AzureRMDataFactorySliceStatus command if you want to specify EndDateTime.. /// internal static string EndDateTimeNotSpecifiedForSetSliceStatus { get { diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.resx b/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.resx index 3c2635950062..8b9ab9943090 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.resx +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/Properties/Resources.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - The data factory object provided is invalid. Use Get-AzureDataFactory to retrieve a specific data factory object, or use New-AzureDataFactory to create a new data factory object. + The data factory object provided is invalid. Use Get-AzureRMDataFactory to retrieve a specific data factory object, or use New-AzureRMDataFactory to create a new data factory object. Are you sure you want to remove the gateway '{0}' in the data factory '{1}'? @@ -256,9 +256,9 @@ Are you sure you want to continue? For data factory naming restrictions, please see http://msdn.microsoft.com/en-us/library/dn835027.aspx - EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Get-AzureDataFactorySlice command if you want to specify EndDateTime. + EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Get-AzureRMDataFactorySlice command if you want to specify EndDateTime. - EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Set-AzureDataFactorySliceStatus command if you want to specify EndDateTime. + EndDateTime is not specified and is set to 48 hours from StartDateTime (by default). Please use -EndDateTime parameter in Set-AzureRMDataFactorySliceStatus command if you want to specify EndDateTime. \ No newline at end of file diff --git a/src/ResourceManager/DataFactories/Commands.DataFactories/packages.config b/src/ResourceManager/DataFactories/Commands.DataFactories/packages.config index 80112ae06df1..4f83a6b163b0 100644 --- a/src/ResourceManager/DataFactories/Commands.DataFactories/packages.config +++ b/src/ResourceManager/DataFactories/Commands.DataFactories/packages.config @@ -2,10 +2,11 @@ - + - + + @@ -21,4 +22,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Dns/AzureRM.Dns.psd1 b/src/ResourceManager/Dns/AzureRM.Dns.psd1 new file mode 100644 index 000000000000..29bf17bfae98 --- /dev/null +++ b/src/ResourceManager/Dns/AzureRM.Dns.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Dns' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '5e5ed8bc-27bf-4380-9de1-4b22ba0920b2' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Dns' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Dns.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ 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 41bf729c90e0..f55003e68b46 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj +++ b/src/ResourceManager/Dns/Commands.Dns.Test/Commands.Dns.Test.csproj @@ -1,5 +1,6 @@  + Debug @@ -15,6 +16,7 @@ ..\..\..\ true /assemblyCompareMode:StrongNameIgnoringVersion + a18e2cb8 true @@ -50,36 +52,31 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll False ..\..\..\packages\Microsoft.Azure.Management.Dns.1.2.1-preview\lib\net40\Microsoft.Azure.Management.Dns.dll - - False - ..\..\..\packages\Microsoft.Azure.Monitoring.2.2.1-preview\lib\net40\Microsoft.Azure.Monitoring.dll - False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll @@ -135,12 +132,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -157,30 +154,18 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {bc420543-c04e-4bf3-96e1-cd81b823bdd7} - Commands.Test.Utilities + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} Commands.Resources - - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} - Commands.Common.Storage - - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - {3cae1b57-ffec-4945-a6c5-6e5e8dea4ba9} Commands.Dns @@ -298,8 +283,10 @@ - - - + + + This project references NuGet package(s) that are missing on this computer. Use 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/ResourceManager/Dns/Commands.Dns.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/Dns/Commands.Dns.Test/Properties/AssemblyInfo.cs index 1ed9e02de53e..6c9e4c8f28a5 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/Dns/Commands.Dns.Test/Properties/AssemblyInfo.cs @@ -11,6 +11,7 @@ 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 @@ -20,7 +21,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Microsoft.Azure.Commands.Dns.Test")] -[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] +[assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +33,5 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("4623A8BD-075F-4B7C-9971-FBEDBFBDE521")] -[assembly: AssemblyVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] -[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] +[assembly: AssemblyVersion("1.0.0")] +[assembly: AssemblyFileVersion("1.0.0")] diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/Common.ps1 b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/Common.ps1 index d4772a60b9b9..982da545bf78 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/Common.ps1 +++ b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/Common.ps1 @@ -36,7 +36,7 @@ Gets the default location for a provider #> function Get-ProviderLocation($provider) { - $location = Get-AzureLocation | where {[string]::Compare($_.Name, $provider, $True) -eq $True} + $location = Get-AzureRMLocation | where {[string]::Compare($_.Name, $provider, $True) -eq $True} if ($location -eq $null) { "West US" } else { @@ -52,6 +52,6 @@ function TestSetup-CreateResourceGroup { $resourceGroupName = Get-ResourceGroupName $rglocation = Get-ProviderLocation "microsoft.compute" - $resourceGroup = New-AzureResourceGroup -Name $resourceGroupName -location $rglocation + $resourceGroup = New-AzureRMResourceGroup -Name $resourceGroupName -location $rglocation return $resourceGroup } \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/DnsTestsBase.cs b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/DnsTestsBase.cs index 583e45b722d2..dba0ca5bf768 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/DnsTestsBase.cs +++ b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/DnsTestsBase.cs @@ -12,21 +12,25 @@ // limitations under the License. // ---------------------------------------------------------------------------------- +using System.Collections.Generic; +using Microsoft.Azure.Test.HttpRecorder; + namespace Microsoft.Azure.Commands.ScenarioTest.DnsTests { - using System; - using System.Linq; - using Microsoft.Azure.Common.Authentication; - using Microsoft.Azure.Gallery; - using Microsoft.Azure.Management.Authorization; - using Microsoft.Azure.Management.Resources; - using Microsoft.Azure.Subscriptions.Csm; - using Microsoft.Azure.Test; + using System; + using System.Linq; + using Microsoft.Azure.Common.Authentication; + using Microsoft.Azure.Gallery; + using Microsoft.Azure.Management.Authorization; + using Microsoft.Azure.Management.Resources; + using Microsoft.Azure.Test; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Microsoft.Azure.Management.Dns; - - - public class DnsTestsBase + using Microsoft.Azure.Subscriptions; + using WindowsAzure.Commands.Test.Utilities.Common; + using Dns.Models; + + public class DnsTestsBase : RMTestBase { private CSMTestEnvironmentFactory csmTestFactory; @@ -105,7 +109,11 @@ public void RunPsTestWorkflow( Action cleanup, string callingClassType, string mockName) - { + { + Dictionary d = new Dictionary(); + d.Add("Microsoft.Authorization", "2014-07-01-preview"); + HttpMockServer.Matcher = new PermissiveRecordMatcherWithApiExclusion(false, d); + using (UndoContext context = UndoContext.Current) { context.Start(callingClassType, mockName); diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/RecordsTests.ps1 b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/RecordsTests.ps1 index 829bedd7063c..d9388e198330 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/RecordsTests.ps1 +++ b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/RecordsTests.ps1 @@ -21,9 +21,9 @@ function Test-RecordSetCrud $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = New-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName + $zone = New-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName - $createdRecord = New-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} + $createdRecord = New-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} Assert-NotNull $createdRecord Assert-NotNull $createdRecord.Etag @@ -34,7 +34,7 @@ function Test-RecordSetCrud Assert-AreEqual 1 $createdRecord.Tags.Count Assert-AreEqual 0 $createdRecord.Records.Count - $retrievedRecord = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $retrievedRecord = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-NotNull $retrievedRecord Assert-AreEqual $recordName $retrievedRecord.Name @@ -49,7 +49,7 @@ function Test-RecordSetCrud # TODO: change and pipe in retrievedRecord, not createdRecord but this is currently broken by a service bug $createdRecord.Tags = @{Name="tag1";Value="val1"},@{Name="tag2";Value="val2"} $createdRecord.Ttl = 1300 - $updatedRecord = $createdRecord | Add-AzureDnsRecordConfig -Ipv4Address 13.13.0.13 | Set-AzureDnsRecordSet + $updatedRecord = $createdRecord | Add-AzureRMDnsRecordConfig -Ipv4Address 13.13.0.13 | Set-AzureRMDnsRecordSet Assert-NotNull $updatedRecord Assert-NotNull $updatedRecord.Etag @@ -62,7 +62,7 @@ function Test-RecordSetCrud Assert-AreEqual 1 $updatedRecord.Records.Count Assert-AreEqual "13.13.0.13" $updatedRecord.Records[0].Ipv4Address - $retrievedRecord = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $retrievedRecord = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-NotNull $retrievedRecord Assert-AreEqual $recordName $retrievedRecord.Name @@ -75,13 +75,13 @@ function Test-RecordSetCrud # broken by service bug # Assert-AreEqual 1300 $createdRecord.Ttl - $removed = Remove-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A -PassThru -Force + $removed = Remove-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -95,36 +95,36 @@ function Test-RecordSetCrudTrimsDotFromZoneName $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = New-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName + $zone = New-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName - $createdRecord = New-AzureDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} + $createdRecord = New-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} Assert-NotNull $createdRecord Assert-AreEqual $zoneName $createdRecord.ZoneName Assert-AreEqual $recordName $createdRecord.Name Assert-AreEqual $resourceGroup.ResourceGroupName $createdRecord.ResourceGroupName - $retrievedRecord = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $retrievedRecord = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-NotNull $retrievedRecord Assert-AreEqual $recordName $retrievedRecord.Name Assert-AreEqual $zoneName $retrievedRecord.ZoneName Assert-AreEqual $resourceGroup.ResourceGroupName $retrievedRecord.ResourceGroupName - $retrievedRecord = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $retrievedRecord = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-NotNull $retrievedRecord Assert-AreEqual $recordName $retrievedRecord.Name Assert-AreEqual $zoneName $retrievedRecord.ZoneName Assert-AreEqual $resourceGroup.ResourceGroupName $retrievedRecord.ResourceGroupName - $removed = Remove-AzureDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A -PassThru -Force + $removed = Remove-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -135,7 +135,7 @@ function Test-RecordSetCrudWithPiping { $zoneName = getAssetname $recordName = getAssetname - $updatedRecord = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} | Add-AzureDnsRecordConfig -Ipv4Address 13.13.0.13 | Set-AzureDnsRecordSet + $updatedRecord = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} | Add-AzureRMDnsRecordConfig -Ipv4Address 13.13.0.13 | Set-AzureRMDnsRecordSet Assert-NotNull $updatedRecord Assert-NotNull $updatedRecord.Etag @@ -146,13 +146,13 @@ function Test-RecordSetCrudWithPiping Assert-AreEqual 1 $updatedRecord.Records.Count Assert-AreEqual "13.13.0.13" $updatedRecord.Records[0].Ipv4Address - $removed = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A | Remove-AzureDnsRecordSet -PassThru -Force + $removed = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A | Remove-AzureRMDnsRecordSet -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -Force } <# @@ -165,13 +165,13 @@ function Test-RecordSetCrudWithPipingTrimsDotFromZoneName $zoneNameWithDot = $zoneName + "." $recordName = getAssetname - $zone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $zone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName $zoneObjectWithDot = New-Object Microsoft.Azure.Commands.Dns.DnsZone $zoneObjectWithDot.Name = $zoneNameWithDot $zoneObjectWithDot.ResourceGroupName = $zone.ResourceGroupName - $createdRecord = $zoneObjectWithDot | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} + $createdRecord = $zoneObjectWithDot | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType A -Tags @{Name="tag1";Value="val1"} Assert-NotNull $createdRecord Assert-AreEqual $recordName $createdRecord.Name @@ -184,32 +184,32 @@ function Test-RecordSetCrudWithPipingTrimsDotFromZoneName $recordObjectWithDot.ResourceGroupName = $zone.ResourceGroupName $recordObjectWithDot.Ttl = 60 - $recordAfterAdd = $recordObjectWithDot | Add-AzureDnsRecordConfig -Ipv4Address 13.13.0.13 + $recordAfterAdd = $recordObjectWithDot | Add-AzureRMDnsRecordConfig -Ipv4Address 13.13.0.13 # this is an offline operation, we don't check the dot and don't change the object in place Assert-AreEqual $zoneNameWithDot $recordAfterAdd.ZoneName - $updatedRecord = $recordAfterAdd | Set-AzureDnsRecordSet -Overwrite + $updatedRecord = $recordAfterAdd | Set-AzureRMDnsRecordSet -Overwrite Assert-NotNull $updatedRecord Assert-AreEqual $recordName $updatedRecord.Name Assert-AreEqual $zoneName $updatedRecord.ZoneName Assert-AreEqual $zone.ResourceGroupName $updatedRecord.ResourceGroupName - $retrievedRecord = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $zone.ResourceGroupName -RecordType A + $retrievedRecord = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneNameWithDot -ResourceGroupName $zone.ResourceGroupName -RecordType A Assert-NotNull $retrievedRecord Assert-AreEqual $recordName $retrievedRecord.Name Assert-AreEqual $zoneName $retrievedRecord.ZoneName Assert-AreEqual $zone.ResourceGroupName $updatedRecord.ResourceGroupName - $removed = $recordObjectWithDot | Remove-AzureDnsRecordSet -Overwrite -PassThru -Force + $removed = $recordObjectWithDot | Remove-AzureRMDnsRecordSet -Overwrite -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $updatedRecord.ResourceGroupName -RecordType A } "ResourceNotFound: Resource not found." - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $zone.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $zone.ResourceGroupName -Force } <# @@ -221,32 +221,32 @@ function Test-RecordSetA $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType A + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType A # add two records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Ipv4Address 1.1.1.1 - $record = $record | Add-AzureDnsRecordConfig -Ipv4Address 2.2.2.2 - $record = $record | Remove-AzureDnsRecordConfig -Ipv4Address 1.1.1.1 - $record = $record | Remove-AzureDnsRecordConfig -Ipv4Address 3.3.3.3 + $record = $record | Add-AzureRMDnsRecordConfig -Ipv4Address 1.1.1.1 + $record = $record | Add-AzureRMDnsRecordConfig -Ipv4Address 2.2.2.2 + $record = $record | Remove-AzureRMDnsRecordConfig -Ipv4Address 1.1.1.1 + $record = $record | Remove-AzureRMDnsRecordConfig -Ipv4Address 3.3.3.3 - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-AreEqual 1 $getResult.Records.Count Assert-AreEqual "2.2.2.2" $getResult.Records[0].Ipv4Address - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType A Assert-AreEqual 1 $listResult[0].Records.Count Assert-AreEqual "2.2.2.2" $listResult[0].Records[0].Ipv4Address - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -258,35 +258,35 @@ function Test-RecordSetAAAA $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType AAAA + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType AAAA # add two records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Ipv6Address 1::11 - $record = $record | Add-AzureDnsRecordConfig -Ipv6Address 2::22 - $record = $record | Add-AzureDnsRecordConfig -Ipv6Address 4::44 - $record = $record | Remove-AzureDnsRecordConfig -Ipv6Address 2::22 - $record = $record | Remove-AzureDnsRecordConfig -Ipv6Address 3::33 - - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType AAAA + $record = $record | Add-AzureRMDnsRecordConfig -Ipv6Address 1::11 + $record = $record | Add-AzureRMDnsRecordConfig -Ipv6Address 2::22 + $record = $record | Add-AzureRMDnsRecordConfig -Ipv6Address 4::44 + $record = $record | Remove-AzureRMDnsRecordConfig -Ipv6Address 2::22 + $record = $record | Remove-AzureRMDnsRecordConfig -Ipv6Address 3::33 + + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType AAAA Assert-AreEqual 2 $getResult.Records.Count Assert-AreEqual "1::11" $getResult.Records[0].Ipv6Address Assert-AreEqual "4::44" $getResult.Records[1].Ipv6Address - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType AAAA + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType AAAA Assert-AreEqual 2 $listResult[0].Records.Count Assert-AreEqual "1::11" $listResult[0].Records[0].Ipv6Address Assert-AreEqual "4::44" $listResult[0].Records[1].Ipv6Address - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -298,32 +298,32 @@ function Test-RecordSetCNAME $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType CNAME + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType CNAME # add two records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Cname www.example.com - $record = $record | Remove-AzureDnsRecordConfig -Cname www.example.com - $record = $record | Add-AzureDnsRecordConfig -Cname www.contoso.com - $record = $record | Remove-AzureDnsRecordConfig -Cname gibberish + $record = $record | Add-AzureRMDnsRecordConfig -Cname www.example.com + $record = $record | Remove-AzureRMDnsRecordConfig -Cname www.example.com + $record = $record | Add-AzureRMDnsRecordConfig -Cname www.contoso.com + $record = $record | Remove-AzureRMDnsRecordConfig -Cname gibberish - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType CNAME + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType CNAME Assert-AreEqual 1 $getResult.Records.Count Assert-AreEqual "www.contoso.com" $getResult.Records[0].Cname - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType CNAME + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType CNAME Assert-AreEqual 1 $listResult[0].Records.Count Assert-AreEqual "www.contoso.com" $listResult[0].Records[0].Cname - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -335,34 +335,34 @@ function Test-RecordSetMX $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType MX + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType MX # add two records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Exchange mail1.theg.com -Preference 10 - $record = $record | Add-AzureDnsRecordConfig -Exchange mail2.theg.com -Preference 10 - $record = $record | Remove-AzureDnsRecordConfig -Exchange mail1.theg.com -Preference 10 - $record = $record | Remove-AzureDnsRecordConfig -Exchange mail2.theg.com -Preference 15 + $record = $record | Add-AzureRMDnsRecordConfig -Exchange mail1.theg.com -Preference 10 + $record = $record | Add-AzureRMDnsRecordConfig -Exchange mail2.theg.com -Preference 10 + $record = $record | Remove-AzureRMDnsRecordConfig -Exchange mail1.theg.com -Preference 10 + $record = $record | Remove-AzureRMDnsRecordConfig -Exchange mail2.theg.com -Preference 15 - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType MX + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType MX Assert-AreEqual 1 $getResult.Records.Count Assert-AreEqual "mail2.theg.com" $getResult.Records[0].Exchange Assert-AreEqual 10 $getResult.Records[0].Preference - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType MX + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType MX Assert-AreEqual 1 $listResult[0].Records.Count Assert-AreEqual "mail2.theg.com" $listResult[0].Records[0].Exchange Assert-AreEqual 10 $listResult[0].Records[0].Preference - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -374,25 +374,25 @@ function Test-RecordSetNS $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType NS + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType NS # add three records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Nsdname ns1.example.com - $record = $record | Add-AzureDnsRecordConfig -Nsdname ns2.example.com - $record = $record | Add-AzureDnsRecordConfig -Nsdname ns3.example.com - $record = $record | Remove-AzureDnsRecordConfig -Nsdname ns3.example.com - $record = $record | Remove-AzureDnsRecordConfig -Nsdname ns4.example.com - - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType NS + $record = $record | Add-AzureRMDnsRecordConfig -Nsdname ns1.example.com + $record = $record | Add-AzureRMDnsRecordConfig -Nsdname ns2.example.com + $record = $record | Add-AzureRMDnsRecordConfig -Nsdname ns3.example.com + $record = $record | Remove-AzureRMDnsRecordConfig -Nsdname ns3.example.com + $record = $record | Remove-AzureRMDnsRecordConfig -Nsdname ns4.example.com + + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType NS Assert-AreEqual 2 $getResult.Records.Count Assert-AreEqual "ns1.example.com" $getResult.Records[0].Nsdname Assert-AreEqual "ns2.example.com" $getResult.Records[1].Nsdname - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType NS + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType NS # the authoritative NS record set will be the first result Assert-AreEqual 2 $listResult.Count @@ -400,11 +400,11 @@ function Test-RecordSetNS Assert-AreEqual "ns1.example.com" $listResult[1].Records[0].Nsdname Assert-AreEqual "ns2.example.com" $listResult[1].Records[1].Nsdname - $removed = $listResult[1] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[1] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -416,35 +416,35 @@ function Test-RecordSetTXT $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType TXT + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType TXT # add three records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Value text1 - $record = $record | Add-AzureDnsRecordConfig -Value text2 - $record = $record | Add-AzureDnsRecordConfig -Value text3 - $record = $record | Remove-AzureDnsRecordConfig -Value text1 - $record = $record | Remove-AzureDnsRecordConfig -Value text4 - - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType TXT + $record = $record | Add-AzureRMDnsRecordConfig -Value text1 + $record = $record | Add-AzureRMDnsRecordConfig -Value text2 + $record = $record | Add-AzureRMDnsRecordConfig -Value text3 + $record = $record | Remove-AzureRMDnsRecordConfig -Value text1 + $record = $record | Remove-AzureRMDnsRecordConfig -Value text4 + + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType TXT Assert-AreEqual 2 $getResult.Records.Count Assert-AreEqual text2 $getResult.Records[0].Value Assert-AreEqual text3 $getResult.Records[1].Value - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType TXT + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType TXT Assert-AreEqual 2 $listResult[0].Records.Count Assert-AreEqual text2 $listResult[0].Records[0].Value Assert-AreEqual text3 $listResult[0].Records[1].Value - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -456,18 +456,18 @@ function Test-RecordSetSRV $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType SRV + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType SRV # add two records, remove one, remove another no-op - $record = $record | Add-AzureDnsRecordConfig -Port 53 -Priority 1 -Target ns1.example.com -Weight 5 - $record = $record | Add-AzureDnsRecordConfig -Port 53 -Priority 2 -Target ns2.example.com -Weight 10 - $record = $record | Remove-AzureDnsRecordConfig -Port 53 -Priority 2 -Target ns2.example.com -Weight 10 - $record = $record | Remove-AzureDnsRecordConfig -Port 42 -Priority 999 -Target ns5.example.com -Weight 1600 + $record = $record | Add-AzureRMDnsRecordConfig -Port 53 -Priority 1 -Target ns1.example.com -Weight 5 + $record = $record | Add-AzureRMDnsRecordConfig -Port 53 -Priority 2 -Target ns2.example.com -Weight 10 + $record = $record | Remove-AzureRMDnsRecordConfig -Port 53 -Priority 2 -Target ns2.example.com -Weight 10 + $record = $record | Remove-AzureRMDnsRecordConfig -Port 42 -Priority 999 -Target ns5.example.com -Weight 1600 - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SRV + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SRV Assert-AreEqual 1 $getResult.Records.Count Assert-AreEqual 53 $getResult.Records[0].Port @@ -475,7 +475,7 @@ function Test-RecordSetSRV Assert-AreEqual ns1.example.com $getResult.Records[0].Target Assert-AreEqual 5 $getResult.Records[0].Weight - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SRV + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SRV Assert-AreEqual 1 $listResult[0].Records.Count Assert-AreEqual 53 $listResult[0].Records[0].Port @@ -483,11 +483,11 @@ function Test-RecordSetSRV Assert-AreEqual ns1.example.com $listResult[0].Records[0].Target Assert-AreEqual 5 $listResult[0].Records[0].Weight - $removed = $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru + $removed = $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru Assert-True { $removed } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# @@ -499,9 +499,9 @@ function Test-RecordSetSOA $zoneName = getAssetname $recordName = "@" $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | Get-AzureDnsRecordSet -Name $recordName -RecordType SOA + $record = $zone | Get-AzureRMDnsRecordSet -Name $recordName -RecordType SOA # can only update SOA values, can't add or remove Assert-AreEqual 1 $record.Count @@ -511,8 +511,8 @@ function Test-RecordSetSOA $record.Records[0].MinimumTtl = 321 $record.Ttl = 110901 - $record | Set-AzureDnsRecordSet - $getResult = Get-AzureDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SOA + $record | Set-AzureRMDnsRecordSet + $getResult = Get-AzureRMDnsRecordSet -Name $recordName -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SOA Assert-AreEqual 1 $getResult.Records.Count Assert-AreEqual 13 $getResult.Records[0].RefreshTime @@ -521,7 +521,7 @@ function Test-RecordSetSOA Assert-AreEqual 321 $getResult.Records[0].MinimumTtl Assert-AreEqual 110901 $getResult.Ttl - $listResult = Get-AzureDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SOA + $listResult = Get-AzureRMDnsRecordSet -ZoneName $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -RecordType SOA Assert-AreEqual 1 $listResult[0].Records.Count Assert-AreEqual 13 $listResult[0].Records[0].RefreshTime @@ -530,36 +530,36 @@ function Test-RecordSetSOA Assert-AreEqual 321 $listResult[0].Records[0].MinimumTtl Assert-AreEqual 110901 $listResult[0].Ttl - Assert-Throws { $listResult[0] | Remove-AzureDnsRecordSet -Force -PassThru } "BadRequest: Records of type 'SOA' cannot be deleted." + Assert-Throws { $listResult[0] | Remove-AzureRMDnsRecordSet -Force -PassThru } "BadRequest: Records of type 'SOA' cannot be deleted." - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force } <# .SYNOPSIS -New-AzureDnsRecordSet when the record set already exists +New-AzureRMDnsRecordSet when the record set already exists #> function Test-RecordSetNewAlreadyExists { $zoneName = getAssetname $recordName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $zone = $resourceGroup | New-AzureDnsZone -Name $zoneName + $zone = $resourceGroup | New-AzureRMDnsZone -Name $zoneName - $record = $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType A | Add-AzureDnsRecordConfig -Ipv4Address 1.2.9.8 + $record = $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType A | Add-AzureRMDnsRecordConfig -Ipv4Address 1.2.9.8 # error the second time - Assert-Throws { $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 212 -RecordType A } "PreconditionFailed: The condition '*' in the If-None-Match header was not satisfied. The current was 'n/a'." + Assert-Throws { $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 212 -RecordType A } "PreconditionFailed: The condition '*' in the If-None-Match header was not satisfied. The current was 'n/a'." - $zone | New-AzureDnsRecordSet -Name $recordName -Ttl 999 -RecordType A -Overwrite -Force + $zone | New-AzureRMDnsRecordSet -Name $recordName -Ttl 999 -RecordType A -Overwrite -Force - $retrievedRecordSet - $zone | Get-AzureDnsRecordSet -Name $recordName -RecordType A + $retrievedRecordSet - $zone | Get-AzureRMDnsRecordSet -Name $recordName -RecordType A Assert-AreEqual 999 $retrievedRecordSet.Ttl Assert-AreEqual 2 $retrievedRecordSet.Records.Count - $retrievedRecordSet | Remove-AzureDnsRecordSet -Force - $zone | Remove-AzureDnsZone -Force + $retrievedRecordSet | Remove-AzureRMDnsRecordSet -Force + $zone | Remove-AzureRMDnsZone -Force } <# @@ -570,12 +570,12 @@ function Test-RecordSetAddRecordTypeMismatch { $zoneName = getAssetname $recordName = getAssetname - $recordSet = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType MX + $recordSet = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType MX - Assert-Throws { $recordSet | Add-AzureDnsRecordConfig -Ipv6Address 3::90 } "Cannot add a record of type AAAA to a record set of type MX. The types must match." + Assert-Throws { $recordSet | Add-AzureRMDnsRecordConfig -Ipv6Address 3::90 } "Cannot add a record of type AAAA to a record set of type MX. The types must match." - $recordSet | Remove-AzureDnsRecordSet -Force - Remove-AzureDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force + $recordSet | Remove-AzureRMDnsRecordSet -Force + Remove-AzureRMDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force } <# @@ -586,20 +586,20 @@ function Test-RecordSetAddTwoCnames { $zoneName = getAssetname $recordName = getAssetname - $recordSet = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType CNAME + $recordSet = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType CNAME - $recordSet | Add-AzureDnsRecordConfig -Cname www.goril.la - Assert-Throws { $recordSet | Add-AzureDnsRecordConfig -Cname rubadub.dub } "There already exists a CNAME record in this set. A CNAME record set can only contain one record." + $recordSet | Add-AzureRMDnsRecordConfig -Cname www.goril.la + Assert-Throws { $recordSet | Add-AzureRMDnsRecordConfig -Cname rubadub.dub } "There already exists a CNAME record in this set. A CNAME record set can only contain one record." Assert-AreEqual 1 $recordSet.Records.Count - $recordSet | Remove-AzureDnsRecordConfig -Cname www.goril.la - $recordSet | Add-AzureDnsRecordConfig -Cname rubadub.dub + $recordSet | Remove-AzureRMDnsRecordConfig -Cname www.goril.la + $recordSet | Add-AzureRMDnsRecordConfig -Cname rubadub.dub Assert-AreEqual 1 $recordSet.Records.Count Assert-AreEqual rubadub.dub $recordSet.Records[0].Cname - $recordSet | Remove-AzureDnsRecordSet -Force - Remove-AzureDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force + $recordSet | Remove-AzureRMDnsRecordSet -Force + Remove-AzureRMDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force } <# @@ -610,12 +610,12 @@ function Test-RecordSetRemoveRecordTypeMismatch { $zoneName = getAssetname $recordName = getAssetname - $recordSet = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType TXT + $recordSet = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType TXT - Assert-Throws { $recordSet | Remove-AzureDnsRecordConfig -Nsdname nsa.fed.gov } "Cannot remove a record of type NS from a record set of type TXT. The types must match." + Assert-Throws { $recordSet | Remove-AzureRMDnsRecordConfig -Nsdname nsa.fed.gov } "Cannot remove a record of type NS from a record set of type TXT. The types must match." - $recordSet | Remove-AzureDnsRecordSet -Force - Remove-AzureDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force + $recordSet | Remove-AzureRMDnsRecordSet -Force + Remove-AzureRMDnsZone -Name $recordSet.ZoneName -ResourceGroupName $recordSet.ResourceGroupName -Force } <# @@ -626,22 +626,22 @@ function Test-RecordSetEtagMismatch { $zoneName = getAssetname $recordName = getAssetname - $recordSet = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName | New-AzureDnsRecordSet -Name $recordName -Ttl 100 -RecordType AAAA + $recordSet = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName | New-AzureRMDnsRecordSet -Name $recordName -Ttl 100 -RecordType AAAA $originalEtag = $recordSet.Etag $recordSet.Etag = "gibberish" - Assert-Throws { $recordSet | Set-AzureDnsRecordSet } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." + Assert-Throws { $recordSet | Set-AzureRMDnsRecordSet } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." - $updatedRecordSet = $recordSet | Set-AzureDnsRecordSet -Overwrite + $updatedRecordSet = $recordSet | Set-AzureRMDnsRecordSet -Overwrite Assert-AreNotEqual "gibberish" $updatedRecordSet.Etag Assert-AreNotEqual $recordSet.Etag $updatedRecordSet.Etag - Assert-Throws { $recordSet | Remove-AzureDnsRecordSet -Force } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$($updatedRecordSet.Etag)'." + Assert-Throws { $recordSet | Remove-AzureRMDnsRecordSet -Force } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$($updatedRecordSet.Etag)'." - Assert-True { $recordSet | Remove-AzureDnsRecordSet -Overwrite -Force -PassThru } + Assert-True { $recordSet | Remove-AzureRMDnsRecordSet -Overwrite -Force -PassThru } - Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $recordSet.ResourceGroupName -Force + Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $recordSet.ResourceGroupName -Force } <# @@ -655,37 +655,37 @@ function Test-RecordSetGet $recordName2 = getAssetname $recordName3 = getAssetname - $zone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $zone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName # test for root records - $nsRecords = Get-AzureDnsRecordSet -Zone $zone -RecordType NS - $soaRecords = Get-AzureDnsRecordSet -Zone $zone -RecordType SOA + $nsRecords = Get-AzureRMDnsRecordSet -Zone $zone -RecordType NS + $soaRecords = Get-AzureRMDnsRecordSet -Zone $zone -RecordType SOA Assert-AreEqual 1 $nsRecords.Count Assert-AreEqual 1 $soaRecords.Count # test for non-root records - New-AzureDnsRecordSet -Zone $zone -Name $recordName1 -Ttl 100 -RecordType AAAA - New-AzureDnsRecordSet -Zone $zone -Name $recordName2 -Ttl 1200 -RecordType AAAA - New-AzureDnsRecordSet -Zone $zone -Name $recordName3 -Ttl 1500 -RecordType MX + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName1 -Ttl 100 -RecordType AAAA + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName2 -Ttl 1200 -RecordType AAAA + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName3 -Ttl 1500 -RecordType MX - $aaaaRecords = $zone | Get-AzureDnsRecordSet -RecordType AAAA - $mxRecords = $zone | Get-AzureDnsRecordSet -RecordType MX + $aaaaRecords = $zone | Get-AzureRMDnsRecordSet -RecordType AAAA + $mxRecords = $zone | Get-AzureRMDnsRecordSet -RecordType MX Assert-AreEqual 2 $aaaaRecords.Count Assert-AreEqual 1 $mxRecords.Count # all records - $allRecords = Get-AzureDnsRecordSet -Zone $zone + $allRecords = Get-AzureRMDnsRecordSet -Zone $zone Assert-AreEqual 5 $allRecords.Count - $zone | Remove-AzureDnsRecordSet -Name $recordName1 -RecordType AAAA -Force - $zone | Remove-AzureDnsRecordSet -Name $recordName2 -RecordType AAAA -Force - $zone | Remove-AzureDnsRecordSet -Name $recordName3 -RecordType MX -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName1 -RecordType AAAA -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName2 -RecordType AAAA -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName3 -RecordType MX -Force - $zone | Remove-AzureDnsZone -Force -Overwrite + $zone | Remove-AzureRMDnsZone -Force -Overwrite } <# @@ -704,32 +704,32 @@ function Test-RecordSetGetWithEndsWith $recordName2 = (getAssetname) + $anotherSuffix $recordName3 = (getAssetname) + $recordSuffix - $zone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $zone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName # test for root records - $rootRecords = $zone | Get-AzureDnsRecordSet -EndsWith $rootRecordName + $rootRecords = $zone | Get-AzureRMDnsRecordSet -EndsWith $rootRecordName Assert-AreEqual 2 $rootRecords.Count -Message ("Expected 2 root records. Actual: " + $rootRecords.Count) - New-AzureDnsRecordSet -Zone $zone -Name $recordName1 -Ttl 100 -RecordType AAAA - New-AzureDnsRecordSet -Zone $zone -Name $recordName2 -Ttl 1200 -RecordType AAAA - New-AzureDnsRecordSet -Zone $zone -Name $recordName3 -Ttl 1500 -RecordType MX + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName1 -Ttl 100 -RecordType AAAA + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName2 -Ttl 1200 -RecordType AAAA + New-AzureRMDnsRecordSet -Zone $zone -Name $recordName3 -Ttl 1500 -RecordType MX # test for records within type - $aaaaRecords = $zone | Get-AzureDnsRecordSet -RecordType AAAA -EndsWith $recordSuffix - $mxRecords = $zone | Get-AzureDnsRecordSet -RecordType MX -EndsWith $recordSuffix + $aaaaRecords = $zone | Get-AzureRMDnsRecordSet -RecordType AAAA -EndsWith $recordSuffix + $mxRecords = $zone | Get-AzureRMDnsRecordSet -RecordType MX -EndsWith $recordSuffix Assert-AreEqual 1 $aaaaRecords.Count -Message ("Expected 1 AAAA record. Actual: " + $aaaaRecords.Count) Assert-AreEqual 1 $mxRecords.Count -Message ("Expected 1 MX record. Actual: " + $mxRecords.Count) # all records - $allRecords = $zone | Get-AzureDnsRecordSet -EndsWith $recordSuffix + $allRecords = $zone | Get-AzureRMDnsRecordSet -EndsWith $recordSuffix Assert-AreEqual 2 $allRecords.Count -Message ("Expected 2 records across types. Actual: " + $allRecords.Count) - $zone | Remove-AzureDnsRecordSet -Name $recordName1 -RecordType AAAA -Force - $zone | Remove-AzureDnsRecordSet -Name $recordName2 -RecordType AAAA -Force - $zone | Remove-AzureDnsRecordSet -Name $recordName3 -RecordType MX -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName1 -RecordType AAAA -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName2 -RecordType AAAA -Force + $zone | Remove-AzureRMDnsRecordSet -Name $recordName3 -RecordType MX -Force - $zone | Remove-AzureDnsZone -Force -Overwrite + $zone | Remove-AzureRMDnsZone -Force -Overwrite } \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/ZoneTests.ps1 b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/ZoneTests.ps1 index 41d5a9a4fe82..099c734b8a93 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/ZoneTests.ps1 +++ b/src/ResourceManager/Dns/Commands.Dns.Test/ScenarioTests/ZoneTests.ps1 @@ -20,7 +20,7 @@ function Test-ZoneCrud { $zoneName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $createdZone = New-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"} + $createdZone = New-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"} Assert-NotNull $createdZone Assert-NotNull $createdZone.Etag @@ -28,7 +28,7 @@ function Test-ZoneCrud Assert-AreEqual $resourceGroup.ResourceGroupName $createdZone.ResourceGroupName Assert-AreEqual 1 $createdZone.Tags.Count - $retrievedZone = Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName + $retrievedZone = Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName Assert-NotNull $retrievedZone Assert-NotNull $retrievedZone.Etag @@ -37,7 +37,7 @@ function Test-ZoneCrud Assert-AreEqual $retrievedZone.Etag $createdZone.Etag Assert-AreEqual 1 $retrievedZone.Tags.Count - $updatedZone = Set-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"},@{Name="tag2";Value="value2"} + $updatedZone = Set-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"},@{Name="tag2";Value="value2"} Assert-NotNull $updatedZone Assert-NotNull $updatedZone.Etag @@ -46,7 +46,7 @@ function Test-ZoneCrud Assert-AreNotEqual $updatedZone.Etag $createdZone.Etag Assert-AreEqual 2 $updatedZone.Tags.Count - $retrievedZone = Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName + $retrievedZone = Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName Assert-NotNull $retrievedZone Assert-NotNull $retrievedZone.Etag @@ -55,11 +55,11 @@ function Test-ZoneCrud Assert-AreEqual $retrievedZone.Etag $updatedZone.Etag Assert-AreEqual 2 $retrievedZone.Tags.Count - $removed = Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -PassThru -Force + $removed = Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "ResourceNotFound: Resource not found." } <# @@ -71,26 +71,26 @@ function Test-ZoneCrudTrimsDot $zoneName = getAssetname $zoneNameWithDot = $zoneName + "." $resourceGroup = TestSetup-CreateResourceGroup - $createdZone = New-AzureDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName + $createdZone = New-AzureRMDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName Assert-NotNull $createdZone Assert-AreEqual $zoneName $createdZone.Name - $retrievedZone = Get-AzureDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName + $retrievedZone = Get-AzureRMDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName Assert-NotNull $retrievedZone Assert-AreEqual $zoneName $retrievedZone.Name - $updatedZone = Set-AzureDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"},@{Name="tag2";Value="value2"} + $updatedZone = Set-AzureRMDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -Tags @{Name="tag1";Value="value1"},@{Name="tag2";Value="value2"} Assert-NotNull $updatedZone Assert-AreEqual $zoneName $updatedZone.Name - $removed = Remove-AzureDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -PassThru -Force + $removed = Remove-AzureRMDnsZone -Name $zoneNameWithDot -ResourceGroupName $resourceGroup.ResourceGroupName -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "ResourceNotFound: Resource not found." } <# @@ -100,7 +100,7 @@ Zone CRUD with piping function Test-ZoneCrudWithPiping { $zoneName = getAssetname - $createdZone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName -Tags @{Name="tag1";Value="value1"} + $createdZone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName -Tags @{Name="tag1";Value="value1"} $resourceGroupName = $createdZone.ResourceGroupName @@ -110,7 +110,7 @@ function Test-ZoneCrudWithPiping Assert-NotNull $createdZone.ResourceGroupName Assert-AreEqual 1 $createdZone.Tags.Count - $updatedZone = Get-AzureResourceGroup -Name $resourceGroupName | Get-AzureDnsZone -Name $zoneName | Set-AzureDnsZone -Tags $null + $updatedZone = Get-AzureRMResourceGroup -Name $resourceGroupName | Get-AzureRMDnsZone -Name $zoneName | Set-AzureRMDnsZone -Tags $null Assert-NotNull $updatedZone Assert-NotNull $updatedZone.Etag @@ -119,11 +119,11 @@ function Test-ZoneCrudWithPiping Assert-AreNotEqual $updatedZone.Etag $createdZone.Etag Assert-AreEqual 0 $updatedZone.Tags.Count - $removed = Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName | Remove-AzureDnsZone -PassThru -Force + $removed = Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName | Remove-AzureRMDnsZone -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "ResourceNotFound: Resource not found." } <# @@ -134,7 +134,7 @@ function Test-ZoneCrudWithPipingTrimsDot { $zoneName = getAssetname $zoneNameWithDot = $zoneName + "." - $createdZone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $createdZone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName $resourceGroupName = $createdZone.ResourceGroupName @@ -142,16 +142,16 @@ function Test-ZoneCrudWithPipingTrimsDot $zoneObjectWithDot.Name = $zoneNameWithDot $zoneObjectWithDot.ResourceGroupName = $resourceGroupName - $updatedZone = $zoneObjectWithDot | Set-AzureDnsZone -Overwrite + $updatedZone = $zoneObjectWithDot | Set-AzureRMDnsZone -Overwrite Assert-NotNull $updatedZone Assert-AreEqual $zoneName $updatedZone.Name - $removed = $zoneObjectWithDot | Remove-AzureDnsZone -Overwrite -PassThru -Force + $removed = $zoneObjectWithDot | Remove-AzureRMDnsZone -Overwrite -PassThru -Force Assert-True { $removed } - Assert-Throws { Get-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "ResourceNotFound: Resource not found." + Assert-Throws { Get-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "ResourceNotFound: Resource not found." } <# @@ -161,13 +161,13 @@ Zone CRUD with piping function Test-ZoneNewAlreadyExists { $zoneName = getAssetname - $createdZone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $createdZone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName $resourceGroupName = $createdZone.ResourceGroupName Assert-NotNull $createdZone - Assert-Throws { New-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "PreconditionFailed: The condition '*' in the If-None-Match header was not satisfied. The current was 'n/a'." + Assert-Throws { New-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroupName } "PreconditionFailed: The condition '*' in the If-None-Match header was not satisfied. The current was 'n/a'." - $createdZone | Remove-AzureDnsZone -PassThru -Force + $createdZone | Remove-AzureRMDnsZone -PassThru -Force } <# @@ -177,18 +177,18 @@ Zone CRUD with piping function Test-ZoneSetEtagMismatch { $zoneName = getAssetname - $createdZone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $createdZone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName $originalEtag = $createdZone.Etag $createdZone.Etag = "gibberish" - Assert-Throws { $createdZone | Set-AzureDnsZone } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." + Assert-Throws { $createdZone | Set-AzureRMDnsZone } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." - $updatedZone = $createdZone | Set-AzureDnsZone -Overwrite + $updatedZone = $createdZone | Set-AzureRMDnsZone -Overwrite Assert-AreNotEqual "gibberish" $updatedZone.Etag Assert-AreNotEqual $createdZone.Etag $updatedZone.Etag - $updatedZone | Remove-AzureDnsZone -PassThru -Force + $updatedZone | Remove-AzureRMDnsZone -PassThru -Force } <# @@ -200,7 +200,7 @@ function Test-ZoneSetNotFound $zoneName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - Assert-Throws { Set-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "PreconditionFailed: The condition '*' in the If-Match header was not satisfied. The current was 'n/a'." + Assert-Throws { Set-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName } "PreconditionFailed: The condition '*' in the If-Match header was not satisfied. The current was 'n/a'." } <# @@ -210,13 +210,13 @@ Zone CRUD with piping function Test-ZoneRemoveEtagMismatch { $zoneName = getAssetname - $createdZone = TestSetup-CreateResourceGroup | New-AzureDnsZone -Name $zoneName + $createdZone = TestSetup-CreateResourceGroup | New-AzureRMDnsZone -Name $zoneName $originalEtag = $createdZone.Etag $createdZone.Etag = "gibberish" - Assert-Throws { $createdZone | Remove-AzureDnsZone -Force } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." + Assert-Throws { $createdZone | Remove-AzureRMDnsZone -Force } "PreconditionFailed: The condition 'gibberish' in the If-Match header was not satisfied. The current was '$originalEtag'." - $removed = $createdZone | Remove-AzureDnsZone -Overwrite -Force -PassThru + $removed = $createdZone | Remove-AzureRMDnsZone -Overwrite -Force -PassThru Assert-True { $removed } } @@ -230,7 +230,7 @@ function Test-ZoneRemoveNonExisting $zoneName = getAssetname $resourceGroup = TestSetup-CreateResourceGroup - $removed = Remove-AzureDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force -PassThru + $removed = Remove-AzureRMDnsZone -Name $zoneName -ResourceGroupName $resourceGroup.ResourceGroupName -Force -PassThru Assert-True { $removed } } @@ -243,10 +243,10 @@ function Test-ZoneList $zoneName1 = getAssetname $zoneName2 = $zoneName1 + "A" $resourceGroup = TestSetup-CreateResourceGroup - $createdZone1 = $resourceGroup | New-AzureDnsZone -Name $zoneName1 -Tags @{Name="tag1";Value="value1"} - $createdZone2 = $resourceGroup | New-AzureDnsZone -Name $zoneName2 + $createdZone1 = $resourceGroup | New-AzureRMDnsZone -Name $zoneName1 -Tags @{Name="tag1";Value="value1"} + $createdZone2 = $resourceGroup | New-AzureRMDnsZone -Name $zoneName2 - $result = Get-AzureDnsZone -ResourceGroupName $resourceGroup.ResourceGroupName + $result = Get-AzureRMDnsZone -ResourceGroupName $resourceGroup.ResourceGroupName Assert-AreEqual 2 $result.Count @@ -260,7 +260,7 @@ function Test-ZoneList Assert-NotNull $resourceGroup.ResourceGroupName $result[1].ResourceGroupName Assert-AreEqual 0 $result[1].Tags.Count - $result | Remove-AzureDnsZone -PassThru -Force + $result | Remove-AzureRMDnsZone -PassThru -Force } <# @@ -274,10 +274,10 @@ function Test-ZoneListWithEndsWith $zoneName1 = getAssetname $zoneName2 = $zoneName1 + $suffix $resourceGroup = TestSetup-CreateResourceGroup - $createdZone1 = $resourceGroup | New-AzureDnsZone -Name $zoneName1 - $createdZone2 = $resourceGroup | New-AzureDnsZone -Name $zoneName2 + $createdZone1 = $resourceGroup | New-AzureRMDnsZone -Name $zoneName1 + $createdZone2 = $resourceGroup | New-AzureRMDnsZone -Name $zoneName2 - $result = Get-AzureDnsZone -ResourceGroupName $resourceGroup.ResourceGroupName -EndsWith $suffixWithDot + $result = Get-AzureRMDnsZone -ResourceGroupName $resourceGroup.ResourceGroupName -EndsWith $suffixWithDot Assert-AreEqual 1 $result.Count @@ -285,5 +285,5 @@ function Test-ZoneListWithEndsWith Assert-AreEqual $createdZone2.Name $result[0].Name Assert-NotNull $resourceGroup.ResourceGroupName $result[0].ResourceGroupName - $result | Remove-AzureDnsZone -PassThru -Force + $result | Remove-AzureRMDnsZone -PassThru -Force } \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsRecordSetTests.cs b/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsRecordSetTests.cs index f84f11335454..809d807f3ec1 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsRecordSetTests.cs +++ b/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsRecordSetTests.cs @@ -16,9 +16,10 @@ namespace Microsoft.Azure.Commands.Dns.Test.UnitTests { using System.Management.Automation; using Microsoft.WindowsAzure.Commands.ScenarioTest; + using WindowsAzure.Commands.Test.Utilities.Common; using Xunit; - public class GetAzureDnsRecordSetTests + public class GetAzureDnsRecordSetTests : RMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsZoneTests.cs b/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsZoneTests.cs index b1f807e7b208..3b330fb07f91 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsZoneTests.cs +++ b/src/ResourceManager/Dns/Commands.Dns.Test/UnitTests/GetAzureDnsZoneTests.cs @@ -16,9 +16,10 @@ namespace Microsoft.Azure.Commands.Dns.Test.UnitTests { using System.Management.Automation; using Microsoft.WindowsAzure.Commands.ScenarioTest; + using WindowsAzure.Commands.Test.Utilities.Common; using Xunit; - public class GetAzureDnsZoneTests + public class GetAzureDnsZoneTests : RMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ResourceManager/Dns/Commands.Dns.Test/packages.config b/src/ResourceManager/Dns/Commands.Dns.Test/packages.config index 7484391e54ae..bf84c70bcf8b 100644 --- a/src/ResourceManager/Dns/Commands.Dns.Test/packages.config +++ b/src/ResourceManager/Dns/Commands.Dns.Test/packages.config @@ -2,12 +2,12 @@ - + - + - - + + @@ -19,5 +19,5 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns/Commands.Dns.csproj b/src/ResourceManager/Dns/Commands.Dns/Commands.Dns.csproj index 90c854d7d19e..b4ae88e77d1b 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Commands.Dns.csproj +++ b/src/ResourceManager/Dns/Commands.Dns/Commands.Dns.csproj @@ -20,7 +20,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Dns + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.Dns DEBUG;TRACE prompt 4 @@ -35,7 +35,7 @@ true MSSharedLibKey.snk true - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\Dns\ + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.Dns\ TRACE;SIGN true pdbonly @@ -65,6 +65,10 @@ + + AzureRM.Dns.psd1 + PreserveNewest + True @@ -92,12 +96,12 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + True ..\..\..\packages\Microsoft.Azure.Management.Dns.1.2.1-preview\lib\net40\Microsoft.Azure.Management.Dns.dll @@ -164,9 +168,9 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common {2493a8f7-1949-4f29-8d53-9d459046c3b8} @@ -176,11 +180,12 @@ + + + Always + + - - - - \ No newline at end of file diff --git a/src/ResourceManager/Dns/Commands.Dns/Microsoft.Azure.Commands.Dns.dll-Help.xml b/src/ResourceManager/Dns/Commands.Dns/Microsoft.Azure.Commands.Dns.dll-Help.xml index 18045fedb3bd..f2f1d2252756 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Microsoft.Azure.Commands.Dns.dll-Help.xml +++ b/src/ResourceManager/Dns/Commands.Dns/Microsoft.Azure.Commands.Dns.dll-Help.xml @@ -3,7 +3,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Adds a DNS record to a record set. @@ -15,13 +15,13 @@ - The Add-AzureDnsRecordConfig cmdlet adds a Domain Name System (DNS) record to a RecordSet object. The RecordSet object is an offline object, and changes to it do not change the DNS responses until after you run the Set-AzureDnsRecordSet cmdlet to persist the change to the Microsoft Azure DNS service. + The Add-AzureRMDnsRecordConfig cmdlet adds a Domain Name System (DNS) record to a RecordSet object. The RecordSet object is an offline object, and changes to it do not change the DNS responses until after you run the Set-AzureRMDnsRecordSet cmdlet to persist the change to the Microsoft Azure DNS service. You cannot remove SOA records. You can pass the RecordSet object to this cmdlet as a parameter or by using the pipeline operator. - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -45,7 +45,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -76,7 +76,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -100,7 +100,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -124,7 +124,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -148,7 +148,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -193,7 +193,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -217,7 +217,7 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig Profile @@ -422,7 +422,7 @@ - You can pipe a RecordSet object to this cmdlet. This is an offline representation of the RecordSet, and changes to it do not change DNS responses until after you run the Set-AzureDnsRecordSet cmdlet. + You can pipe a RecordSet object to this cmdlet. This is an offline representation of the RecordSet, and changes to it do not change DNS responses until after you run the Set-AzureRMDnsRecordSet cmdlet. @@ -450,7 +450,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -RecordSet $RecordSet -Ipv4Address "172.16.0.0" + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -RecordSet $RecordSet -Ipv4Address "172.16.0.0" This command adds an IPv4 address as an A record to the record set stored in the $RecordSet variable. @@ -469,7 +469,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -RecordSet $RecordSet -Ipv6Address "2001:DB80:4009:1803::1005" + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -RecordSet $RecordSet -Ipv6Address "2001:DB80:4009:1803::1005" This command adds an IPv6 address as an AAAA record to the record set stored in the $RecordSet variable. @@ -488,7 +488,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -RecordSet $RecordSet -Cname "contoso.com" + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -RecordSet $RecordSet -Cname "contoso.com" This command adds contoso.com as a CNAME record to the record set stored in the $RecordSet variable. @@ -507,7 +507,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -Exchange "mail.microsoft.com" -Preference 5 -RecordSet $RecordSet + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -Exchange "mail.microsoft.com" -Preference 5 -RecordSet $RecordSet This command adds the specified mail exchange server as an MX record to the record set stored in the $RecordSet variable. @@ -526,7 +526,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -Nsdname "contoso.myzone.com" -RecordSet $RecordSet + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -Nsdname "contoso.myzone.com" -RecordSet $RecordSet This command adds a name server as an NS record to the record set stored in the $RecordSet variable. @@ -545,7 +545,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -Port 8080 -Priority 0 -RecordSet $RecordSet -Target "target.example.com" -Weight 5 + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -Port 8080 -Priority 0 -RecordSet $RecordSet -Target "target.example.com" -Weight 5 This command adds the specified service locator as an SRV record to the record set stored in the $RecordSet variable. @@ -564,7 +564,7 @@ - PS C:\>$RecordSet = Add-AzureDnsRecordConfig -RecordSet $RecordSet -Value "This is a TXT Record" + PS C:\>$RecordSet = Add-AzureRMDnsRecordConfig -RecordSet $RecordSet -Value "This is a TXT Record" This command adds a TXT record to the record set stored in the $RecordSet variable. @@ -580,22 +580,22 @@ - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet Gets a DNS record set. @@ -607,13 +607,13 @@ - The Get-AzureDnsRecordSet cmdlet gets the Domain Name System (DNS) record set with the specified name and type, in the specified zone. If you do not specify the Name parameter, this cmdlet returns all record sets of the specified type in the zone. + The Get-AzureRMDnsRecordSet cmdlet gets the Domain Name System (DNS) record set with the specified name and type, in the specified zone. If you do not specify the Name parameter, this cmdlet returns all record sets of the specified type in the zone. If you do not specify the RecordType parameter, this cmdlet returns record sets of all types. You can use the pipeline operator to pass a DnsZone object to this cmdlet, or you can pass a DnsZone object as the Zone parameter, or alternatively you can specify the zone by name. - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet EndsWith @@ -662,7 +662,7 @@ - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet EndsWith @@ -854,7 +854,7 @@ - PS C:\>$RecordSet = Get-AzureDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -Name "www" -RecordType A + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -Name "www" -RecordType A This command gets the record set of record type A named www in the specified resource group and zone, and then stores it in the $RecordSet variable. Because the RecordType parameter is specified, only one RecordSet object is returned. @@ -873,7 +873,7 @@ - PS C:\>$RecordSet = Get-AzureDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -RecordType A + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -RecordType A This command gets all of record sets of record type A in the resource group named MyResourceGroup in the zone named myzone.com, and then stores them in the $RecordSet variable. @@ -892,7 +892,7 @@ - PS C:\>$RecordSet = Get-AzureDnsRecordSet -Name "www" -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -Name "www" -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" This command gets all of the record sets named www in the resource group named MyResourceGroup in the zone named myzone.com, and then stores them in the $RecordSet variable. @@ -908,22 +908,22 @@ - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet - Get-AzureDnsZone + Get-AzureRMDnsZone Gets a DNS zone. @@ -935,11 +935,11 @@ - The Get-AzureDnsZone cmdlet gets a Domain Name System (DNS) zone from the specified resource group. If you specify the Name parameter, a single DnsZone object is returned. If you do not specify the Name parameter, an array containing all of the zones in the specified resource group is returned. You can use the DnsZone object to update the zone, for example you can add RecordSet objects to it. + The Get-AzureRMDnsZone cmdlet gets a Domain Name System (DNS) zone from the specified resource group. If you specify the Name parameter, a single DnsZone object is returned. If you do not specify the Name parameter, an array containing all of the zones in the specified resource group is returned. You can use the DnsZone object to update the zone, for example you can add RecordSet objects to it. - Get-AzureDnsZone + Get-AzureRMDnsZone EndsWith @@ -1059,7 +1059,7 @@ - PS C:\>$Zone = Get-AzureDnsZone -ResourceGroupName "MyResourceGroup" -Name "myzone.com" + PS C:\>$Zone = Get-AzureRMDnsZone -ResourceGroupName "MyResourceGroup" -Name "myzone.com" This command gets the zone named myzone.com from the specified resource group, and then stores it in the $Zone variable. @@ -1078,7 +1078,7 @@ - PS C:\>$Zone = Get-AzureDnsZone -ResourceGroupName "MyResourceGroup" + PS C:\>$Zone = Get-AzureRMDnsZone -ResourceGroupName "MyResourceGroup" This command gets all of the zones in the specified resource group, and then stores it in the $Zone variable. @@ -1094,22 +1094,22 @@ - New-AzureDnsZone + New-AzureRMDnsZone - Remove-AzureDnsZone + Remove-AzureRMDnsZone - Set-AzureDnsZone + Set-AzureRMDnsZone - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet Creates a DNS record set. @@ -1121,13 +1121,13 @@ - The New-AzureDnsRecordSet cmdlet creates a new Domain Name System (DNS) record set with the specified name and type in the specified zone. A RecordSet is a set of DNS records with the same name and type. Note that the name is relative to the zone and not the fully qualified name. + The New-AzureRMDnsRecordSet cmdlet creates a new Domain Name System (DNS) record set with the specified name and type in the specified zone. A RecordSet is a set of DNS records with the same name and type. Note that the name is relative to the zone and not the fully qualified name. You can use the pipeline operator to pass a DnsZone object to this cmdlet, or you can pass a DnsZone object as the Zone parameter, or alternatively you can specify the zone by name. If a matching RecordSet already exists, you must specify the Overwrite parameter, otherwise the cmdlet will not create a new RecordSet. - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet Force @@ -1212,7 +1212,7 @@ - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet Force @@ -1462,7 +1462,7 @@ - PS C:\>$RecordSet = New-AzureDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" + PS C:\>$RecordSet = New-AzureRMDnsRecordSet -Name "www" -RecordType A -ResourceGroupName "MyResourceGroup" -TTL 3600 -ZoneName "myzone.com" This command creates a new RecordSet named www as type A in the zone named myzone.com with a TTL of 3600 seconds. @@ -1483,22 +1483,22 @@ - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet - New-AzureDnsZone + New-AzureRMDnsZone Creates a new DNS zone. @@ -1510,11 +1510,11 @@ - The New-AzureDnsZone cmdlet creates a new Domain Name System (DNS) zone in the specified resource group. You must specify a unique name for the Name parameter or the cmdlet will return an error. After the zone is created, use the New-AzureDnsRecordSet cmdlet to create record sets in the zone. + The New-AzureRMDnsZone cmdlet creates a new Domain Name System (DNS) zone in the specified resource group. You must specify a unique name for the Name parameter or the cmdlet will return an error. After the zone is created, use the New-AzureRMDnsRecordSet cmdlet to create record sets in the zone. - New-AzureDnsZone + New-AzureRMDnsZone Profile @@ -1634,7 +1634,7 @@ - PS C:\>$Zone = New-AzureDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" + PS C:\>$Zone = New-AzureRMDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" This command creates a new DNS zone named myzone.com in the specified resource group, and then stores it in the $Zone variable. @@ -1655,22 +1655,22 @@ - Get-AzureDnsZone + Get-AzureRMDnsZone - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet - Remove-AzureDnsZone + Remove-AzureRMDnsZone - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Removes a DNS record from a record set. @@ -1682,13 +1682,13 @@ - The Remove-AzureDnsRecordConfig cmdlet removes a Domain Name System (DNS) record from a record set. The RecordSet object is an offline object, and changes to it do not change the DNS responses until after you run the Set-AzureDnsRecordSet cmdlet to persist the change to the Microsoft Azure DNS service. + The Remove-AzureRMDnsRecordConfig cmdlet removes a Domain Name System (DNS) record from a record set. The RecordSet object is an offline object, and changes to it do not change the DNS responses until after you run the Set-AzureRMDnsRecordSet cmdlet to persist the change to the Microsoft Azure DNS service. To remove a record, all the fields for that record type must match exactly. You cannot add or remove SOA records. You can pass the RecordSet object to this cmdlet as a parameter or by using the pipeline operator. - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1712,7 +1712,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1743,7 +1743,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1767,7 +1767,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1791,7 +1791,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1815,7 +1815,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1860,7 +1860,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -1884,7 +1884,7 @@ - Remove-AzureDnsRecordConfig + Remove-AzureRMDnsRecordConfig Profile @@ -2089,7 +2089,7 @@ - You can pipe a DnsRecordSet object to this cmdlet. This is an offline representation of the record set and updates to it do not change DNS responses until after you run Set-AzureDnsRecordSet. + You can pipe a DnsRecordSet object to this cmdlet. This is an offline representation of the record set and updates to it do not change DNS responses until after you run Set-AzureRMDnsRecordSet. @@ -2117,7 +2117,7 @@ - PS C:\>$RecordSet = Remove-AzureDnsRecordConfig -RecordSet $RecordSet -Ipv4Address "172.16.0.0" + PS C:\>$RecordSet = Remove-AzureRMDnsRecordConfig -RecordSet $RecordSet -Ipv4Address "172.16.0.0" This command removes the A records with the specified IP address from the record set stored in $RecordSet. @@ -2136,7 +2136,7 @@ - PS C:\>$RecordSet = Remove-AzureDnsRecordConfig -Port 8080 -Priority 0 -RecordSet $RecordSet -Target "target.example.com" -Weight 5 + PS C:\>$RecordSet = Remove-AzureRMDnsRecordConfig -Port 8080 -Priority 0 -RecordSet $RecordSet -Target "target.example.com" -Weight 5 This command removes SRV records from the $RecordSet variable where Port=8080, Priority=0, Weight=5, and Target=target.example.com. @@ -2152,22 +2152,22 @@ - Add-AzureDnsRecordConfig + Add-AzureRMDnsRecordConfig - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet Deletes a record set. @@ -2179,12 +2179,12 @@ - The Remove-AzureDnsRecordSet cmdlet deletes the specified record set from the specified zone. You cannot delete SOA and NS records that are automatically created. + The Remove-AzureRMDnsRecordSet cmdlet deletes the specified record set from the specified zone. You cannot delete SOA and NS records that are automatically created. You can pass a RecordSet object to this cmdlet by using the pipeline operator or as a parameter. To identify a record set by name and type without using a RecordSet object, you must pass the zone as a DnsZone object to this cmdlet by using the pipeline operator or as a parameter, or alternatively you can specify the ZoneName parameter. - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet Force @@ -2248,7 +2248,7 @@ - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet Force @@ -2319,7 +2319,7 @@ - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet Force @@ -2526,8 +2526,8 @@ - PS C:\>$RecordSet = Get-AzureDnsRecordSet -Name "www" -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -Name "www" -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" +PS C:\> Remove-AzureRMDnsRecordSet -RecordSet $RecordSet The first command gets the specified record set, and then stores it in the $RecordSet variable. @@ -2544,22 +2544,22 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet - Remove-AzureDnsZone + Remove-AzureRMDnsZone Removes a DNS zone from a resource group. @@ -2571,12 +2571,12 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - The Remove-AzureDnsZone cmdlet removes a Domain Name System (DNS) zone from a specified resource group. Before you run this cmdlet, you must first remove all record sets from the zone that you want to remove. + The Remove-AzureRMDnsZone cmdlet removes a Domain Name System (DNS) zone from a specified resource group. Before you run this cmdlet, you must first remove all record sets from the zone that you want to remove. You can pass a DnsZone object to this cmdlet as a parameter or by using the pipeline operator, or alternatively you can specify its name. - Remove-AzureDnsZone + Remove-AzureRMDnsZone Force @@ -2613,7 +2613,7 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - Remove-AzureDnsZone + Remove-AzureRMDnsZone Force @@ -2775,7 +2775,7 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - PS C:\>Remove-AzureDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" + PS C:\>Remove-AzureRMDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" This command removes the zone named myzone.com from the resource group named MyResourceGroup. @@ -2791,22 +2791,22 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - Get-AzureDnsZone + Get-AzureRMDnsZone - New-AzureDnsZone + New-AzureRMDnsZone - Set-AzureDnsZone + Set-AzureRMDnsZone - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet Updates a DNS record set. @@ -2818,12 +2818,12 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - The Set-AzureDnsRecordSet cmdlet updates a RecordSet from an offline RecordSet object. If the Etag has changed since the last get, the call will fail unless the Overwrite switch is specified. + The Set-AzureRMDnsRecordSet cmdlet updates a RecordSet from an offline RecordSet object. If the Etag has changed since the last get, the call will fail unless the Overwrite switch is specified. You can pass a RecordSet as a parameter or by using the pipeline operator. - Set-AzureDnsRecordSet + Set-AzureRMDnsRecordSet Overwrite @@ -2923,16 +2923,16 @@ PS C:\> Remove-AzureDnsRecordSet -RecordSet $RecordSet - PS C:\>$RecordSet = Get-AzureDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -Name "www" -RecordType A -PS C:\> $RecordSet = $RecordSet | Add-AzureDnsRecordConfig -Ipv4Address "172.16.0.0" -PS C:\> $RecordSet = $RecordSet | Add-AzureDnsRecordConfig -Ipv4Address "172.31.255.255" -PS C:\> $RecordSet | Set-AzureDnsRecordSet + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -ResourceGroupName "MyResourceGroup" -ZoneName "myzone.com" -Name "www" -RecordType A +PS C:\> $RecordSet = $RecordSet | Add-AzureRMDnsRecordConfig -Ipv4Address "172.16.0.0" +PS C:\> $RecordSet = $RecordSet | Add-AzureRMDnsRecordConfig -Ipv4Address "172.31.255.255" +PS C:\> $RecordSet | Set-AzureRMDnsRecordSet - The first command uses the Get-AzureDnsRecordset cmdlet to get the specified record set, and then stores it in the $RecordSet variable. - The second command uses the pipeline operator to pass $RecordSet to the Add-AzureDnsRecordConfig cmdlet to add an IP address as an A record, and then stores it in $RecordSet. - The third command uses the pipeline operator to pass $RecordSet to the Add-AzureDnsRecordConfig cmdlet to add another IP address as an A record, and then stores it in $RecordSet. - The final command uses the pipeline operator to pass $RecordSet to the Set-AzureDnsRecordSet cmdlet to propagate the update. + The first command uses the Get-AzureRMDnsRecordset cmdlet to get the specified record set, and then stores it in the $RecordSet variable. + The second command uses the pipeline operator to pass $RecordSet to the Add-AzureRMDnsRecordConfig cmdlet to add an IP address as an A record, and then stores it in $RecordSet. + The third command uses the pipeline operator to pass $RecordSet to the Add-AzureRMDnsRecordConfig cmdlet to add another IP address as an A record, and then stores it in $RecordSet. + The final command uses the pipeline operator to pass $RecordSet to the Set-AzureRMDnsRecordSet cmdlet to propagate the update. @@ -2948,14 +2948,14 @@ PS C:\> $RecordSet | Set-AzureDnsRecordSet - PS C:\>$RecordSet = Get-AzureDnsRecordSet -Name "@" -RecordType SOA -Zone $Zone + PS C:\>$RecordSet = Get-AzureRMDnsRecordSet -Name "@" -RecordType SOA -Zone $Zone PS C:\> $RecordSet.Records[0].Email = "bob@test.com" -PS C:\> Set-AzureDnsRecordSet -RecordSet $RecordSet +PS C:\> Set-AzureRMDnsRecordSet -RecordSet $RecordSet - The first command uses the Get-AzureDnsRecordset cmdlet to get the specified record set, and then stores it in the $RecordSet variable. + The first command uses the Get-AzureRMDnsRecordset cmdlet to get the specified record set, and then stores it in the $RecordSet variable. The second command updates the specified SOA record in $RecordSet. - The final command uses the Set-AzureDnsRecordSet cmdlet to propagate the update in $RecordSet. + The final command uses the Set-AzureRMDnsRecordSet cmdlet to propagate the update in $RecordSet. @@ -2968,22 +2968,22 @@ PS C:\> Set-AzureDnsRecordSet -RecordSet $RecordSet - Get-AzureDnsRecordSet + Get-AzureRMDnsRecordSet - New-AzureDnsRecordSet + New-AzureRMDnsRecordSet - Remove-AzureDnsRecordSet + Remove-AzureRMDnsRecordSet - Set-AzureDnsZone + Set-AzureRMDnsZone Updates a DNS zone. @@ -2995,11 +2995,11 @@ PS C:\> Set-AzureDnsRecordSet -RecordSet $RecordSet - The Set-AzureDnsZone cmdlet updates the specified DnsZone. This cmdlet does not update the RecordSet objects in the zone. You can pass a DnsZone object as a parameter or by using the pipeline operator, or alternatively you can specify the zone by name. + The Set-AzureRMDnsZone cmdlet updates the specified DnsZone. This cmdlet does not update the RecordSet objects in the zone. You can pass a DnsZone object as a parameter or by using the pipeline operator, or alternatively you can specify the zone by name. - Set-AzureDnsZone + Set-AzureRMDnsZone Profile @@ -3030,7 +3030,7 @@ PS C:\> Set-AzureDnsRecordSet -RecordSet $RecordSet - Set-AzureDnsZone + Set-AzureRMDnsZone Overwrite @@ -3166,14 +3166,14 @@ PS C:\> Set-AzureDnsRecordSet -RecordSet $RecordSet - PS C:\>$Zone = Get-AzureDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" + PS C:\>$Zone = Get-AzureRMDnsZone -Name "myzone.com" -ResourceGroupName "MyResourceGroup" PS C:\> $Zone.Tags = @(@{"Name"="Dept"; "Value"="Electrical"}) -PS C:\> $Zone | Set-AzureDnsZone +PS C:\> $Zone | Set-AzureRMDnsZone The first command gets the zone named myzone.com from the specified resource group, and then stores it in the $Zone variable. The second command updates the tags for $Zone. - The final command passes $Zone to the Set-AzureDnsZone cmdlet by using the pipeline operator. + The final command passes $Zone to the Set-AzureRMDnsZone cmdlet by using the pipeline operator. @@ -3189,7 +3189,7 @@ PS C:\> $Zone | Set-AzureDnsZone - PS C:\>Set-AzureDNSZone -ResourceGroupName "MyResourceGroup" -Name "myzone.com" -Tag @(@{"Name"="Dept"; "Value"="Electrical"}) + PS C:\>Set-AzureRMDNSZone -ResourceGroupName "MyResourceGroup" -Name "myzone.com" -Tag @(@{"Name"="Dept"; "Value"="Electrical"}) This command updates the tags for the zone named myzone.com without first explicitly getting the zone. @@ -3210,15 +3210,15 @@ PS C:\> $Zone | Set-AzureDnsZone - Get-AzureDnsZone + Get-AzureRMDnsZone - New-AzureDnsZone + New-AzureRMDnsZone - Remove-AzureDnsZone + Remove-AzureRMDnsZone diff --git a/src/ResourceManager/Dns/Commands.Dns/Models/DnsBaseCmdlet.cs b/src/ResourceManager/Dns/Commands.Dns/Models/DnsBaseCmdlet.cs index 109bb9cb9b78..7d962e6f84da 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Models/DnsBaseCmdlet.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Models/DnsBaseCmdlet.cs @@ -12,11 +12,12 @@ // limitations under the License. // ---------------------------------------------------------------------------------- +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; namespace Microsoft.Azure.Commands.Dns.Models { - public abstract class DnsBaseCmdlet : AzurePSCmdlet + public abstract class DnsBaseCmdlet : AzureRMCmdlet { private DnsClient dnsClient; @@ -26,7 +27,7 @@ public DnsClient DnsClient { if (dnsClient == null) { - dnsClient = new DnsClient(this.Profile); + dnsClient = new DnsClient(DefaultContext); } return dnsClient; } diff --git a/src/ResourceManager/Dns/Commands.Dns/Models/DnsClient.cs b/src/ResourceManager/Dns/Commands.Dns/Models/DnsClient.cs index b4277d48efe6..90773f8a3c2c 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Models/DnsClient.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Models/DnsClient.cs @@ -32,8 +32,8 @@ public class DnsClient { public const string DnsResourceLocation = "global"; - public DnsClient(AzureProfile profile) - : this(AzureSession.ClientFactory.CreateClient(profile, AzureEnvironment.Endpoint.ResourceManager)) + public DnsClient(AzureContext context) + : this(AzureSession.ClientFactory.CreateClient(context, AzureEnvironment.Endpoint.ResourceManager)) { } diff --git a/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.Designer.cs b/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.Designer.cs index 2c7c1df37007..9eff97ccc1d4 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.Designer.cs @@ -169,7 +169,7 @@ internal static string Success { } /// - /// Looks up a localized string similar to Record set '{0}' was created in zone '{1}'.The record set is empty. Use Add-AzureDnsRecordConfig to add {2} records to it and Set-AzureDnsRecordSet to save your changes.. + /// Looks up a localized string similar to Record set '{0}' was created in zone '{1}'.The record set is empty. Use Add-AzureRMDnsRecordConfig to add {2} records to it and Set-AzureRMDnsRecordSet to save your changes.. /// internal static string Success_NewRecordSet { get { @@ -178,7 +178,7 @@ internal static string Success_NewRecordSet { } /// - /// Looks up a localized string similar to Zone '{0}' was created in resource group '{1}'. The SOA and authoritative NS records for this zone have been created automatically. Use Get-AzureDnsRecordSet to retrieve them. + /// Looks up a localized string similar to Zone '{0}' was created in resource group '{1}'. The SOA and authoritative NS records for this zone have been created automatically. Use Get-AzureRMDnsRecordSet to retrieve them. /// internal static string Success_NewZone { get { @@ -187,7 +187,7 @@ internal static string Success_NewZone { } /// - /// Looks up a localized string similar to Record added. Use Set-AzureDnsRecordSet to save your change to this record set.. + /// Looks up a localized string similar to Record added. Use Set-AzureRMDnsRecordSet to save your change to this record set.. /// internal static string Success_RecordAdded { get { @@ -196,7 +196,7 @@ internal static string Success_RecordAdded { } /// - /// Looks up a localized string similar to Record removed. Use Set-AzureDnsRecordSet to save your change to this record set.. + /// Looks up a localized string similar to Record removed. Use Set-AzureRMDnsRecordSet to save your change to this record set.. /// internal static string Success_RecordRemoved { get { diff --git a/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.resx b/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.resx index 2d164af739ed..199a99e97acf 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.resx +++ b/src/ResourceManager/Dns/Commands.Dns/Properties/Resources.resx @@ -154,16 +154,16 @@ Success! - Record set '{0}' was created in zone '{1}'.The record set is empty. Use Add-AzureDnsRecordConfig to add {2} records to it and Set-AzureDnsRecordSet to save your changes. + Record set '{0}' was created in zone '{1}'.The record set is empty. Use Add-AzureRMDnsRecordConfig to add {2} records to it and Set-AzureRMDnsRecordSet to save your changes. - Zone '{0}' was created in resource group '{1}'. The SOA and authoritative NS records for this zone have been created automatically. Use Get-AzureDnsRecordSet to retrieve them + Zone '{0}' was created in resource group '{1}'. The SOA and authoritative NS records for this zone have been created automatically. Use Get-AzureRMDnsRecordSet to retrieve them - Record added. Use Set-AzureDnsRecordSet to save your change to this record set. + Record added. Use Set-AzureRMDnsRecordSet to save your change to this record set. - Record removed. Use Set-AzureDnsRecordSet to save your change to this record set. + Record removed. Use Set-AzureRMDnsRecordSet to save your change to this record set. After you create {2} records in this record set you will be able to query them in DNS using the FQDN '{0}.{1}.' diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/AddAzureDnsRecordConfig.cs b/src/ResourceManager/Dns/Commands.Dns/Records/AddAzureDnsRecordConfig.cs index 7e69f71f2837..3c749c2b5b13 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/AddAzureDnsRecordConfig.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/AddAzureDnsRecordConfig.cs @@ -26,7 +26,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Adds a record to a record set object. /// - [Cmdlet(VerbsCommon.Add, "AzureDnsRecordConfig"), OutputType(typeof(DnsRecordSet))] + [Cmdlet(VerbsCommon.Add, "AzureRMDnsRecordConfig"), OutputType(typeof(DnsRecordSet))] public class AddAzureDnsRecordConfig : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipeline = true, HelpMessage = "The record set in which to add the record.")] @@ -81,7 +81,7 @@ public class AddAzureDnsRecordConfig : DnsBaseCmdlet [ValidateNotNullOrEmpty] public string Cname { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var result = this.RecordSet; if (!string.Equals(this.ParameterSetName, this.RecordSet.RecordType.ToString(), StringComparison.OrdinalIgnoreCase)) diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/GetAzureDnsRescordSet.cs b/src/ResourceManager/Dns/Commands.Dns/Records/GetAzureDnsRescordSet.cs index 868be904d5bc..ad9ff1cde5a2 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/GetAzureDnsRescordSet.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/GetAzureDnsRescordSet.cs @@ -26,7 +26,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Gets one or more existing record sets. /// - [Cmdlet(VerbsCommon.Get, "AzureDnsRecordSet"), OutputType(typeof(DnsRecordSet))] + [Cmdlet(VerbsCommon.Get, "AzureRMDnsRecordSet"), OutputType(typeof(DnsRecordSet))] public class GetAzureDnsRecordSet : DnsBaseCmdlet { [Parameter(Mandatory = false, ParameterSetName = "Fields", ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the records inthis record set (relative to the name of the zone and without a terminating dot).")] @@ -54,7 +54,7 @@ public class GetAzureDnsRecordSet : DnsBaseCmdlet [ValidateNotNullOrEmpty] public string EndsWith { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { RecordType recordType = default(RecordType); if (this.RecordType != null && !Enum.TryParse(this.RecordType, false, out recordType)) diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/NewAzureDnsRescordSet.cs b/src/ResourceManager/Dns/Commands.Dns/Records/NewAzureDnsRescordSet.cs index 8b05b759505f..ae2d479a917c 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/NewAzureDnsRescordSet.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/NewAzureDnsRescordSet.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Creates a new record set. /// - [Cmdlet(VerbsCommon.New, "AzureDnsRecordSet"), OutputType(typeof(DnsRecordSet))] + [Cmdlet(VerbsCommon.New, "AzureRMDnsRecordSet"), OutputType(typeof(DnsRecordSet))] public class NewAzureDnsRecordSet : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the records inthis record set (relative to the name of the zone and without a terminating dot).")] @@ -61,7 +61,7 @@ public class NewAzureDnsRecordSet : DnsBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "Do not ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { string zoneName = null; string resourceGroupname = null; diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordConfig.cs b/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordConfig.cs index fe05bd77b830..1d4705f6cb4a 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordConfig.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordConfig.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Removes a record from a record set object. /// - [Cmdlet(VerbsCommon.Remove, "AzureDnsRecordConfig"), OutputType(typeof(DnsRecordSet))] + [Cmdlet(VerbsCommon.Remove, "AzureRMDnsRecordConfig"), OutputType(typeof(DnsRecordSet))] public class RemoveAzureDnsRecordConfig : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipeline = true, HelpMessage = "The record set from which to remove the record.")] @@ -80,7 +80,7 @@ public class RemoveAzureDnsRecordConfig : DnsBaseCmdlet [ValidateNotNullOrEmpty] public string Cname { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var result = this.RecordSet; if (!string.Equals(this.ParameterSetName, this.RecordSet.RecordType.ToString(), StringComparison.OrdinalIgnoreCase)) diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordSet.cs b/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordSet.cs index 4101e6b62136..66ac3318f3dd 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordSet.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/RemoveAzureDnsRecordSet.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Deletes an existing record set. /// - [Cmdlet(VerbsCommon.Remove, "AzureDnsRecordSet"), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMDnsRecordSet"), OutputType(typeof(bool))] public class RemoveAzureDnsRecordSet : DnsBaseCmdlet { [Parameter(Mandatory = true, ParameterSetName = "Fields", HelpMessage = "The name of the records in the record set (relative to the name of the zone and without a terminating dot).")] @@ -62,7 +62,7 @@ public class RemoveAzureDnsRecordSet : DnsBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { bool deleted = false; DnsRecordSet recordSetToDelete = null; diff --git a/src/ResourceManager/Dns/Commands.Dns/Records/SetAzureDnsRecordSet.cs b/src/ResourceManager/Dns/Commands.Dns/Records/SetAzureDnsRecordSet.cs index 7aafb827c153..b43145bfa650 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Records/SetAzureDnsRecordSet.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Records/SetAzureDnsRecordSet.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Updates an existing record set. /// - [Cmdlet(VerbsCommon.Set, "AzureDnsRecordSet"), OutputType(typeof(DnsRecordSet))] + [Cmdlet(VerbsCommon.Set, "AzureRMDnsRecordSet"), OutputType(typeof(DnsRecordSet))] public class SetAzureDnsRecordSet : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipeline = true, HelpMessage = "The record set in which to add the record.")] @@ -33,7 +33,7 @@ public class SetAzureDnsRecordSet : DnsBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "Do not use the ETag field of the RecordSet parameter for optimistic concurrency checks.", ParameterSetName = "Object")] public SwitchParameter Overwrite { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if ((string.IsNullOrWhiteSpace(this.RecordSet.Etag) || this.RecordSet.Etag == "*") && !this.Overwrite.IsPresent) { diff --git a/src/ResourceManager/Dns/Commands.Dns/Zones/GetAzureDnsZone.cs b/src/ResourceManager/Dns/Commands.Dns/Zones/GetAzureDnsZone.cs index 5615cc305400..e4902c281072 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Zones/GetAzureDnsZone.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Zones/GetAzureDnsZone.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Gets one or more existing zones. /// - [Cmdlet(VerbsCommon.Get, "AzureDnsZone"), OutputType(typeof(DnsZone))] + [Cmdlet(VerbsCommon.Get, "AzureRMDnsZone"), OutputType(typeof(DnsZone))] public class GetAzureDnsZone : DnsBaseCmdlet { [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The full name of the zone (without a terminating dot).")] @@ -38,7 +38,7 @@ public class GetAzureDnsZone : DnsBaseCmdlet [ValidateNotNullOrEmpty] public string EndsWith { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.Name != null && this.EndsWith != null) { diff --git a/src/ResourceManager/Dns/Commands.Dns/Zones/NewAzureDnsZone.cs b/src/ResourceManager/Dns/Commands.Dns/Zones/NewAzureDnsZone.cs index 24a12d6b2575..3bccd3553c90 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Zones/NewAzureDnsZone.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Zones/NewAzureDnsZone.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Creates a new zone. /// - [Cmdlet(VerbsCommon.New, "AzureDnsZone"), OutputType(typeof(DnsZone))] + [Cmdlet(VerbsCommon.New, "AzureRMDnsZone"), OutputType(typeof(DnsZone))] public class NewAzureDnsZone : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The full name of the zone (without a terminating dot).")] @@ -38,7 +38,7 @@ public class NewAzureDnsZone : DnsBaseCmdlet [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "A hash table which represents resource tags.")] public Hashtable[] Tag { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.Name.EndsWith(".")) { diff --git a/src/ResourceManager/Dns/Commands.Dns/Zones/RemoveAzureDnsZone.cs b/src/ResourceManager/Dns/Commands.Dns/Zones/RemoveAzureDnsZone.cs index db97a02c944d..59dfdd13e0af 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Zones/RemoveAzureDnsZone.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Zones/RemoveAzureDnsZone.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Deletes an existing zone. /// - [Cmdlet(VerbsCommon.Remove, "AzureDnsZone"), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMDnsZone"), OutputType(typeof(bool))] public class RemoveAzureDnsZone : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The full name of the zone (without a terminating dot).", ParameterSetName = "Fields")] @@ -48,7 +48,7 @@ public class RemoveAzureDnsZone : DnsBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { bool deleted = false; DnsZone zoneToDelete = null; diff --git a/src/ResourceManager/Dns/Commands.Dns/Zones/SetAzureDnsZone.cs b/src/ResourceManager/Dns/Commands.Dns/Zones/SetAzureDnsZone.cs index e18af1a330aa..fd5aa4aa7605 100644 --- a/src/ResourceManager/Dns/Commands.Dns/Zones/SetAzureDnsZone.cs +++ b/src/ResourceManager/Dns/Commands.Dns/Zones/SetAzureDnsZone.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Dns /// /// Updates an existing zone. /// - [Cmdlet(VerbsCommon.Set, "AzureDnsZone"), OutputType(typeof(DnsZone))] + [Cmdlet(VerbsCommon.Set, "AzureRMDnsZone"), OutputType(typeof(DnsZone))] public class SetAzureDnsZone : DnsBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The full name of the zone (without a terminating dot).", ParameterSetName = "Fields")] @@ -45,7 +45,7 @@ public class SetAzureDnsZone : DnsBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "Do not use the ETag field of the RecordSet parameter for optimistic concurrency checks.", ParameterSetName = "Object")] public SwitchParameter Overwrite { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { DnsZone result = null; DnsZone zoneToUpdate = null; diff --git a/src/ResourceManager/Dns/Commands.Dns/packages.config b/src/ResourceManager/Dns/Commands.Dns/packages.config index c80054fab9a1..39bd23233a55 100644 --- a/src/ResourceManager/Dns/Commands.Dns/packages.config +++ b/src/ResourceManager/Dns/Commands.Dns/packages.config @@ -2,9 +2,9 @@ - + - + @@ -19,4 +19,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/HDInsight/AzureRM.HDInsight.psd1 b/src/ResourceManager/HDInsight/AzureRM.HDInsight.psd1 new file mode 100644 index 000000000000..3e41e4850a96 --- /dev/null +++ b/src/ResourceManager/HDInsight/AzureRM.HDInsight.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.HDInsight' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '3fd1475f-cb23-4ffb-bf08-33d94b7d1acb' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - HDInsight' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.HDInsight.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 6eb3f88dfe98..3253ec73759a 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj @@ -38,8 +38,9 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.0.26-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -62,17 +63,29 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.0-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5571.32271-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + True - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5513.27084-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + True - - ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.14.201151115\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + True - - ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.14.201151115\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + True + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + True + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.0.9.3\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + True ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll @@ -96,14 +109,6 @@ - - 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 - @@ -135,13 +140,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 {E1F5201D-6067-430E-B303-4E367652991B} @@ -162,10 +167,6 @@ - - - - diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/HDInsightTestBase.cs b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/HDInsightTestBase.cs index 3c13e1b2dec7..610ba35de563 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/HDInsightTestBase.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/HDInsightTestBase.cs @@ -17,11 +17,12 @@ using Microsoft.Azure.Commands.HDInsight.Models; using Microsoft.Azure.Management.HDInsight.Models; using Microsoft.WindowsAzure.Commands.Common; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; using Moq; namespace Microsoft.Azure.Commands.HDInsight.Test { - public class HDInsightTestBase + public class HDInsightTestBase : RMTestBase { protected const string ClusterName = "hdicluster"; protected const string ResourceGroupName = "hdi-rg1"; diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.cs b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.cs index e354c5475908..baae99033d0e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.HDInsight.Test { public class HDInsightConfigurationTests : HDInsightScenarioTestsBase { - [Fact] + [Fact(Skip = "Test requires setting env variable, TODO remove that constraint")] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestConfigurationPipelining() { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.ps1 b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.ps1 index 102684747b75..fe6297fd3f9e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.ps1 +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightConfigurationTests.ps1 @@ -18,53 +18,53 @@ Tests pipelining with creating the config #> function Test-ConfigurationPipelining{ - #test New-AzureHDInsightClusterConfig - $config = New-AzureHDInsightClusterConfig -ClusterType Hadoop + #test New-AzureRMHDInsightClusterConfig + $config = New-AzureRMHDInsightClusterConfig -ClusterType Hadoop Assert-NotNull $config.ClusterType - #test Add-AzureHDInsightStorage + #test Add-AzureRMHDInsightStorage Assert-AreEqual $config.AdditionalStorageAccounts.Count 0 - $config = $config | Add-AzureHDInsightStorage -StorageAccountName fakestorageaccount -StorageAccountKey STORAGEACCOUNTKEY== + $config = $config | Add-AzureRMHDInsightStorage -StorageAccountName fakestorageaccount -StorageAccountKey STORAGEACCOUNTKEY== Assert-AreEqual $config.AdditionalStorageAccounts.Count 1 - #test Add-AzureHDInsightConfigValues + #test Add-AzureRMHDInsightConfigValues Assert-AreEqual $config.Configurations.Count 0 Assert-Null $config.Configurations["core-site"] $coreconfig = New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]" $coreconfig.Add('coreconfig', 'corevalue') Assert-Null $config.Configurations["core-site"] - $config = $config | Add-AzureHDInsightConfigValues -Core $coreconfig + $config = $config | Add-AzureRMHDInsightConfigValues -Core $coreconfig Assert-NotNull $config.Configurations["core-site"] $oozieconfig = New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]" $oozieconfig.Add('oozieconfig', 'oozievalue') Assert-Null $config.Configurations["oozie-site"] - $config = $config | Add-AzureHDInsightConfigValues -OozieSite $coreconfig + $config = $config | Add-AzureRMHDInsightConfigValues -OozieSite $coreconfig Assert-NotNull $config.Configurations["oozie-site"] - #test Add-AzureHDInsightMetastore + #test Add-AzureRMHDInsightMetastore Assert-Null $config.OozieMetastore Assert-Null $config.HiveMetastore $secpasswd = ConvertTo-SecureString "PlainTextPassword" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ("username", $secpasswd) - $config = $config | Add-AzureHDInsightMetastore -MetastoreType HiveMetastore -SqlAzureServerName server.server.server -DatabaseName dbname -Credential $mycreds + $config = $config | Add-AzureRMHDInsightMetastore -MetastoreType HiveMetastore -SqlAzureServerName server.server.server -DatabaseName dbname -Credential $mycreds Assert-NotNull $config.HiveMetastore Assert-Null $config.OozieMetastore - #test Add-AzureHDInsightScriptAction + #test Add-AzureRMHDInsightScriptAction Assert-AreEqual $config.ScriptActions.Count 0 Assert-Null $config.ScriptActions["WorkerNode"] - $config = $config | Add-AzureHDInsightScriptAction -NodeType WorkerNode -Uri "http://uri.com" -Name "scriptaction" -Parameters "parameters" + $config = $config | Add-AzureRMHDInsightScriptAction -NodeType WorkerNode -Uri "http://uri.com" -Name "scriptaction" -Parameters "parameters" Assert-AreEqual $config.ScriptActions.Count 1 Assert-AreEqual $config.ScriptActions["WorkerNode"].Count 1 - $config = $config | Add-AzureHDInsightScriptAction -NodeType WorkerNode -Uri "http://uri.com" -Name "scriptaction2" -Parameters "parameters" + $config = $config | Add-AzureRMHDInsightScriptAction -NodeType WorkerNode -Uri "http://uri.com" -Name "scriptaction2" -Parameters "parameters" Assert-AreEqual $config.ScriptActions.Count 1 Assert-AreEqual $config.ScriptActions["WorkerNode"].Count 2 - #test Set-AzureHDInsightDefaultStorage + #test Set-AzureRMHDInsightDefaultStorage Assert-Null $config.DefaultStorageAccountName Assert-Null $config.DefaultStorageAccountKey - $config = $config | Set-AzureHDInsightDefaultStorage -StorageAccountName fakedefaultaccount -StorageAccountKey DEFAULTACCOUNTKEY== + $config = $config | Set-AzureRMHDInsightDefaultStorage -StorageAccountName fakedefaultaccount -StorageAccountKey DEFAULTACCOUNTKEY== Assert-NotNull $config.DefaultStorageAccountName Assert-NotNull $config.DefaultStorageAccountKey } \ No newline at end of file diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightScenarioTestsBase.cs b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightScenarioTestsBase.cs index e0370c7d5a3b..ed6d1661d085 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightScenarioTestsBase.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/ScenarioTests/HDInsightScenarioTestsBase.cs @@ -17,10 +17,11 @@ using Microsoft.Azure.Test; using Microsoft.Azure.Test.HttpRecorder; using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; namespace Microsoft.Azure.Commands.HDInsight.Test { - public abstract class HDInsightScenarioTestsBase + public abstract class HDInsightScenarioTestsBase : RMTestBase { private EnvironmentSetupHelper helper; diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/UnitTests/JobTests.cs b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/UnitTests/JobTests.cs index 1bc5364202f2..d9190c27d9e3 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/UnitTests/JobTests.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/UnitTests/JobTests.cs @@ -195,7 +195,7 @@ public void CreateStreamingJob() job.Reducer == reducer && job.Defines.Count == defines.Count))); } - [Fact] + [Fact(Skip = "Test requires setting env variable, TODO remove that constraint")] [Trait(Category.AcceptanceType, Category.CheckIn)] public void StartJob() { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/packages.config b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/packages.config index 72b5f01f87f2..b920883190da 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight.Test/packages.config +++ b/src/ResourceManager/HDInsight/Commands.HDInsight.Test/packages.config @@ -2,7 +2,7 @@ - + @@ -10,13 +10,15 @@ - - + + - + + + diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj b/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj index 7efebfe59878..5208d20928ca 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/Commands.HDInsight.csproj @@ -18,16 +18,16 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\HDInsight\ + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.HDInsight\ DEBUG;TRACE prompt 4 - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\HDInsight\Microsoft.Azure.Commands.HDInsight.xml + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.HDInsight\Microsoft.Azure.Commands.HDInsight.xml pdbonly true - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\HDInsight\ + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.HDInsight\ TRACE prompt 4 @@ -82,6 +82,10 @@ + + AzureRM.HDInsight.psd1 + PreserveNewest + Always @@ -95,17 +99,20 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\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 @@ -163,12 +170,6 @@ - - ..\..\..\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 - False @@ -176,13 +177,15 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - + + Always + - + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + @@ -193,8 +196,4 @@ - - - - \ No newline at end of file diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/Constants.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/Constants.cs index 7a203f4fb828..a63f650f4b67 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/Constants.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/Constants.cs @@ -17,28 +17,28 @@ internal static class Constants { public static class CommandNames { - public const string AzureHDInsightCluster = "AzureHDInsightCluster"; - public const string AzureHDInsightClusterConfig = "AzureHDInsightClusterConfig"; - public const string AzureHDInsightClusterSize = "AzureHDInsightClusterSize"; - public const string AzureHDInsightHttpServicesAccess = "AzureHDInsightHttpServicesAccess"; - public const string AzureHDInsightRdpServicesAccess = "AzureHDInsightRdpServicesAccess"; - public const string AzureHDInsightConfigValues = "AzureHDInsightConfigValues"; - public const string AzureHDInsightMetastore = "AzureHDInsightMetastore"; - public const string AzureHDInsightScriptAction = "AzureHDInsightScriptAction"; - public const string AzureHDInsightStorage = "AzureHDInsightStorage"; - public const string AzureHDInsightProperties = "AzureHDInsightProperties"; - public const string AzureHDInsightJob = "AzureHDInsightJob"; - public const string AzureHDInsightJobOutput = "AzureHDInsightJobOutput"; - public const string AzureHDInsightDefaultStorage = "AzureHDInsightDefaultStorage"; - public const string AzureHDInsightHiveJob = "AzureHDInsightHiveJob"; + public const string AzureHDInsightCluster = "AzureRMHDInsightCluster"; + public const string AzureHDInsightClusterConfig = "AzureRMHDInsightClusterConfig"; + public const string AzureHDInsightClusterSize = "AzureRMHDInsightClusterSize"; + public const string AzureHDInsightHttpServicesAccess = "AzureRMHDInsightHttpServicesAccess"; + public const string AzureHDInsightRdpServicesAccess = "AzureRMHDInsightRdpServicesAccess"; + public const string AzureHDInsightConfigValues = "AzureRMHDInsightConfigValues"; + public const string AzureHDInsightMetastore = "AzureRMHDInsightMetastore"; + public const string AzureHDInsightScriptAction = "AzureRMHDInsightScriptAction"; + public const string AzureHDInsightStorage = "AzureRMHDInsightStorage"; + public const string AzureHDInsightProperties = "AzureRMHDInsightProperties"; + public const string AzureHDInsightJob = "AzureRMHDInsightJob"; + public const string AzureHDInsightJobOutput = "AzureRMHDInsightJobOutput"; + public const string AzureHDInsightDefaultStorage = "AzureRMHDInsightDefaultStorage"; + public const string AzureHDInsightHiveJob = "AzureRMHDInsightHiveJob"; } public static class JobDefinitions { - public const string AzureHDInsightHiveJobDefinition = "AzureHDInsightHiveJobDefinition"; - public const string AzureHDInsightPigJobDefinition = "AzureHDInsightPigJobDefinition"; - public const string AzureHDInsightMapReduceJobDefinition = "AzureHDInsightMapReduceJobDefinition"; - public const string AzureHDInsightStreamingMapReduceJobDefinition = "AzureHDInsightStreamingMapReduceJobDefinition"; + public const string AzureHDInsightHiveJobDefinition = "AzureRMHDInsightHiveJobDefinition"; + public const string AzureHDInsightPigJobDefinition = "AzureRMHDInsightPigJobDefinition"; + public const string AzureHDInsightMapReduceJobDefinition = "AzureRMHDInsightMapReduceJobDefinition"; + public const string AzureHDInsightStreamingMapReduceJobDefinition = "AzureRMHDInsightStreamingMapReduceJobDefinition"; } } } diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/HDInsightCmdletBase.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/HDInsightCmdletBase.cs index 97a57a2be0fc..2d982950b431 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/HDInsightCmdletBase.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/HDInsightCmdletBase.cs @@ -16,11 +16,12 @@ using System.Linq; using Hyak.Common; using Microsoft.Azure.Commands.HDInsight.Models; +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; namespace Microsoft.Azure.Commands.HDInsight.Commands { - public class HDInsightCmdletBase : AzurePSCmdlet + public class HDInsightCmdletBase : AzureRMCmdlet { private AzureHdInsightManagementClient _hdInsightManagementClient; private AzureHdInsightJobManagementClient _hdInsightJobClient; @@ -31,7 +32,7 @@ public AzureHdInsightManagementClient HDInsightManagementClient { get { return _hdInsightManagementClient ?? - (_hdInsightManagementClient = new AzureHdInsightManagementClient(Profile.Context)); + (_hdInsightManagementClient = new AzureHdInsightManagementClient(DefaultContext)); } set { _hdInsightManagementClient = value; } } @@ -45,7 +46,6 @@ public AzureHdInsightJobManagementClient HDInsightJobClient return new AzureHdInsightJobManagementClient(_clusterName, _credential); } return _hdInsightJobClient; - //return _hdInsightJobClient ?? (_hdInsightJobClient = new AzureHdInsightJobManagementClient(_clusterName, _credential)); } set { _hdInsightJobClient = value; } } diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobCommand.cs index b93686666eb6..87dabf2d494d 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobCommand.cs @@ -66,7 +66,7 @@ public PSCredential ClusterCredential HelpMessage = "The JobID of the jobDetails to stop.")] public string JobId { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { _clusterName = GetClusterConnection(ResourceGroupName, ClusterName); if (JobId != null) diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobOutputCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobOutputCommand.cs index 84d0b29893e7..d0342769f32e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobOutputCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/GetAzureHDInsightJobOutputCommand.cs @@ -79,7 +79,7 @@ public PSCredential ClusterCredential } } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { _clusterName = GetClusterConnection(ResourceGroupName, ClusterName); var output = GetJobOutput(); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/InvokeHiveCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/InvokeHiveCommand.cs index ebe23b8ae162..95588fc5414d 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/InvokeHiveCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/InvokeHiveCommand.cs @@ -104,7 +104,7 @@ public InvokeHiveCommand() this.hiveJobDefinitionCommand = new NewAzureHDInsightHiveJobDefinitionCommand(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { //get variables from session var clusterConnection = SessionState.PSVariable.Get(UseAzureHDInsightClusterCommand.ClusterEndpoint).Value.ToString(); @@ -124,7 +124,7 @@ public override void ExecuteCmdlet() { throw new NullReferenceException( string.Format( - "The cluster or resource group specified is null. Please use the Use-AzureHDInsightCluster command to connect to a cluster.")); + "The cluster or resource group specified is null. Please use the Use-AzureRMHDInsightCluster command to connect to a cluster.")); } //get hive job diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightHiveJobDefinitionCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightHiveJobDefinitionCommand.cs index 9b27ef7ce8cf..035699ec8b9c 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightHiveJobDefinitionCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightHiveJobDefinitionCommand.cs @@ -85,7 +85,7 @@ public NewAzureHDInsightHiveJobDefinitionCommand() job = new AzureHDInsightHiveJobDefinition(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var hivejob = GetHiveJob(); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightMapReduceJobDefinitionCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightMapReduceJobDefinitionCommand.cs index efa9ed0eef57..f051a04e8b16 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightMapReduceJobDefinitionCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightMapReduceJobDefinitionCommand.cs @@ -82,7 +82,7 @@ public NewAzureHDInsightMapReduceJobDefinitionCommand() job = new AzureHDInsightMapReduceJobDefinition(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { foreach (var arg in Arguments) { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightPigJobDefinitionCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightPigJobDefinitionCommand.cs index 16e0303903fc..3d3c76a42a91 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightPigJobDefinitionCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightPigJobDefinitionCommand.cs @@ -65,7 +65,7 @@ public NewAzureHDInsightPigJobDefinitionCommand() job = new AzureHDInsightPigJobDefinition(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { foreach (var arg in Arguments) { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightStreamingMapReduceJobDefinitionCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightStreamingMapReduceJobDefinitionCommand.cs index 1a04745f5778..3cd5d74b9524 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightStreamingMapReduceJobDefinitionCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/NewAzureHDInsightStreamingMapReduceJobDefinitionCommand.cs @@ -93,7 +93,7 @@ public NewAzureHDInsightStreamingMapReduceJobDefinitionCommand() job = new AzureHDInsightStreamingMapReduceJobDefinition(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { foreach (var arg in Arguments) { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StartAzureHDInsightJobCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StartAzureHDInsightJobCommand.cs index 4c921a54966a..e20b75416c51 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StartAzureHDInsightJobCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StartAzureHDInsightJobCommand.cs @@ -73,7 +73,7 @@ public PSCredential ClusterCredential #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(Execute()); } diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StopAzureHDInsightJobCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StopAzureHDInsightJobCommand.cs index ca955ee33bab..3c40a6e6b17d 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StopAzureHDInsightJobCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/StopAzureHDInsightJobCommand.cs @@ -69,7 +69,7 @@ public PSCredential ClusterCredential #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { _clusterName = GetClusterConnection(ResourceGroupName, ClusterName); HDInsightJobClient.StopJob(JobId); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/UseAzureHDInsightClusterCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/UseAzureHDInsightClusterCommand.cs index 87ddc9cbfa4f..215b41ce7bcd 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/UseAzureHDInsightClusterCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/UseAzureHDInsightClusterCommand.cs @@ -68,7 +68,7 @@ public PSCredential ClusterCredential #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var httpEndpoint = GetClusterConnection(ResourceGroupName, ClusterName); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/WaitAzureHDInsightJobCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/WaitAzureHDInsightJobCommand.cs index 81e18f06167d..d0711e016734 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/WaitAzureHDInsightJobCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/JobCommands/WaitAzureHDInsightJobCommand.cs @@ -69,7 +69,7 @@ public PSCredential ClusterCredential #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var jobDetails = WaitJob(); WriteObject(jobDetails); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightConfigValuesCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightConfigValuesCommand.cs index 7244873e1969..cb6a789dd45f 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightConfigValuesCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightConfigValuesCommand.cs @@ -96,7 +96,7 @@ public AddAzureHDInsightConfigValuesCommand() Hdfs = new Hashtable(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { _configurations = Config.Configurations ?? new Dictionary(); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightMetastoreCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightMetastoreCommand.cs index 3e2889b5a05a..31b5e50a062a 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightMetastoreCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightMetastoreCommand.cs @@ -74,7 +74,7 @@ public AddAzureHDInsightMetastoreCommand() _metastore = new AzureHDInsightMetastore(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { switch (MetastoreType) { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightScriptActionCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightScriptActionCommand.cs index 74b630d53c0f..b87f62b6bb54 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightScriptActionCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightScriptActionCommand.cs @@ -75,7 +75,7 @@ public AddAzureHDInsightScriptActionCommand() _action = new ScriptAction(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { List actions; diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightStorageCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightStorageCommand.cs index ae58f40c54e3..d227d03dbd61 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightStorageCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/AddAzureHDInsightStorageCommand.cs @@ -44,7 +44,7 @@ public class AddAzureHDInsightStorageCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { Config.AdditionalStorageAccounts.Add(StorageAccountName, StorageAccountKey); WriteObject(Config); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightClusterCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightClusterCommand.cs index 0c96dbf50985..853f577fea62 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightClusterCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightClusterCommand.cs @@ -41,7 +41,7 @@ public class GetAzureHDInsightCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var result = HDInsightManagementClient.GetCluster(ResourceGroupName, ClusterName); var output = result.Select(cluster => new AzureHDInsightCluster(cluster)).ToList(); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightPropertiesCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightPropertiesCommand.cs index a19b013c1f91..77c8b11e1e7e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightPropertiesCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GetAzureHDInsightPropertiesCommand.cs @@ -35,7 +35,7 @@ public class GetAzureHDInsightPropertiesCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var result = HDInsightManagementClient.GetCapabilities(Location); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightHttpServicesAccessCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightHttpServicesAccessCommand.cs index 38d0ddf23bee..31859393c00e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightHttpServicesAccessCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightHttpServicesAccessCommand.cs @@ -47,7 +47,7 @@ public class GrantAzureHDInsightHttpServicesAccessCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var httpParams = new HttpSettingsParameters { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightRdpServicesAccessCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightRdpServicesAccessCommand.cs index 6d14f237bd53..a3d7b1e68ea6 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightRdpServicesAccessCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/GrantAzureHDInsightRdpServicesAccessCommand.cs @@ -53,7 +53,7 @@ public class GrantAzureHDInsightRdpServicesAccessCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var rdpParams = new RDPSettingsParameters { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterCommand.cs index e2523216b0b1..89fe758f751e 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterCommand.cs @@ -248,7 +248,7 @@ public NewAzureHDInsightClusterCommand() ScriptActions = new Dictionary>(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { parameters.UserName = HttpCredential.UserName; parameters.Password = HttpCredential.Password.ConvertToString(); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterConfigCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterConfigCommand.cs index 05d19a6349bb..73575f82f019 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterConfigCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/NewAzureHDInsightClusterConfigCommand.cs @@ -92,7 +92,7 @@ public NewAzureHDInsightClusterConfigCommand() _config = new AzureHDInsightConfig(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(_config); } diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RemoveAzureHDInsightClusterCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RemoveAzureHDInsightClusterCommand.cs index de3adacef376..c609a1baba57 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RemoveAzureHDInsightClusterCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RemoveAzureHDInsightClusterCommand.cs @@ -41,7 +41,7 @@ public class RemoveAzureHDInsightCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var result = HDInsightManagementClient.DeleteCluster(ResourceGroupName, ClusterName); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightHttpServicesAccessCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightHttpServicesAccessCommand.cs index 47f32d64900a..94376ccdc474 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightHttpServicesAccessCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightHttpServicesAccessCommand.cs @@ -41,7 +41,7 @@ public class RevokeAzureHDInsightHttpServicesAccessCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var httpParams = new HttpSettingsParameters { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightRdpServicesAccessCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightRdpServicesAccessCommand.cs index 08f67b18d9c4..0cfe39bccc5d 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightRdpServicesAccessCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/RevokeAzureHDInsightRdpServicesAccessCommand.cs @@ -41,7 +41,7 @@ public class RevokeAzureHDInsightRdpServicesAccessCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var rdpParams = new RDPSettingsParameters { diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightClusterSizeCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightClusterSizeCommand.cs index d464f678a257..decb6f188276 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightClusterSizeCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightClusterSizeCommand.cs @@ -59,7 +59,7 @@ public SetAzureHDInsightClusterSizeCommand() resizeParams = new ClusterResizeParameters(); } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { HDInsightManagementClient.ResizeCluster(ResourceGroupName, ClusterName, resizeParams); diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightDefaultStorageCommand.cs b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightDefaultStorageCommand.cs index 31696465fc00..f6fd05005f05 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightDefaultStorageCommand.cs +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/ManagementCommands/SetAzureHDInsightDefaultStorageCommand.cs @@ -44,7 +44,7 @@ public class SetAzureHDInsightDefaultStorageCommand : HDInsightCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { Config.DefaultStorageAccountName = StorageAccountName; Config.DefaultStorageAccountKey = StorageAccountKey; diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.psd1 b/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.psd1 index 7f3eded8197b..2fabd8b39195 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.psd1 +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.psd1 @@ -9,7 +9,7 @@ @{ # Version number of this module. -ModuleVersion = '0.9.7' +ModuleVersion = '0.9.9' # ID used to uniquely identify this module GUID = 'F237EAAA-BD3A-4965-AD4A-BF38598BFEF7' diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.Help.xml b/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.xml similarity index 98% rename from src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.Help.xml rename to src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.xml index 7e6235eb876c..e2989745672b 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.Help.xml +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/Microsoft.Azure.Commands.HDInsight.dll-help.xml @@ -2,7 +2,7 @@ - Add-AzureHDInsightConfigValues + Add-AzureRMHDInsightConfigValues Adds a Hadoop configuration value customization and/or a Hive shared library customization to the Microsoft Azure HDInsight cluster configuration. @@ -18,7 +18,7 @@ - Add-AzureHDInsightConfigValues + Add-AzureRMHDInsightConfigValues Config @@ -348,7 +348,7 @@ - Add-AzureHDInsightMetastore + Add-AzureRMHDInsightMetastore Adds a SQL Database account to the Microsoft Azure HDInsight cluster configuration. @@ -360,11 +360,11 @@ - Adds a SQL Database to the HDInsight configuration created by the New-AzureHDInsightClusterConfig cmdlet. + Adds a SQL Database to the HDInsight configuration created by the New-AzureRMHDInsightClusterConfig cmdlet. - Add-AzureHDInsightMetastore + Add-AzureRMHDInsightMetastore Config @@ -523,7 +523,7 @@ - Add-AzureHDInsightScriptAction + Add-AzureRMHDInsightScriptAction Adds a SQL Database account to the Microsoft Azure HDInsight cluster configuration. @@ -535,11 +535,11 @@ - Adds a SQL Database account to the HDInsight configuration created by the New-AzureHDInsightClusterConfig cmdlet. + Adds a SQL Database account to the HDInsight configuration created by the New-AzureRMHDInsightClusterConfig cmdlet. - Add-AzureHDInsightScriptAction + Add-AzureRMHDInsightScriptAction Config @@ -698,7 +698,7 @@ - Add-AzureHDInsightStorage + Add-AzureRMHDInsightStorage Adds a Microsoft Azure Blob Storage account entry to a target HDInsight configuration. @@ -710,11 +710,11 @@ - Adds a Microsoft Azure Blob Storage account entry to the HDInsight configuration created by the New-AzureHDInsightClusterConfig cmdlet. + Adds a Microsoft Azure Blob Storage account entry to the HDInsight configuration created by the New-AzureRMHDInsightClusterConfig cmdlet. - Add-AzureHDInsightStorage + Add-AzureRMHDInsightStorage Config @@ -835,7 +835,7 @@ - Get-AzureHDInsightCluster + Get-AzureRMHDInsightCluster Retrieves and lists all of the Microsoft Azure HDInsight clusters associated with the current subscription or retrieves a specific named cluster. @@ -851,7 +851,7 @@ - Get-AzureHDInsightCluster + Get-AzureRMHDInsightCluster ResourceGroupName @@ -953,7 +953,7 @@ - Get-AzureHDInsightJob + Get-AzureRMHDInsightJob Retrieves the Azure HDInsight jobs from a cluster and lists them in reverse chronological order. @@ -969,7 +969,7 @@ - Get-AzureHDInsightJob + Get-AzureRMHDInsightJob ResourceGroupName @@ -1109,7 +1109,7 @@ - Get-AzureHDInsightJobOutput + Get-AzureRMHDInsightJobOutput Retrieves the log output for a job from the storage account associated with a specified cluster. @@ -1125,7 +1125,7 @@ - Get-AzureHDInsightJobOutput + Get-AzureRMHDInsightJobOutput ResourceGroupName @@ -1322,7 +1322,7 @@ - Get-AzureHDInsightProperties + Get-AzureRMHDInsightProperties Retrieves properties specific to a Microsoft Azure HDInsight service. @@ -1338,7 +1338,7 @@ - Get-AzureHDInsightProperties + Get-AzureRMHDInsightProperties Location @@ -1421,7 +1421,7 @@ - Grant-AzureHDInsightHttpServicesAccess + Grant-AzureRMHDInsightHttpServicesAccess Grants HTTP access to the cluster. @@ -1437,7 +1437,7 @@ - Grant-AzureHDInsightHttpServicesAccess + Grant-AzureRMHDInsightHttpServicesAccess ResourceGroupName @@ -1558,7 +1558,7 @@ - Grant-AzureHDInsightRdpServicesAccess + Grant-AzureRMHDInsightRdpServicesAccess Grants RDP access to the cluster. @@ -1574,7 +1574,7 @@ - Grant-AzureHDInsightRdpServicesAccess + Grant-AzureRMHDInsightRdpServicesAccess ResourceGroupName @@ -1726,7 +1726,7 @@ - Submits Hive queries to the HDInsight cluster, shows progress of the query execution, and retrieves query results in one operation. The Use-AzureHDInsightCluster cmdlet needs to be used before calling Invoke-Hive to specify which HDInsight cluster the query will be submitted to. + Submits Hive queries to the HDInsight cluster, shows progress of the query execution, and retrieves query results in one operation. The Use-AzureRMHDInsightCluster cmdlet needs to be used before calling Invoke-Hive to specify which HDInsight cluster the query will be submitted to. @@ -2003,7 +2003,7 @@ - New-AzureHDInsightCluster + New-AzureRMHDInsightCluster Creates a new Microsoft Azure HDInsight cluster for the current subscription. @@ -2015,11 +2015,11 @@ - Creates a new Microsoft Azure HDInsight cluster using the specified parameters or configuration created using the New-AzureHDInsightClusterConfig cmdlet. + Creates a new Microsoft Azure HDInsight cluster using the specified parameters or configuration created using the New-AzureRMHDInsightClusterConfig cmdlet. - New-AzureHDInsightCluster + New-AzureRMHDInsightCluster Location @@ -2577,7 +2577,7 @@ - New-AzureHDInsightClusterConfig + New-AzureRMHDInsightClusterConfig Creates a non-persisted configuration that describes a Microsoft Azure HDInsight cluster configuration. @@ -2593,7 +2593,7 @@ - New-AzureHDInsightClusterConfig + New-AzureRMHDInsightClusterConfig DefaultStorageAccountName @@ -2809,7 +2809,7 @@ - New-AzureHDInsightHiveJobDefinition + New-AzureRMHDInsightHiveJobDefinition Defines a new Hive job. @@ -2825,7 +2825,7 @@ - New-AzureHDInsightHiveJobDefinition + New-AzureRMHDInsightHiveJobDefinition Arguments @@ -3041,7 +3041,7 @@ - New-AzureHDInsightMapReduceJobDefinition + New-AzureRMHDInsightMapReduceJobDefinition Defines a new Map Reduce job. @@ -3057,7 +3057,7 @@ - New-AzureHDInsightMapReduceJobDefinition + New-AzureRMHDInsightMapReduceJobDefinition Arguments @@ -3273,7 +3273,7 @@ - New-AzureHDInsightPigJobDefinition + New-AzureRMHDInsightPigJobDefinition Defines a new Pig job. @@ -3289,7 +3289,7 @@ - New-AzureHDInsightPigJobDefinition + New-AzureRMHDInsightPigJobDefinition Arguments @@ -3448,7 +3448,7 @@ - New-AzureHDInsightStreamingMapReduceJobDefinition + New-AzureRMHDInsightStreamingMapReduceJobDefinition Defines a new Streaming Map Reduce job. @@ -3464,7 +3464,7 @@ - New-AzureHDInsightStreamingMapReduceJobDefinition + New-AzureRMHDInsightStreamingMapReduceJobDefinition Arguments @@ -3699,7 +3699,7 @@ - Remove-AzureHDInsightCluster + Remove-AzureRMHDInsightCluster Deletes the specified HDInsight cluster from your Microsoft Azure subscription. @@ -3715,7 +3715,7 @@ - Remove-AzureHDInsightCluster + Remove-AzureRMHDInsightCluster ResourceGroupName @@ -3817,7 +3817,7 @@ - Revoke-AzureHDInsightHttpServicesAccess + Revoke-AzureRMHDInsightHttpServicesAccess Disables HTTP access to the cluster. @@ -3833,7 +3833,7 @@ - Revoke-AzureHDInsightHttpServicesAccess + Revoke-AzureRMHDInsightHttpServicesAccess ResourceGroupName @@ -3935,7 +3935,7 @@ - Revoke-AzureHDInsightRdpServicesAccess + Revoke-AzureRMHDInsightRdpServicesAccess Disables RDP access to the cluster. @@ -3951,7 +3951,7 @@ - Revoke-AzureHDInsightRdpServicesAccess + Revoke-AzureRMHDInsightRdpServicesAccess ResourceGroupName @@ -4053,7 +4053,7 @@ - Set-AzureHDInsightClusterSize + Set-AzureRMHDInsightClusterSize Sets the size of the specified cluster to the requested size. @@ -4069,7 +4069,7 @@ - Set-AzureHDInsightClusterSize + Set-AzureRMHDInsightClusterSize ResourceGroupName @@ -4190,7 +4190,7 @@ - Set-AzureHDInsightDefaultStorage + Set-AzureRMHDInsightDefaultStorage Sets default storage account setting in the HDInsight cluster configuration object. @@ -4206,7 +4206,7 @@ - Set-AzureHDInsightDefaultStorage + Set-AzureRMHDInsightDefaultStorage Config @@ -4327,7 +4327,7 @@ - Start-AzureHDInsightJob + Start-AzureRMHDInsightJob Starts an Azure HDInsight job on a specified cluster. @@ -4343,7 +4343,7 @@ - Start-AzureHDInsightJob + Start-AzureRMHDInsightJob ResourceGroupName @@ -4483,7 +4483,7 @@ - Stop-AzureHDInsightJob + Stop-AzureRMHDInsightJob Stops running an Azure HDInsight job on a specified cluster. @@ -4499,7 +4499,7 @@ - Stop-AzureHDInsightJob + Stop-AzureRMHDInsightJob ResourceGroupName @@ -4639,7 +4639,7 @@ - Use-AzureHDInsightCluster + Use-AzureRMHDInsightCluster Selects Azure HDInsight cluster that will be used by the Invoke-Hive cmdlet for job submission. @@ -4655,7 +4655,7 @@ - Use-AzureHDInsightCluster + Use-AzureRMHDInsightCluster ResourceGroupName @@ -4776,7 +4776,7 @@ - Wait-AzureHDInsightJob + Wait-AzureRMHDInsightJob Awaits the completion or failure of the HDInsight job and shows its progress. @@ -4792,7 +4792,7 @@ - Wait-AzureHDInsightJob + Wait-AzureRMHDInsightJob ResourceGroupName diff --git a/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config b/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config index ca7b4a5aadcd..71414dc901ac 100644 --- a/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config +++ b/src/ResourceManager/HDInsight/Commands.HDInsight/packages.config @@ -2,24 +2,24 @@ - + - - + + - + - - - + + + - - + + \ No newline at end of file diff --git a/src/ResourceManager/Insights/AzureRM.Insights.psd1 b/src/ResourceManager/Insights/AzureRM.Insights.psd1 new file mode 100644 index 000000000000..188bfc63d4ba --- /dev/null +++ b/src/ResourceManager/Insights/AzureRM.Insights.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Insights' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '698c387c-bd6b-41c6-82ce-721f1ef39548' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Insights' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Insights.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/Insights/Commands.Insights.Test/Autoscale/AddAutoscaleSettingCommandTests.cs b/src/ResourceManager/Insights/Commands.Insights.Test/Autoscale/AddAutoscaleSettingCommandTests.cs index e5f67e25787a..0a0e5cb30331 100644 --- a/src/ResourceManager/Insights/Commands.Insights.Test/Autoscale/AddAutoscaleSettingCommandTests.cs +++ b/src/ResourceManager/Insights/Commands.Insights.Test/Autoscale/AddAutoscaleSettingCommandTests.cs @@ -78,7 +78,7 @@ public void AddAutoscaleSettingCommandParametersProcessing() var autoscaleProfile = new List {this.CreateAutoscaleProfile(autoscaleRules: autoscaleRules, fixedDate: true)}; // Testing with a complete spec as parameter (Update semantics) - // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] + // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] // Add-AutoscaleSetting -SettingSpec $spec -ResourceGroup $Utilities.ResourceGroup // A NOP cmdlet.SettingSpec = spec; @@ -89,7 +89,7 @@ public void AddAutoscaleSettingCommandParametersProcessing() Assert.Equal("SettingName", this.settingName); Assert.NotNull(this.createOrUpdatePrms); - // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] + // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] // Add-AutoscaleSetting -SettingSpec $spec -ResourceGroup $Utilities.ResourceGroup -DisableSetting // Disable the setting cmdlet.DisableSetting = true; @@ -99,12 +99,12 @@ public void AddAutoscaleSettingCommandParametersProcessing() Assert.Equal("SettingName", this.settingName); Assert.NotNull(this.createOrUpdatePrms); - // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] + // Add-AutoscaleSetting -SettingSpec -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] [-Profile ] [] // Adding a profile cmdlet.AutoscaleProfiles = autoscaleProfile; cmdlet.ExecuteCmdlet(); - // Add-AutoscaleSetting -Location -Name -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] -TargetResourceId [-Profile ] [] + // Add-AutoscaleSetting -Location -Name -ResourceGroup [-DisableSetting []] [-AutoscaleProfiles ] -TargetResourceId [-Profile ] [] cmdlet.SettingSpec = null; cmdlet.Name = "SettingName"; cmdlet.Location = "East US"; 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 1a46d09887ac..29332bc36ea8 100644 --- a/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj +++ b/src/ResourceManager/Insights/Commands.Insights.Test/Commands.Insights.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,7 @@ ..\..\..\ true {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 3984c6a2 + d7bcc31d true @@ -51,8 +51,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -66,11 +66,11 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll ..\..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll @@ -107,9 +107,6 @@ ..\..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll - - ..\..\..\packages\Microsoft.WindowsAzure.Management.Storage.5.0.0\lib\net40\Microsoft.WindowsAzure.Management.Storage.dll - ..\..\..\packages\WindowsAzure.Storage.4.0.0\lib\net40\Microsoft.WindowsAzure.Storage.dll @@ -117,8 +114,9 @@ False ..\..\..\packages\Moq.4.2.1402.2112\lib\net40\Moq.dll - - ..\..\..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll + + False + ..\..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -133,8 +131,12 @@ ..\..\..\packages\System.Spatial.5.6.0\lib\net40\System.Spatial.dll - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -167,13 +169,13 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {DEA446A1-84E2-46CC-B780-EB4AFDE2460E} @@ -257,15 +259,11 @@ - - - - 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}. - + - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog Gets the operations associated with a CorrelationId @@ -2745,7 +2745,7 @@ Tags : {[$type, Microsoft.WindowsAzure.Management.Common.Storage.CasePrese - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog CorrelationId @@ -2927,7 +2927,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 + PS C:\>Get-AzureRMCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 This command lists all the operations associated to the given CorrelationId that took place in the last hour. @@ -2947,7 +2947,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 -StartTime 2015-01-15T04:30:00 + PS C:\>Get-AzureRMCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 -StartTime 2015-01-15T04:30:00 This command lists all the operations associated to the given CorrelationId that took place on or after 2015-01-01T10:30 local time. @@ -2967,7 +2967,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 -StartTime 2015-01-15T04:30:00 -EndTime 2015-01-15T12:30:00 + PS C:\>Get-AzureRMCorrelationIdLog -CorrelationId 60c694d0-e46f-4c12-bed1-9b7aef541c23 -StartTime 2015-01-15T04:30:00 -EndTime 2015-01-15T12:30:00 This command lists all the operations associated to the given CorrelationId that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. @@ -2989,19 +2989,19 @@ The value must be earlier than StartTime, but not more than 15 days. http://go.microsoft.com/fwlink/?LinkID=397618 - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog - Get-AzureResourceLog + Get-AzureRMResourceLog - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog @@ -3009,7 +3009,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog Gets the operations associated with a Resource Group @@ -3025,7 +3025,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog ResourceGroup @@ -3207,7 +3207,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceGroupLog -ResourceGroup Default-Web-CentralUS + PS C:\>Get-AzureRMResourceGroupLog -ResourceGroup Default-Web-CentralUS This command lists all the operations associated to the given Resource Group that took place in the last hour. @@ -3227,7 +3227,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceGroupLog -ResourceGroup Default-Web-CentralUS -StartTime 2015-01-01T10:30 + PS C:\>Get-AzureRMResourceGroupLog -ResourceGroup Default-Web-CentralUS -StartTime 2015-01-01T10:30 This command lists all the operations associated to the given Resource Group that took place on or after 2015-01-01T10:30 local time. @@ -3247,7 +3247,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceGroupLog -ResourceGroup Default-Web-CentralUS -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 + PS C:\>Get-AzureRMResourceGroupLog -ResourceGroup Default-Web-CentralUS -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 This command lists all the operations associated to the given Resource Group that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. @@ -3269,19 +3269,19 @@ The value must be earlier than StartTime, but not more than 15 days. http://go.microsoft.com/fwlink/?LinkID=397618 - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog - Get-AzureResourceLog + Get-AzureRMResourceLog - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog @@ -3293,7 +3293,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceLog + Get-AzureRMResourceLog Gets the operations associated with a ResourceId @@ -3309,7 +3309,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceLog + Get-AzureRMResourceLog ResourceId @@ -3491,7 +3491,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 + PS C:\>Get-AzureRMResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 This command lists all the operations associated to the given ResourceId that took place in the last hour. @@ -3511,7 +3511,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 -StartTime 2015-01-01T10:30 + PS C:\>Get-AzureRMResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 -StartTime 2015-01-01T10:30 This command lists all the operations associated to the given ResourceId that took place on or after 2015-01-01T10:30 local time. @@ -3531,7 +3531,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 + PS C:\>Get-AzureRMResourceLog -ResourceId /subscriptions/623d50f1-4fa8-4e46-a967-a9214aed43ab/resourcegroups/Default-Web-CentralUS/providers/Microsoft.Web/serverFarms/Default1 -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 This command lists all the operations associated to the given ResourceId that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. @@ -3553,19 +3553,19 @@ The value must be earlier than StartTime, but not more than 15 days. http://go.microsoft.com/fwlink/?LinkID=397618 - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog @@ -3573,9 +3573,9 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog - Gets the operations associated with a Resource Provider (RP) for Azure Resource Manager (ARM). You can use the Get-AzureProvider command to list out the ARM Resource Providers that are available. By default, this command retrieves Resource Provider log entries for the last hour, however you can specify custom start and end times to get log entries from a specific time period. + Gets the operations associated with a Resource Provider (RP) for Azure Resource Manager (ARM). You can use the Get-AzureRMResourceProvider command to list out the ARM Resource Providers that are available. By default, this command retrieves Resource Provider log entries for the last hour, however you can specify custom start and end times to get log entries from a specific time period. @@ -3589,11 +3589,11 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog ResourceProvider - Specifies a filter by ResourceProvider. This parameter is mandatory. To discover a list of Resource Providers, use the Get-AzureProvider command. + Specifies a filter by ResourceProvider. This parameter is mandatory. To discover a list of Resource Providers, use the Get-AzureRMResourceProvider command. String @@ -3636,7 +3636,7 @@ The default is EndTime minus one hour. Profile - In-memory profile (AzureProfile). You can create an Azure Profile by using the New-AzureProfile command. + In-memory profile (AzureProfile). You can create an Azure Profile by using the New-AzureRMProfile command. AzureProfile @@ -3770,7 +3770,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceProviderLog -ResourceProvider Microsoft.Web + PS C:\>Get-AzureRMResourceProviderLog -ResourceProvider Microsoft.Web This command lists all the operations associated to the given Resource Provider that took place in the last hour. @@ -3790,7 +3790,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceProviderLog -ResourceProvider Microsoft.Web -StartTime 2015-01-01T10:30 + PS C:\>Get-AzureRMResourceProviderLog -ResourceProvider Microsoft.Web -StartTime 2015-01-01T10:30 This command lists all the operations associated to the given Resource Provider that took place on or after 2015-01-01T10:30 local time. @@ -3810,7 +3810,7 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureResourceProviderLog -ResourceProvider Microsoft.Web -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 + PS C:\>Get-AzureRMResourceProviderLog -ResourceProvider Microsoft.Web -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 This command lists all the operations associated to the given Resource Provider that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. @@ -3832,19 +3832,19 @@ The value must be earlier than StartTime, but not more than 15 days. http://go.microsoft.com/fwlink/?LinkID=397618 - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog - Get-AzureResourceLog + Get-AzureRMResourceLog @@ -3852,7 +3852,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog Gets the operations associated with the current subscriptionId @@ -3868,7 +3868,7 @@ The value must be earlier than StartTime, but not more than 15 days. - Get-AzureSubscriptionIdLog + Get-AzureRMSubscriptionIdLog StartTime @@ -4031,9 +4031,9 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureSubscriptionIdLog + PS C:\>Get-AzureRMSubscriptionIdLog - This command lists all the operations associated to the user's subscriptionId (see Add-AzureAccount for details) that took place in the last hour. + This command lists all the operations associated to the user's subscriptionId (see Add-AzureRMAccount for details) that took place in the last hour. @@ -4051,9 +4051,9 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureSubscriptionIdLog -StartTime 2015-01-01T10:30 + PS C:\>Get-AzureRMSubscriptionIdLog -StartTime 2015-01-01T10:30 - This command lists all the operations associated to the user's subscriptionId (see Add-AzureAccount for details) that took place on or after 2015-01-01T10:30 local time. + This command lists all the operations associated to the user's subscriptionId (see Add-AzureRMAccount for details) that took place on or after 2015-01-01T10:30 local time. @@ -4071,9 +4071,9 @@ The value must be earlier than StartTime, but not more than 15 days. PS C:\> - PS C:\>Get-AzureSubscriptionIdLog -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 + PS C:\>Get-AzureRMSubscriptionIdLog -StartTime 2015-01-01T10:30 -EndTime 2015-01-01T11:30 - This command lists all the operations associated to the user's subscriptionId (see Add-AzureAccount for details) that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. + This command lists all the operations associated to the user's subscriptionId (see Add-AzureRMAccount for details) that took place on or after 2015-01-01T10:30 local time, but before 2015-01-01T11:30 local time. @@ -4093,19 +4093,19 @@ The value must be earlier than StartTime, but not more than 15 days. http://go.microsoft.com/fwlink/?LinkID=397618 - Get-AzureCorrelationIdLog + Get-AzureRMCorrelationIdLog - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog - Get-AzureResourceLog + Get-AzureRMResourceLog - Get-AzureResourceProviderLog + Get-AzureRMResourceProviderLog diff --git a/src/ResourceManager/Insights/Commands.Insights/UsageMetrics/GetUsageMetricsCommand.cs b/src/ResourceManager/Insights/Commands.Insights/UsageMetrics/GetUsageMetricsCommand.cs index b39cc7590b51..5deb854d53d7 100644 --- a/src/ResourceManager/Insights/Commands.Insights/UsageMetrics/GetUsageMetricsCommand.cs +++ b/src/ResourceManager/Insights/Commands.Insights/UsageMetrics/GetUsageMetricsCommand.cs @@ -119,7 +119,7 @@ protected string ProcessParameters() /// /// Execute the cmdlet /// - protected override void ExecuteCmdletInternal() + protected override void ProcessRecordInternal() { string queryFilter = this.ProcessParameters(); string apiVersion = this.ApiVersion ?? DefaultApiVersion; diff --git a/src/ResourceManager/Insights/Commands.Insights/packages.config b/src/ResourceManager/Insights/Commands.Insights/packages.config index 38ad9bb33115..042cf78bd74b 100644 --- a/src/ResourceManager/Insights/Commands.Insights/packages.config +++ b/src/ResourceManager/Insights/Commands.Insights/packages.config @@ -2,16 +2,16 @@ - + - - - + + + @@ -20,4 +20,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/AzureRM.KeyVault.psd1 b/src/ResourceManager/KeyVault/AzureRM.KeyVault.psd1 new file mode 100644 index 000000000000..a1038d6ae575 --- /dev/null +++ b/src/ResourceManager/KeyVault/AzureRM.KeyVault.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.KeyVault' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'fa236c1f-6464-4d6a-a48d-db47c0e7923d' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - KeyVault' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.KeyVault.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.KeyVault.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 232e853498db..22430309b25c 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Commands.KeyVault.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,7 @@ ..\..\ true {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 81903643 + 8a60455a true @@ -57,8 +57,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False @@ -71,9 +71,8 @@ False ..\..\..\packages\Microsoft.Azure.KeyVault.1.0.0\lib\net45\Microsoft.Azure.KeyVault.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll False @@ -88,10 +87,10 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -145,8 +144,13 @@ ..\..\..\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 @@ -176,10 +180,29 @@ PreserveNewest + + + + + + ScenarioTests\KeyVaultManagementTests.ps1 Always + + + + + + + + + + + + + Always @@ -263,13 +286,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 {e1f5201d-6067-430e-b303-4e367652991b} @@ -286,18 +309,18 @@ Resource.Designer.cs + + + - - - - 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/ResourceManager/KeyVault/Commands.KeyVault.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Properties/AssemblyInfo.cs index f00455fcb2ac..37865efbe402 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Properties/AssemblyInfo.cs @@ -15,6 +15,7 @@ using System.Reflection; using System.Runtime.CompilerServices; 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 diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/Common.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/Common.ps1 index f31e1e68937a..2b6dcefa6ffb 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/Common.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/Common.ps1 @@ -36,7 +36,7 @@ Gets the location for the Website. Default to West US if none found. #> function Get-Location { - $location = Get-AzureLocation | where {$_.Name -eq "Microsoft.KeyVault/vaults"} + $location = Get-AzureRMLocation | where {$_.Name -eq "Microsoft.KeyVault/vaults"} if ($location -eq $null) { return "East US" @@ -53,7 +53,7 @@ Gets the default location for a provider #> function Get-ProviderLocation($provider) { - $location = Get-AzureLocation | where {$_.Name -eq $provider} + $location = Get-AzureRMLocation | where {$_.Name -eq $provider} if ($location -eq $null) { "East US" } else { @@ -68,6 +68,6 @@ Cleans the created resource groups function Clean-ResourceGroup($rgname) { if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) { - Remove-AzureResourceGroup -Name $rgname -Force + Remove-AzureRMResourceGroup -Name $rgname -Force } } \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultEnvSetupHelper.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultEnvSetupHelper.cs index b25bd91b4895..03c226b41a30 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultEnvSetupHelper.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultEnvSetupHelper.cs @@ -27,7 +27,7 @@ using Microsoft.Azure.Management.KeyVault; using Microsoft.Azure.Common.Authentication.Models; using System.Collections.Generic; - +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.KeyVault.Test { @@ -49,8 +49,8 @@ public void SetupEnvironment() var testSubscription = new AzureSubscription() { Id = new Guid(csmEnvironment.SubscriptionId), - Name = ProfileClient.Profile.DefaultSubscription.Name, - Environment = ProfileClient.Profile.DefaultSubscription.Environment, + Name = AzureRMCmdlet.DefaultProfile.Context.Subscription.Name, + Environment = AzureRMCmdlet.DefaultProfile.Context.Environment.Name, Account = user, Properties = new Dictionary { @@ -73,12 +73,7 @@ public void SetupEnvironment() } }; - ProfileClient.Profile.Accounts.Remove(ProfileClient.Profile.DefaultSubscription.Account); - ProfileClient.Profile.Subscriptions[testSubscription.Id] = testSubscription; - ProfileClient.Profile.Accounts[testAccount.Id] = testAccount; - ProfileClient.SetSubscriptionAsDefault(testSubscription.Name, testSubscription.Account); - - ProfileClient.Profile.Save(); + AzureRMCmdlet.DefaultProfile.Context = new AzureContext(testSubscription, testAccount, AzureRMCmdlet.DefaultProfile.Context.Environment, new AzureTenant { Id = new Guid(tenantId) }); } } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementController.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementController.cs index aa0705803417..3cf18d314d63 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementController.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementController.cs @@ -25,6 +25,8 @@ using Microsoft.Azure.Gallery; using Microsoft.Azure.Graph.RBAC; using Microsoft.Azure.Management.KeyVault; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; namespace Microsoft.Azure.Commands.KeyVault.Test { @@ -192,11 +194,14 @@ private GraphRbacManagementClient GetGraphClient() if (HttpMockServer.Variables.ContainsKey(TenantIdKey)) { tenantId = HttpMockServer.Variables[TenantIdKey]; + AzureRMCmdlet.DefaultProfile.Context.Tenant.Id = new Guid(tenantId); } if (HttpMockServer.Variables.ContainsKey(DomainKey)) { UserDomain = HttpMockServer.Variables[DomainKey]; + AzureRMCmdlet.DefaultProfile.Context.Tenant.Domain = UserDomain; } + } return TestBase.GetGraphServiceClient(this.csmTestFactory, tenantId); diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.cs index 1769028f81f6..7038c464e550 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultManagementTests.cs @@ -27,39 +27,37 @@ namespace Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests { public class KeyVaultManagementTests : IUseFixture { - private KeyVaultTestFixture data; + private KeyVaultTestFixture _data; - public void SetFixture(KeyVaultTestFixture data) + public KeyVaultManagementTests() { - this.data = data; - this.data.Initialize(TestUtilities.GetCallingClass()); } private void Initialize() { if (HttpMockServer.Mode == HttpRecorderMode.Record) { - HttpMockServer.Variables["ResourceGroupName"] = data.resourceGroupName; - HttpMockServer.Variables["Location"] = data.location; - HttpMockServer.Variables["PreCreatedVault"] = data.preCreatedVault; + HttpMockServer.Variables["ResourceGroupName"] = _data.resourceGroupName; + HttpMockServer.Variables["Location"] = _data.location; + HttpMockServer.Variables["PreCreatedVault"] = _data.preCreatedVault; } else { - data.resourceGroupName = HttpMockServer.Variables["ResourceGroupName"]; - data.location = HttpMockServer.Variables["Location"]; - data.preCreatedVault = HttpMockServer.Variables["PreCreatedVault"]; + _data.resourceGroupName = HttpMockServer.Variables["ResourceGroupName"]; + _data.location = HttpMockServer.Variables["Location"]; + _data.preCreatedVault = HttpMockServer.Variables["PreCreatedVault"]; } } - #region New-AzureKeyVault + #region New-AzureRMKeyVault [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestCreateNewVault() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-CreateNewVault", data.resourceGroupName, data.location, data.tagName, data.tagValue) }; }, + () => { return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-CreateNewVault", _data.resourceGroupName, _data.location, _data.tagName, _data.tagValue) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -72,7 +70,7 @@ public void TestCreateNewVault() public void TestCreateNewPremiumVaultEnabledForDeployment() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateNewPremiumVaultEnabledForDeployment", data.resourceGroupName, data.location) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateNewPremiumVaultEnabledForDeployment", _data.resourceGroupName, _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -86,7 +84,7 @@ public void TestRecreateVaultFails() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2} {3}", "Test-RecreateVaultFails", data.preCreatedVault, data.resourceGroupName, data.location) }; }, + () => { return new[] { string.Format("{0} {1} {2} {3}", "Test-RecreateVaultFails", _data.preCreatedVault, _data.resourceGroupName, _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -99,7 +97,7 @@ public void TestRecreateVaultFails() public void TestCreateVaultInUnknownResGrpFails() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1}", "Test-CreateVaultInUnknownResGrpFails", data.location) }; }, + () => { return new[] { string.Format("{0} {1}", "Test-CreateVaultInUnknownResGrpFails", _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -113,7 +111,7 @@ public void TestCreateVaultPositionalParams() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateVaultPositionalParams", data.resourceGroupName, data.location) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateVaultPositionalParams", _data.resourceGroupName, _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -123,14 +121,14 @@ public void TestCreateVaultPositionalParams() #endregion - #region Get-AzureKeyVault + #region Get-AzureRMKeyVault [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestGetVaultByNameAndResourceGroup() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-GetVaultByNameAndResourceGroup", data.preCreatedVault, data.resourceGroupName) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-GetVaultByNameAndResourceGroup", _data.preCreatedVault, _data.resourceGroupName) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -144,7 +142,7 @@ public void TestGetVaultByNameAndResourceGroup() public void TestGetVaultByNameAndResourceGroupPositionalParams() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-GetVaultByNameAndResourceGroupPositionalParams", data.preCreatedVault, data.resourceGroupName) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-GetVaultByNameAndResourceGroupPositionalParams", _data.preCreatedVault, _data.resourceGroupName) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -158,7 +156,7 @@ public void TestGetVaultByNameAndResourceGroupPositionalParams() public void TestGetVaultByName() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1}", "Test-GetVaultByName", data.preCreatedVault) }; }, + () => { return new[] { string.Format("{0} {1}", "Test-GetVaultByName", _data.preCreatedVault) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -171,7 +169,7 @@ public void TestGetVaultByName() public void TestGetUnknownVaultFails() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1}", "Test-GetUnknownVaultFails", data.resourceGroupName) }; }, + () => { return new[] { string.Format("{0} {1}", "Test-GetUnknownVaultFails", _data.resourceGroupName) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -185,7 +183,7 @@ public void TestGetUnknownVaultFails() public void TestGetVaultFromUnknownResourceGroupFails() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1}", "Test-GetVaultFromUnknownResourceGroupFails", data.preCreatedVault) }; }, + () => { return new[] { string.Format("{0} {1}", "Test-GetVaultFromUnknownResourceGroupFails", _data.preCreatedVault) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -195,14 +193,14 @@ public void TestGetVaultFromUnknownResourceGroupFails() #endregion - #region Get-AzureKeyVault (list) + #region Get-AzureRMKeyVault (list) [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestListVaultsByResourceGroup() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1}", "Test-ListVaultsByResourceGroup", data.resourceGroupName) }; }, + () => { return new[] { string.Format("{0} {1}", "Test-ListVaultsByResourceGroup", _data.resourceGroupName) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -229,7 +227,7 @@ public void TestListAllVaultsInSubscription() public void TestListVaultsByTag() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-ListVaultsByTag", data.tagName, data.tagValue) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-ListVaultsByTag", _data.tagName, _data.tagValue) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -251,14 +249,14 @@ public void TestListVaultsByUnknownResourceGroupFails() } #endregion - #region Remove-AzureKeyVault + #region Remove-AzureRMKeyVault [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestDeleteVaultByName() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-DeleteVaultByName", data.resourceGroupName, data.location) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-DeleteVaultByName", _data.resourceGroupName, _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -281,18 +279,18 @@ public void TestDeleteUnknownVaultFails() #endregion - #region Set-AzureKeyVaultAccessPolicy & Remove-AzureKeyVaultAccessPolicy + #region Set-AzureRMKeyVaultAccessPolicy & Remove-AzureRMKeyVaultAccessPolicy [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] public void TestSetRemoveAccessPolicyByObjectId() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyByObjectId", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyByObjectId", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -310,11 +308,11 @@ public void TestSetRemoveAccessPolicyByObjectId() public void TestSetRemoveAccessPolicyByUPN() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyByUPN", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyByUPN", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -333,11 +331,11 @@ public void TestSetRemoveAccessPolicyByCompoundId() { string upn = ""; Guid? appId = null; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-SetRemoveAccessPolicyByCompoundId", data.preCreatedVault, data.resourceGroupName, upn, appId) }; + return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-SetRemoveAccessPolicyByCompoundId", _data.preCreatedVault, _data.resourceGroupName, upn, appId) }; }, (env) => { @@ -358,11 +356,11 @@ public void TestRemoveAccessPolicyWithCompoundIdPolicies() string upn = ""; Guid? appId1 = null; Guid? appId2 = null; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3} {4} {5}", "Test-RemoveAccessPolicyWithCompoundIdPolicies", data.preCreatedVault, data.resourceGroupName, upn, appId1, appId2) }; + return new[] { string.Format("{0} {1} {2} {3} {4} {5}", "Test-RemoveAccessPolicyWithCompoundIdPolicies", _data.preCreatedVault, _data.resourceGroupName, upn, appId1, appId2) }; }, (env) => { @@ -383,11 +381,11 @@ public void TestSetCompoundIdAccessPolicy() { string upn = ""; Guid? appId = null; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-SetCompoundIdAccessPolicy", data.preCreatedVault, data.resourceGroupName, upn, appId) }; + return new[] { string.Format("{0} {1} {2} {3} {4}", "Test-SetCompoundIdAccessPolicy", _data.preCreatedVault, _data.resourceGroupName, upn, appId) }; }, (env) => { @@ -410,7 +408,7 @@ public void TestSetRemoveAccessPolicyBySPN() ServicePrincipal principal = null; KeyVaultManagementController controller = KeyVaultManagementController.NewInstance; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); controller.RunPsTestWorkflow( //script builder () => @@ -418,8 +416,8 @@ public void TestSetRemoveAccessPolicyBySPN() app = CreateNewAdApp(controller); principal = CreateNewAdServicePrincipal(controller, app.AppId); return new[] { string.Format("{0} {1} {2} {3}", "Test-SetRemoveAccessPolicyBySPN", - data.preCreatedVault, - data.resourceGroupName, + _data.preCreatedVault, + _data.resourceGroupName, principal.ServicePrincipalNames.Where(s => s.StartsWith("http")).FirstOrDefault()) }; }, //Initialize @@ -444,11 +442,11 @@ public void TestModifyAccessPolicy() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicy", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicy", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -468,11 +466,11 @@ public void TestModifyAccessPolicyEnabledForDeployment() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyEnabledForDeployment", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyEnabledForDeployment", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -492,11 +490,11 @@ public void TestModifyAccessPolicyNegativeCases() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyNegativeCases", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-ModifyAccessPolicyNegativeCases", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -515,11 +513,11 @@ public void TestRemoveNonExistentAccessPolicyDoesNotThrow() { string upn = ""; - data.ResetPreCreatedVault(); + _data.ResetPreCreatedVault(); KeyVaultManagementController.NewInstance.RunPsTestWorkflow( () => { - return new[] { string.Format("{0} {1} {2} {3}", "Test-RemoveNonExistentAccessPolicyDoesNotThrow", data.preCreatedVault, data.resourceGroupName, upn) }; + return new[] { string.Format("{0} {1} {2} {3}", "Test-RemoveNonExistentAccessPolicyDoesNotThrow", _data.preCreatedVault, _data.resourceGroupName, upn) }; }, (env) => { @@ -540,7 +538,7 @@ public void TestRemoveNonExistentAccessPolicyDoesNotThrow() public void TestCreateDeleteVaultWithPiping() { KeyVaultManagementController.NewInstance.RunPsTestWorkflow( - () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateDeleteVaultWithPiping", data.resourceGroupName, data.location) }; }, + () => { return new[] { string.Format("{0} {1} {2}", "Test-CreateDeleteVaultWithPiping", _data.resourceGroupName, _data.location) }; }, (env) => Initialize(), null, TestUtilities.GetCallingClass(), @@ -651,6 +649,12 @@ private void DeleteAdServicePrincipal(KeyVaultManagementController controllerAdm } } #endregion + + public void SetFixture(KeyVaultTestFixture data) + { + this._data = data; + this._data.Initialize(TestUtilities.GetCallingClass()); + } } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultTestFixture.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultTestFixture.cs index a6ee259ac59a..820ca4290c24 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultTestFixture.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/ScenarioTests/KeyVaultTestFixture.cs @@ -9,11 +9,12 @@ using Microsoft.Azure.Test; using Microsoft.Azure.Test.HttpRecorder; using Microsoft.IdentityModel.Clients.ActiveDirectory; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; using Newtonsoft.Json; namespace Microsoft.Azure.Commands.KeyVault.Test.ScenarioTests { - public class KeyVaultTestFixture : IDisposable + public class KeyVaultTestFixture : RMTestBase, IDisposable { public string tagName = "testtag", tagValue = "testvalue"; public string resourceGroupName, location, preCreatedVault; diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/Common.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/Common.ps1 index 24c4583cf167..693d337a13d0 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/Common.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/Common.ps1 @@ -152,7 +152,7 @@ function Initialize-KeyTest { $keyVault = Get-KeyVault $keyPattern = Get-KeyName '*' - Get-AzureKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keyPattern} | Remove-AzureKeyVaultKey -Force -Confirm:$false + Get-AzureRMKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keyPattern} | Remove-AzureRMKeyVaultKey -Force -Confirm:$false } <# @@ -163,7 +163,7 @@ function Initialize-SecretTest { $keyVault = Get-KeyVault $secretPattern = Get-SecretName '*' - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretPattern} | Remove-AzureKeyVaultSecret -Force -Confirm:$false + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretPattern} | Remove-AzureRMKeyVaultSecret -Force -Confirm:$false } @@ -181,7 +181,7 @@ function Cleanup-SingleKeyTest { $keyVault = Get-KeyVault Write-Debug "Removing key with name $_ in vault $keyVault" - $catch = Remove-AzureKeyVaultKey $keyVault $_ -Force -Confirm:$false + $catch = Remove-AzureRMKeyVaultKey $keyVault $_ -Force -Confirm:$false } catch { @@ -205,7 +205,7 @@ function Cleanup-SingleSecretTest { $keyVault = Get-KeyVault Write-Debug "Removing secret with name $_ in vault $keyVault" - $catch = Remove-AzureKeyVaultSecret $keyVault $_ -Force -Confirm:$false + $catch = Remove-AzureRMKeyVaultSecret $keyVault $_ -Force -Confirm:$false } catch { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/Common.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/Common.ps1 index 1d2814852f0e..1182f3515cdd 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/Common.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/Common.ps1 @@ -18,7 +18,7 @@ Gets the location for the Website. Default to West US if none found. #> function Get-Location { - $location = Get-AzureLocation | where {$_.Name -eq "Microsoft.KeyVault/vaults"} + $location = Get-AzureRMLocation | where {$_.Name -eq "Microsoft.KeyVault/vaults"} if ($location -eq $null) { return "East US" @@ -35,7 +35,7 @@ Gets the default location for a provider #> function Get-ProviderLocation($provider) { - $location = Get-AzureLocation | where {$_.Name -eq $provider} + $location = Get-AzureRMLocation | where {$_.Name -eq $provider} if ($location -eq $null) { "East US" } else { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/KeyVaultManagementTests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/KeyVaultManagementTests.ps1 index d673baf74535..806aed3473fb 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/KeyVaultManagementTests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/ControlPlane/KeyVaultManagementTests.ps1 @@ -12,7 +12,7 @@ # limitations under the License. # ---------------------------------------------------------------------------------- -#------------------------------New-AzureKeyVault-------------------------------------- +#------------------------------New-AzureRMKeyVault-------------------------------------- <# .SYNOPSIS @@ -21,26 +21,26 @@ Tests creating a new vault. function Test-CreateNewVault { Param($rgName, $location, $tagName, $tagValue) - - # Setup - $vaultname = Get-VaultName - - # Test - $actual = New-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location -Tags @{Name = $tagName; Value = $tagValue} - - # Assert - Assert-AreEqual $vaultName $actual.VaultName - Assert-AreEqual $rgname $actual.ResourceGroupName - Assert-AreEqual $location $actual.Location - Assert-AreEqual $actual.Tags[0]["Value"] $tagValue - Assert-AreEqual $actual.Tags[0]["Name"] $tagName - Assert-AreEqual "Standard" $actual.Sku - Assert-AreEqual $false $actual.EnabledForDeployment - - # Default Access Policy - $upn = @(Get-AzureAccount)[0].Id - $objectId = @(Get-AzureADUser -Mail $upn)[0].Id - $expectedPermsToKeys = @("get", + + # Setup + $vaultname = Get-VaultName + + # Test + $actual = New-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location -Tags @{Name = $tagName; Value = $tagValue} + + # Assert + Assert-AreEqual $vaultName $actual.VaultName + Assert-AreEqual $rgname $actual.ResourceGroupName + Assert-AreEqual $location $actual.Location + Assert-AreEqual $actual.Tags[0]["Value"] $tagValue + Assert-AreEqual $actual.Tags[0]["Name"] $tagName + Assert-AreEqual "Standard" $actual.Sku + Assert-AreEqual $false $actual.EnabledForDeployment + + # Default Access Policy + $upn = [Microsoft.Azure.Commands.ResourceManager.Common.AzureRMCmdlet]::DefaultProfile.Context.Account.Id + $objectId = @(Get-AzureRMADUser -Mail $upn)[0].Id + $expectedPermsToKeys = @("get", "create", "delete", "list", @@ -48,14 +48,14 @@ Param($rgName, $location, $tagName, $tagValue) "import", "backup", "restore") - $expectedPermsToSecrets = @("all") - - Assert-AreEqual 1 @($actual.AccessPolicies).Count - Assert-AreEqual $objectId $actual.AccessPolicies[0].ObjectId - $result = Compare-Object $expectedPermsToKeys $actual.AccessPolicies[0].PermissionsToKeys - Assert-Null $result - $result = Compare-Object $expectedPermsToSecrets $actual.AccessPolicies[0].PermissionsToSecrets - Assert-Null $result + $expectedPermsToSecrets = @("all") + + Assert-AreEqual 1 @($actual.AccessPolicies).Count + Assert-AreEqual $objectId $actual.AccessPolicies[0].ObjectId + $result = Compare-Object $expectedPermsToKeys $actual.AccessPolicies[0].PermissionsToKeys + Assert-Null $result + $result = Compare-Object $expectedPermsToSecrets $actual.AccessPolicies[0].PermissionsToSecrets + Assert-Null $result } <# @@ -64,21 +64,21 @@ Tests creating a new premium vault with enabledForDeployment set to true. #> function Test-CreateNewPremiumVaultEnabledForDeployment { - Param($rgName, $location) - - # Setup - $vaultname = Get-VaultName - - # Test - $actual = New-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location -Sku premium -EnabledForDeployment - - # Assert - Assert-AreEqual $vaultName $actual.VaultName - Assert-AreEqual $rgname $actual.ResourceGroupName - Assert-AreEqual $location $actual.Location - Assert-AreEqual "Premium" $actual.Sku - Assert-AreEqual 1 @($actual.AccessPolicies).Count - Assert-AreEqual $true $actual.EnabledForDeployment + Param($rgName, $location) + + # Setup + $vaultname = Get-VaultName + + # Test + $actual = New-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location -Sku premium -EnabledForDeployment + + # Assert + Assert-AreEqual $vaultName $actual.VaultName + Assert-AreEqual $rgname $actual.ResourceGroupName + Assert-AreEqual $location $actual.Location + Assert-AreEqual "Premium" $actual.Sku + Assert-AreEqual 1 @($actual.AccessPolicies).Count + Assert-AreEqual $true $actual.EnabledForDeployment } <# @@ -87,101 +87,101 @@ Recreate vault fails #> function Test-RecreateVaultFails { - Param($existingVaultName, $rgName, $location) + Param($existingVaultName, $rgName, $location) - Assert-Throws { New-AzureKeyVault -VaultName $existingVaultName -ResourceGroupName $rgname -Location $location } + Assert-Throws { New-AzureRMKeyVault -VaultName $existingVaultName -ResourceGroupName $rgname -Location $location } } function Test-CreateVaultInUnknownResGrpFails { - Param($location) + Param($location) - $vaultname = Get-VaultName - $rgName = Get-ResourceGroupName + $vaultname = Get-VaultName + $rgName = Get-ResourceGroupName - Assert-Throws { New-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $location } + Assert-Throws { New-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgName -Location $location } } function Test-CreateVaultPositionalParams { - Param($rgName, $location) + Param($rgName, $location) - # Setup - $vaultname = Get-VaultName - - # Test - $actual = New-AzureKeyVault $vaultName $rgname $location + # Setup + $vaultname = Get-VaultName + + # Test + $actual = New-AzureRMKeyVault $vaultName $rgname $location - Assert-NotNull $actual + Assert-NotNull $actual } #------------------------------------------------------------------------------------- -#------------------------------Get-AzureKeyVault-------------------------------------- +#------------------------------Get-AzureRMKeyVault-------------------------------------- function Test-GetVaultByNameAndResourceGroup { - Param($existingVaultName, $rgName) + Param($existingVaultName, $rgName) - $got = Get-AzureKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName + $got = Get-AzureRMKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName - Assert-NotNull $got + Assert-NotNull $got } function Test-GetVaultByNameAndResourceGroupPositionalParams { - Param($existingVaultName, $rgName) + Param($existingVaultName, $rgName) - $got = Get-AzureKeyVault $existingVaultName $rgName + $got = Get-AzureRMKeyVault $existingVaultName $rgName - Assert-NotNull $got + Assert-NotNull $got } function Test-GetVaultByName { - Param($existingVaultName) + Param($existingVaultName) - $got = Get-AzureKeyVault -VaultName $existingVaultName + $got = Get-AzureRMKeyVault -VaultName $existingVaultName - Assert-NotNull $got + Assert-NotNull $got } function Test-GetUnknownVaultFails { - Param($rgName) - $vaultname = Get-VaultName - - Assert-Throws { Get-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgName } + Param($rgName) + $vaultname = Get-VaultName + + Assert-Throws { Get-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgName } } function Test-GetVaultFromUnknownResourceGroupFails { - Param($existingVaultName) - $rgName = Get-ResourceGroupName - - Assert-Throws { Get-AzureKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName } + Param($existingVaultName) + $rgName = Get-ResourceGroupName + + Assert-Throws { Get-AzureRMKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName } } function Test-ListVaultsByResourceGroup { - Param($rgName) - $list = Get-AzureKeyVault -ResourceGroupName $rgName + Param($rgName) + $list = Get-AzureRMKeyVault -ResourceGroupName $rgName - Assert-NotNull $list - Assert-True { $list.Count -gt 0 } - foreach($v in $list) { + Assert-NotNull $list + Assert-True { $list.Count -gt 0 } + foreach($v in $list) { Assert-NotNull($v.VaultName) Assert-NotNull($v.ResourceGroupName) - Assert-AreEqual $rgName $v.ResourceGroupName + Assert-AreEqual $rgName $v.ResourceGroupName } } function Test-ListAllVaultsInSubscription { - $list = Get-AzureKeyVault + $list = Get-AzureRMKeyVault - Assert-NotNull $list - Assert-True { $list.Count -gt 0 } - foreach($v in $list) { + Assert-NotNull $list + Assert-True { $list.Count -gt 0 } + foreach($v in $list) { Assert-NotNull $v.VaultName Assert-NotNull $v.ResourceGroupName } @@ -190,304 +190,304 @@ function Test-ListAllVaultsInSubscription function Test-ListVaultsByTag { Param($tagName, $tagValue) - $list = Get-AzureKeyVault -Tag @{Name = $tagName; Value = $tagValue} + $list = Get-AzureRMKeyVault -Tag @{Name = $tagName; Value = $tagValue} - Assert-NotNull $list - Assert-True { $list.Count -gt 0 } + Assert-NotNull $list + Assert-True { $list.Count -gt 0 } } function Test-ListVaultsByUnknownResourceGroupFails { - $rgName = Get-ResourceGroupName - - Assert-Throws { Get-AzureKeyVault -ResourceGroupName $rgName } + $rgName = Get-ResourceGroupName + + Assert-Throws { Get-AzureRMKeyVault -ResourceGroupName $rgName } } #------------------------------------------------------------------------------------- -#------------------------------Remove-AzureKeyVault----------------------------------- +#------------------------------Remove-AzureRMKeyVault----------------------------------- function Test-DeleteVaultByName { - Param($rgName, $location) - $vaultName = Get-VaultName - - New-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location - - Remove-AzureKeyVault -VaultName $vaultName -Force -Confirm:$false - - Assert-Throws { Get-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgName } + Param($rgName, $location) + $vaultName = Get-VaultName + + New-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location + + Remove-AzureRMKeyVault -VaultName $vaultName -Force -Confirm:$false + + Assert-Throws { Get-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgName } } function Test-DeleteUnknownVaultFails { - $vaultName = Get-VaultName + $vaultName = Get-VaultName - Assert-Throws { Remove-AzureKeyVault -VaultName $vaultName } + Assert-Throws { Remove-AzureRMKeyVault -VaultName $vaultName } } #------------------------------------------------------------------------------------- -#------------------------------Set-AzureKeyVaultAccessPolicy-------------------------- +#------------------------------Set-AzureRMKeyVaultAccessPolicy-------------------------- function Test-SetRemoveAccessPolicyByUPN { - Param($existingVaultName, $rgName, $upn) - - $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") - $PermToSecrets = @("get", "list", "set", "delete") - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru + Param($existingVaultName, $rgName, $upn) + + $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") + $PermToSecrets = @("get", "list", "set", "delete") + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - Assert-AreEqual $upn (Get-AzureADUser -ObjectId $vault.AccessPolicies[0].ObjectId)[0].UserPrincipalName + Assert-AreEqual $upn (Get-AzureRMADUser -ObjectId $vault.AccessPolicies[0].ObjectId)[0].UserPrincipalName - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-SetRemoveAccessPolicyBySPN { - Param($existingVaultName, $rgName, $spn) - - $PermToKeys = @() - $PermToSecrets = @("get", "set", "list") - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ServicePrincipalName $spn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru - - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - Assert-AreEqual $spn (Get-AzureADServicePrincipal -ObjectId $vault.AccessPolicies[0].ObjectId)[0].ServicePrincipalName - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -SPN $spn -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $spn) + + $PermToKeys = @() + $PermToSecrets = @("get", "set", "list") + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ServicePrincipalName $spn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru + + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + Assert-AreEqual $spn (Get-AzureRMADServicePrincipal -ObjectId $vault.AccessPolicies[0].ObjectId)[0].ServicePrincipalName + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -SPN $spn -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-SetRemoveAccessPolicyByObjectId { - Param($existingVaultName, $rgName, $upn) - - $user = Get-AzureADUser -UserPrincipalName $upn - if ($user -eq $null) - { - $user = Get-AzureADUser -Mail $upn - } - Assert-NotNull $user - $objId = $user.Id - - $PermToKeys = @("encrypt", "decrypt") - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru - - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn) + + $user = Get-AzureRMADUser -UserPrincipalName $upn + if ($user -eq $null) + { + $user = Get-AzureRMADUser -Mail $upn + } + Assert-NotNull $user + $objId = $user.Id + + $PermToKeys = @("encrypt", "decrypt") + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru + + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-SetRemoveAccessPolicyByCompoundId { - Param($existingVaultName, $rgName, $upn, $appId) - - Assert-NotNull $appId - - $user = Get-AzureADUser -UserPrincipalName $upn - if ($user -eq $null) - { - $user = Get-AzureADUser -Mail $upn - } - Assert-NotNull $user - $objId = $user.Id - - $PermToKeys = @("encrypt", "decrypt") - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys $PermToKeys -PassThru - - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId - Assert-AreEqual $appId $vault.AccessPolicies[0].ApplicationId - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn, $appId) + + Assert-NotNull $appId + + $user = Get-AzureRMADUser -UserPrincipalName $upn + if ($user -eq $null) + { + $user = Get-AzureRMADUser -Mail $upn + } + Assert-NotNull $user + $objId = $user.Id + + $PermToKeys = @("encrypt", "decrypt") + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys $PermToKeys -PassThru + + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId + Assert-AreEqual $appId $vault.AccessPolicies[0].ApplicationId + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-RemoveAccessPolicyWithCompoundIdPolicies { - Param($existingVaultName, $rgName, $upn, $appId1, $appId2) - - Assert-NotNull $appId1 - Assert-NotNull $appId2 - - $user = Get-AzureADUser -UserPrincipalName $upn - if ($user -eq $null) - { - $user = Get-AzureADUser -Mail $upn - } - Assert-NotNull $user - $objId = $user.Id - - # Add three access policies: ObjectId, (ObjectId, App1), (ObjectId, App2) - $PermToKeys = @("encrypt", "decrypt") - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId1 -PermissionsToKeys $PermToKeys -PassThru - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId2 -PermissionsToKeys $PermToKeys -PassThru - Assert-AreEqual 3 $vault.AccessPolicies.Count - - # Remove one policy if specify compound id - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId1 -PassThru - Assert-AreEqual 2 $vault.AccessPolicies.Count - - # Remove remaining two policies if specify object id - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn, $appId1, $appId2) + + Assert-NotNull $appId1 + Assert-NotNull $appId2 + + $user = Get-AzureRMADUser -UserPrincipalName $upn + if ($user -eq $null) + { + $user = Get-AzureRMADUser -Mail $upn + } + Assert-NotNull $user + $objId = $user.Id + + # Add three access policies: ObjectId, (ObjectId, App1), (ObjectId, App2) + $PermToKeys = @("encrypt", "decrypt") + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId1 -PermissionsToKeys $PermToKeys -PassThru + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId2 -PermissionsToKeys $PermToKeys -PassThru + Assert-AreEqual 3 $vault.AccessPolicies.Count + + # Remove one policy if specify compound id + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId1 -PassThru + Assert-AreEqual 2 $vault.AccessPolicies.Count + + # Remove remaining two policies if specify object id + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-SetCompoundIdAccessPolicy { - Param($existingVaultName, $rgName, $upn, $appId) - - Assert-NotNull $appId - - $user = Get-AzureADUser -UserPrincipalName $upn - if ($user -eq $null) - { - $user = Get-AzureADUser -Mail $upn - } - Assert-NotNull $user - $objId = $user.Id - - # Add one compound id policy - $PermToKeys = @("encrypt", "decrypt") - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys $PermToKeys -PassThru - - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId - Assert-AreEqual $appId $vault.AccessPolicies[0].ApplicationId - - # Add one object id policy - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru - Assert-AreEqual 2 $vault.AccessPolicies.Count - - # Change compound id policy shall not affect object id policy - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys @("encrypt") -PassThru - Assert-AreEqual 2 $vault.AccessPolicies.Count - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PassThru - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId - Assert-AreEqual $vault.AccessPolicies[0].ApplicationId $null - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn, $appId) + + Assert-NotNull $appId + + $user = Get-AzureRMADUser -UserPrincipalName $upn + if ($user -eq $null) + { + $user = Get-AzureRMADUser -Mail $upn + } + Assert-NotNull $user + $objId = $user.Id + + # Add one compound id policy + $PermToKeys = @("encrypt", "decrypt") + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys $PermToKeys -PassThru + + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId + Assert-AreEqual $appId $vault.AccessPolicies[0].ApplicationId + + # Add one object id policy + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToKeys $PermToKeys -PassThru + Assert-AreEqual 2 $vault.AccessPolicies.Count + + # Change compound id policy shall not affect object id policy + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PermissionsToKeys @("encrypt") -PassThru + Assert-AreEqual 2 $vault.AccessPolicies.Count + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -ApplicationId $appId -PassThru + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + Assert-AreEqual $objId $vault.AccessPolicies[0].ObjectId + Assert-AreEqual $vault.AccessPolicies[0].ApplicationId $null + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-ModifyAccessPolicy { - Param($existingVaultName, $rgName, $upn) - - # Adding nothing should not change the vault - $PermToKeys = @() - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PassThru - Assert-NotNull $vault - Assert-AreEqual 0 $vault.AccessPolicies.Count - - # Add some perms now - $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") - $PermToSecrets = @("get", "list", "set", "delete") - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UPN $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru - - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - Assert-AreEqual $upn (Get-AzureADUser -ObjectId $vault.AccessPolicies[0].ObjectId)[0].UserPrincipalName - - $objId = $vault.AccessPolicies[0].ObjectId - - # Remove one perm from keys list, use piping to set - $vault.AccessPolicies[0].PermissionsToKeys.Remove("unwrapKey") - $vault = $vault.AccessPolicies[0] | Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -PassThru - - $PermToKeys = @("encrypt", "decrypt", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - # Change just the secrets perms - $PermToSecrets = @("all") - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToSecrets $PermToSecrets -PassThru - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - # Remove just the keys perms - $PermToKeys = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PassThru - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - - # Remove secret perms too - $PermToSecrets = @() - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru - Assert-NotNull $vault - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn) + + # Adding nothing should not change the vault + $PermToKeys = @() + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PassThru + Assert-NotNull $vault + Assert-AreEqual 0 $vault.AccessPolicies.Count + + # Add some perms now + $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") + $PermToSecrets = @("get", "list", "set", "delete") + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UPN $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru + + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + Assert-AreEqual $upn (Get-AzureRMADUser -ObjectId $vault.AccessPolicies[0].ObjectId)[0].UserPrincipalName + + $objId = $vault.AccessPolicies[0].ObjectId + + # Remove one perm from keys list, use piping to set + $vault.AccessPolicies[0].PermissionsToKeys.Remove("unwrapKey") + $vault = $vault.AccessPolicies[0] | Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -PassThru + + $PermToKeys = @("encrypt", "decrypt", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + # Change just the secrets perms + $PermToSecrets = @("all") + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $objId -PermissionsToSecrets $PermToSecrets -PassThru + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + # Remove just the keys perms + $PermToKeys = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PassThru + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + + # Remove secret perms too + $PermToSecrets = @() + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru + Assert-NotNull $vault + Assert-AreEqual 0 $vault.AccessPolicies.Count } function Test-ModifyAccessPolicyEnabledForDeployment { - Param($existingVaultName, $rgName, $upn) - $vault = Get-AzureKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName - Assert-NotNull $vault - Assert-AreEqual 0 $vault.AccessPolicies.Count - Assert-AreEqual $false $vault.EnabledForDeployment - - # Set and Remove EnabledForDeployment, without any other permissions - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru - Assert-NotNull $vault - Assert-AreEqual 0 $vault.AccessPolicies.Count - Assert-AreEqual $true $vault.EnabledForDeployment - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru - Assert-NotNull $vault - Assert-AreEqual 0 $vault.AccessPolicies.Count - Assert-AreEqual $false $vault.EnabledForDeployment - - # Set and Remove EnabledForDeployment, with other permissions - $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") - $PermToSecrets = @("get", "list", "set", "delete") - $vault = Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -UPN $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru - CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets - Assert-AreEqual $true $vault.EnabledForDeployment - - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -ObjectId $vault.AccessPolicies[0].ObjectId -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count - Assert-AreEqual $false $vault.EnabledForDeployment + Param($existingVaultName, $rgName, $upn) + $vault = Get-AzureRMKeyVault -VaultName $existingVaultName -ResourceGroupName $rgName + Assert-NotNull $vault + Assert-AreEqual 0 $vault.AccessPolicies.Count + Assert-AreEqual $false $vault.EnabledForDeployment + + # Set and Remove EnabledForDeployment, without any other permissions + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru + Assert-NotNull $vault + Assert-AreEqual 0 $vault.AccessPolicies.Count + Assert-AreEqual $true $vault.EnabledForDeployment + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -PassThru + Assert-NotNull $vault + Assert-AreEqual 0 $vault.AccessPolicies.Count + Assert-AreEqual $false $vault.EnabledForDeployment + + # Set and Remove EnabledForDeployment, with other permissions + $PermToKeys = @("encrypt", "decrypt", "unwrapKey", "wrapKey", "verify", "sign", "get", "list", "update", "create", "import", "delete", "backup", "restore") + $PermToSecrets = @("get", "list", "set", "delete") + $vault = Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -UPN $upn -PermissionsToKeys $PermToKeys -PermissionsToSecrets $PermToSecrets -PassThru + CheckVaultAccessPolicy $vault $PermToKeys $PermToSecrets + Assert-AreEqual $true $vault.EnabledForDeployment + + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -EnabledForDeployment -ObjectId $vault.AccessPolicies[0].ObjectId -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count + Assert-AreEqual $false $vault.EnabledForDeployment } function Test-ModifyAccessPolicyNegativeCases { - Param($existingVaultName, $rgName, $upn) - - # "all" plus other perms - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys get, all } - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToSecrets get, all } - - # random string in perms - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToSecrets blah, get } - - # invalid set of params - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName } - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName } - Assert-Throws { Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName } - Assert-Throws { Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName } - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn } - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -SPN $upn } - Assert-Throws { Set-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $upn } + Param($existingVaultName, $rgName, $upn) + + # "all" plus other perms + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToKeys get, all } + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToSecrets get, all } + + # random string in perms + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn -PermissionsToSecrets blah, get } + + # invalid set of params + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName } + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName } + Assert-Throws { Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName } + Assert-Throws { Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName } + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UserPrincipalName $upn } + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -SPN $upn } + Assert-Throws { Set-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -ObjectId $upn } } function Test-RemoveNonExistentAccessPolicyDoesNotThrow { - Param($existingVaultName, $rgName, $upn) - $vault = Remove-AzureKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UPN $upn -PassThru - Assert-AreEqual 0 $vault.AccessPolicies.Count + Param($existingVaultName, $rgName, $upn) + $vault = Remove-AzureRMKeyVaultAccessPolicy -VaultName $existingVaultName -ResourceGroupName $rgName -UPN $upn -PassThru + Assert-AreEqual 0 $vault.AccessPolicies.Count } #------------------------------------------------------------------------------------- @@ -497,24 +497,24 @@ function Test-RemoveNonExistentAccessPolicyDoesNotThrow function Test-CreateDeleteVaultWithPiping { - Param($rgName, $location) - $vaultName = Get-VaultName - - New-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location | Get-AzureKeyVault | Remove-AzureKeyVault -Force -Confirm:$false + Param($rgName, $location) + $vaultName = Get-VaultName + + New-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgname -Location $location | Get-AzureRMKeyVault | Remove-AzureRMKeyVault -Force -Confirm:$false - Assert-Throws { Get-AzureKeyVault -VaultName $vaultName -ResourceGroupName $rgName } + Assert-Throws { Get-AzureRMKeyVault -VaultName $vaultName -ResourceGroupName $rgName } } #------------------------------------------------------------------------------------- function CheckVaultAccessPolicy { - Param($vault, $expectedPermsToKeys, $expectedPermsToSecrets) - Assert-NotNull $vault - Assert-AreEqual 1 $vault.AccessPolicies.Count - - $compare = Compare-Object $vault.AccessPolicies[0].PermissionsToKeys $expectedPermsToKeys - Assert-Null $compare - $compare = Compare-Object $vault.AccessPolicies[0].PermissionsToSecrets $expectedPermsToSecrets + Param($vault, $expectedPermsToKeys, $expectedPermsToSecrets) + Assert-NotNull $vault + Assert-AreEqual 1 $vault.AccessPolicies.Count + + $compare = Compare-Object $vault.AccessPolicies[0].PermissionsToKeys $expectedPermsToKeys + Assert-Null $compare + $compare = Compare-Object $vault.AccessPolicies[0].PermissionsToSecrets $expectedPermsToSecrets Assert-Null $compare } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/PSHCommon/Common.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/PSHCommon/Common.ps1 index dadbcab9bceb..9f742ac62a70 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/PSHCommon/Common.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/PSHCommon/Common.ps1 @@ -256,7 +256,7 @@ Removes all current subscriptions. #> function Remove-AllSubscriptions { - Get-AzureSubscription | Remove-AzureSubscription -Force + Get-AzureRMSubscription | Remove-AzureRMSubscription -Force } <# diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/RunKeyVaultTests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/RunKeyVaultTests.ps1 index 29b9a529f80d..3a0cdde6a8dd 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/RunKeyVaultTests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/RunKeyVaultTests.ps1 @@ -7,7 +7,9 @@ [Parameter(Mandatory=$false,Position=2)] [string]$Location = 'eastus2', [Parameter(Mandatory=$false, Position=3)] - [string]$Vault = "" + [string]$Vault = "", + [Parameter(Mandatory=$false, Position=3)] + [string]$ResourceGroup = "" ) $invocationPath = Split-Path $MyInvocation.MyCommand.Definition; @@ -29,6 +31,7 @@ $global:testEnv = 'PROD'; $global:testns = $TestRunNameSpace $global:location = $location $global:testVault = $Vault +$global:resourceGroupName = $ResourceGroup function Run-TestProtected { @@ -72,14 +75,14 @@ function Run-AllControlPlaneTests { try { - #New-AzureKeyVault tests + #New-AzureRMKeyVault tests Run-TestProtected { Run-VaultTest { Test_CreateNewVault } "Test_CreateNewVault" } "Test_CreateNewVault" Run-TestProtected { Run-VaultTest { Test_CreateNewPremiumVaultEnabledForDeployment } "Test_CreateNewPremiumVaultEnabledForDeployment" } "Test_CreateNewPremiumVaultEnabledForDeployment" Run-TestProtected { Run-VaultTest { Test_RecreateVaultFails } "Test_RecreateVaultFails" } "Test_RecreateVaultFails" Run-TestProtected { Run-VaultTest { Test_CreateVaultInUnknownResGrpFails } "Test_CreateVaultInUnknownResGrpFails" } "Test_CreateVaultInUnknownResGrpFails" Run-TestProtected { Run-VaultTest { Test_CreateVaultPositionalParams } "Test_CreateVaultPositionalParams" } "Test_CreateVaultPositionalParams" - #Get-AzureKeyVault tests + #Get-AzureRMKeyVault tests Run-TestProtected { Run-VaultTest { Test_GetVaultByNameAndResourceGroup } "Test_GetVaultByNameAndResourceGroup" } "Test_GetVaultByNameAndResourceGroup" Run-TestProtected { Run-VaultTest { Test_GetVaultByNameAndResourceGroupPositionalParams } "Test_GetVaultByNameAndResourceGroupPositionalParams" } "Test_GetVaultByNameAndResourceGroupPositionalParams" Run-TestProtected { Run-VaultTest { Test_GetVaultByName } "Test_GetVaultByName" } "Test_GetVaultByName" @@ -90,11 +93,11 @@ function Run-AllControlPlaneTests Run-TestProtected { Run-VaultTest { Test_ListVaultsByTag } "Test_ListVaultsByTag" } "Test_ListVaultsByTag" Run-TestProtected { Run-VaultTest { Test_ListVaultsByUnknownResourceGroupFails } "Test_ListVaultsByUnknownResourceGroupFails" } "Test_ListVaultsByUnknownResourceGroupFails" - #Remove-AzureKeyVault tests + #Remove-AzureRMKeyVault tests Run-TestProtected { Run-VaultTest { Test_DeleteVaultByName } "Test_DeleteVaultByName" } "Test_DeleteVaultByName" Run-TestProtected { Run-VaultTest { Test_DeleteUnknownVaultFails } "Test_DeleteUnknownVaultFails" } "Test_DeleteUnknownVaultFails" - #Set-AzureKeyVaultAccessPolicy & Remove-AzureKeyVaultAccessPolicy tests + #Set-AzureRMKeyVaultAccessPolicy & Remove-AzureRMKeyVaultAccessPolicy tests Run-TestProtected { Run-VaultTest { Test_SetRemoveAccessPolicyByUPN } "Test_SetRemoveAccessPolicyByUPN" } "Test_SetRemoveAccessPolicyByUPN" Run-TestProtected { Run-VaultTest { Test_SetRemoveAccessPolicyBySPN } "Test_SetRemoveAccessPolicyBySPN" } "Test_SetRemoveAccessPolicyBySPN" Run-TestProtected { Run-VaultTest { Test_SetRemoveAccessPolicyByObjectId } "Test_SetRemoveAccessPolicyByObjectId" } "Test_SetRemoveAccessPolicyByObjectId" @@ -112,15 +115,19 @@ function Run-AllControlPlaneTests } finally { - Write-Host Starting clean up for vault tests. This can take upto a minute or more... - Cleanup-VaultTest - Write-Host Completed clean up for vault tests + if($ResourceGroup -eq "") + { + # only clean up if we created it. + Write-Host Starting clean up for vault tests. This can take upto a minute or more... + Cleanup-VaultTest + Write-Host Completed clean up for vault tests + } } } function Run-AllDataPlaneTests { - # Add-AzureKeyVaultKey tests + # Add-AzureRMKeyVaultKey tests Run-TestProtected { Run-KeyTest {Test_CreateSoftwareKeyWithDefaultAttributes} "Test_CreateSoftwareKeyWithDefaultAttributes" } "Test_CreateSoftwareKeyWithDefaultAttributes" Run-TestProtected { Run-KeyTest {Test_CreateSoftwareKeyWithCustomAttributes} "Test_CreateSoftwareKeyWithCustomAttributes" } "Test_CreateSoftwareKeyWithCustomAttributes" Run-TestProtected { Run-KeyTest {Test_CreateHsmKeyWithDefaultAttributes} "Test_CreateHsmKeyWithDefaultAttributes" } "Test_CreateHsmKeyWithDefaultAttributes" @@ -142,7 +149,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-KeyTest {Test_ImportByokAsSoftwareKey} "Test_ImportByokAsSoftwareKey" } "Test_ImportByokAsSoftwareKey" Run-TestProtected { Run-KeyTest {Test_CreateKeyInNoPermissionVault} "Test_CreateKeyInNoPermissionVault" } "Test_CreateKeyInNoPermissionVault" - # Set-AzureKeyVaultKeyAttribute tests + # Set-AzureRMKeyVaultKeyAttribute tests Run-TestProtected { Run-KeyTest {Test_UpdateIndividualKeyAttributes} "Test_UpdateIndividualKeyAttributes" } "Test_UpdateIndividualKeyAttributes" Run-TestProtected { Run-KeyTest {Test_UpdateAllEditableKeyAttributes} "Test_UpdateAllEditableKeyAttributes" } "Test_UpdateAllEditableKeyAttributes" Run-TestProtected { Run-KeyTest {Test_UpdateKeyWithNoChange} "Test_UpdateKeyWithNoChange" } "Test_UpdateKeyWithNoChange" @@ -154,7 +161,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-KeyTest {Test_SetInvalidKeyAttributes} "Test_SetInvalidKeyAttributes" } "Test_SetInvalidKeyAttributes" Run-TestProtected { Run-KeyTest {Test_SetKeyInNoPermissionVault} "Test_SetKeyInNoPermissionVault" } "Test_SetKeyInNoPermissionVault" - # Get-AzureKeyVaultKey tests + # Get-AzureRMKeyVaultKey tests Run-TestProtected { Run-KeyTest {Test_GetOneKey} "Test_GetOneKey" } "Test_GetOneKey" Run-TestProtected { Run-KeyTest {Test_GetPreviousVersionOfKey} "Test_GetPreviousVersionOfKey" } "Test_GetPreviousVersionOfKey" Run-TestProtected { Run-KeyTest {Test_GetKeyPositionalParameter} "Test_GetKeyPositionalParameter" } "Test_GetKeyPositionalParameter" @@ -165,7 +172,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-KeyTest {Test_GetAllKeys} "Test_GetAllKeys" } "Test_GetAllKeys" Run-TestProtected { Run-KeyTest {Test_GetKeyVersions} "Test_GetKeyVersions" } "Test_GetKeyVersions" - # Remove-AzureKeyVaultKey tests + # Remove-AzureRMKeyVaultKey tests Run-TestProtected { Run-KeyTest {Test_RemoveKeyWithoutPrompt} "Test_RemoveKeyWithoutPrompt" } "Test_RemoveKeyWithoutPrompt" Run-TestProtected { Run-KeyTest {Test_RemoveKeyWhatIf} "Test_RemoveKeyWhatIf" } "Test_RemoveKeyWhatIf" Run-TestProtected { Run-KeyTest {Test_RemoveKeyPositionalParameter} "Test_RemoveKeyPositionalParameter" } "Test_RemoveKeyPositionalParameter" @@ -174,20 +181,20 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-KeyTest {Test_RemoveNonExistKey} "Test_RemoveNonExistKey" } "Test_RemoveNonExistKey" Run-TestProtected { Run-KeyTest {Test_RemoveKeyInNoPermissionVault} "Test_RemoveKeyInNoPermissionVault" } "Test_RemoveKeyInNoPermissionVault" - # Backup-AzureKeyVaultKey and Restore-AzureKeyVaultKey tests + # Backup-AzureRMKeyVaultKey and Restore-AzureRMKeyVaultKey tests Run-TestProtected { Run-KeyTest {Test_BackupRestoreKey} "Test_BackupRestoreKey" } "Test_BackupRestoreKey" Run-TestProtected { Run-KeyTest {Test_BackupNonExisitingKey} "Test_BackupNonExisitingKey" } "Test_BackupNonExisitingKey" Run-TestProtected { Run-KeyTest {Test_BackupToANamedFile} "Test_BackupToANamedFile" } "Test_BackupToANamedFile" Run-TestProtected { Run-KeyTest {Test_BackupToExistingFile} "Test_BackupToExistingFile" } "Test_BackupToExistingFile" Run-TestProtected { Run-KeyTest {Test_RestoreFromNonExistingFile} "Test_RestoreFromNonExistingFile" } "Test_RestoreFromNonExistingFile" - # *-AzureKeyVaultKey pipeline tests + # *-AzureRMKeyVaultKey pipeline tests Run-TestProtected { Run-KeyTest {Test_PipelineUpdateKeys} "Test_PipelineUpdateKeys" } "Test_PipelineUpdateKeys" Run-TestProtected { Run-KeyTest {Test_PipelineRemoveKeys} "Test_PipelineRemoveKeys" } "Test_PipelineRemoveKeys" Run-TestProtected { Run-KeyTest {Test_PipelineUpdateKeyVersions} "Test_PipelineUpdateKeyVersions" } "Test_PipelineUpdateKeyVersions" - # Set-AzureKeyVaultSecret tests + # Set-AzureRMKeyVaultSecret tests Run-TestProtected { Run-SecretTest {Test_CreateSecret} "Test_CreateSecret" } "Test_CreateSecret" Run-TestProtected { Run-SecretTest {Test_CreateSecretWithCustomAttributes} "Test_CreateSecretWithCustomAttributes" } "Test_CreateSecretWithCustomAttributes" Run-TestProtected { Run-SecretTest {Test_UpdateSecret} "Test_UpdateSecret" } "Test_UpdateSecret" @@ -197,7 +204,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-SecretTest {Test_SetSecretInNonExistVault} "Test_SetSecretInNonExistVault" } "Test_SetSecretInNonExistVault" Run-TestProtected { Run-SecretTest {Test_SetSecretInNoPermissionVault} "Test_SetSecretInNoPermissionVault" } "Test_SetSecretInNoPermissionVault" - # Set-AzureKeyVaultSecretAttribute tests + # Set-AzureRMKeyVaultSecretAttribute tests Run-TestProtected { Run-SecretTest {Test_UpdateIndividualSecretAttributes} "Test_UpdateIndividualSecretAttributes" } "Test_UpdateIndividualSecretAttributes" Run-TestProtected { Run-SecretTest {Test_UpdateSecretWithNoChange} "Test_UpdateSecretWithNoChange" } "Test_UpdateSecretWithNoChange" Run-TestProtected { Run-SecretTest {Test_UpdateAllEditableSecretAttributes} "Test_UpdateAllEditableSecretAttributes" } "Test_UpdateAllEditableSecretAttributes" @@ -209,7 +216,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-SecretTest {Test_SetInvalidSecretAttributes} "Test_SetInvalidSecretAttributes" } "Test_SetInvalidSecretAttributes" Run-TestProtected { Run-SecretTest {Test_SetSecretAttrInNoPermissionVault} "Test_SetSecretAttrInNoPermissionVault" } "Test_SetSecretAttrInNoPermissionVault" - # Get-AzureKeyVaultSecret tests + # Get-AzureRMKeyVaultSecret tests Run-TestProtected { Run-SecretTest {Test_GetOneSecret} "Test_GetOneSecret" } "Test_GetOneSecret" Run-TestProtected { Run-SecretTest {Test_GetAllSecrets} "Test_GetAllSecrets" } "Test_GetAllSecrets" Run-TestProtected { Run-SecretTest {Test_GetPreviousVersionOfSecret} "Test_GetPreviousVersionOfSecret" } "Test_GetPreviousVersionOfSecret" @@ -220,7 +227,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-SecretTest {Test_GetNonExistSecret} "Test_GetNonExistSecret" } "Test_GetNonExistSecret" Run-TestProtected { Run-SecretTest {Test_GetSecretInNoPermissionVault} "Test_GetSecretInNoPermissionVault" } "Test_GetSecretInNoPermissionVault" - # Remove-AzureKeyVaultSecret tests + # Remove-AzureRMKeyVaultSecret tests Run-TestProtected { Run-SecretTest {Test_RemoveSecretWithoutPrompt} "Test_RemoveSecretWithoutPrompt" } "Test_RemoveSecretWithoutPrompt" Run-TestProtected { Run-SecretTest {Test_RemoveSecretWhatIf} "Test_RemoveSecretWhatIf" } "Test_RemoveSecretWhatIf" Run-TestProtected { Run-SecretTest {Test_RemoveSecretPositionalParameter} "Test_RemoveSecretPositionalParameter" } "Test_RemoveSecretPositionalParameter" @@ -229,7 +236,7 @@ function Run-AllDataPlaneTests Run-TestProtected { Run-SecretTest {Test_RemoveNonExistSecret} "Test_RemoveNonExistSecret" } "Test_RemoveNonExistSecret" Run-TestProtected { Run-SecretTest {Test_RemoveSecretInNoPermissionVault} "Test_RemoveSecretInNoPermissionVault" } "Test_RemoveSecretInNoPermissionVault" - # *-AzureKeyVaultKey pipeline tests + # *-AzureRMKeyVaultKey pipeline tests Run-TestProtected { Run-SecretTest {Test_PipelineUpdateSecrets} "Test_PipelineUpdateSecrets" } "Test_PipelineUpdateSecrets" Run-TestProtected { Run-SecretTest {Test_PipelineUpdateSecretAttributes} "Test_PipelineUpdateSecretAttributes" } "Test_PipelineUpdateSecretAttributes" Run-TestProtected { Run-SecretTest {Test_PipelineUpdateSecretVersions} "Test_PipelineUpdateSecretVersions" } "Test_PipelineUpdateSecretVersions" diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultKeyTests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultKeyTests.ps1 index 3cb23d06bb5d..75c1077e3936 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultKeyTests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultKeyTests.ps1 @@ -39,7 +39,7 @@ function BulkCreateSoftKeys ($vault, $prefix, $total) for ($i=0;$i -lt $total; $i++) { $name = $prefix+$i; - $k=Add-AzureKeyVaultKey -VaultName $Vault -Name $name -Destination 'Software' + $k=Add-AzureRMKeyVaultKey -VaultName $Vault -Name $name -Destination 'Software' Assert-NotNull $k $global:createdKeys += $name } @@ -49,7 +49,7 @@ function BulkCreateSoftKeyVersions ($vault, $name, $total) { for ($i=0;$i -lt $total; $i++) { - $k=Add-AzureKeyVaultKey -VaultName $Vault -Name $name -Destination 'Software' + $k=Add-AzureRMKeyVaultKey -VaultName $Vault -Name $name -Destination 'Software' Assert-NotNull $k } $global:createdKeys += $name @@ -64,7 +64,7 @@ function Test_CreateSoftwareKeyWithDefaultAttributes { $keyVault = Get-KeyVault $keyname=Get-KeyName 'soft' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $null $null $null $null @@ -79,7 +79,7 @@ function Test_CreateSoftwareKeyWithCustomAttributes { $keyVault = Get-KeyVault $keyname=Get-KeyName 'attr' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags @@ -93,7 +93,7 @@ function Test_CreateHsmKeyWithDefaultAttributes { $keyVault = Get-KeyVault $keyname=Get-KeyName 'hsm' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $true $null $null $null $null @@ -108,7 +108,7 @@ function Test_CreateHsmKeyWithCustomAttributes { $keyVault = Get-KeyVault $keyname=Get-KeyName 'attrhsm' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $false $expires $nbf $ops $tags @@ -123,7 +123,7 @@ function Test_ImportPfxWithDefaultAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'pfx' $pfxpath = Get-ImportKeyFile 'pfx' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $null $null $null $null @@ -139,7 +139,7 @@ function Test_ImportPfxWith1024BitKey $keyVault = Get-KeyVault $keyname=Get-KeyName 'pfx1024' $pfxpath = Get-ImportKeyFile1024 'pfx' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $null $null $null $null @@ -155,7 +155,7 @@ function Test_ImportPfxWithCustomAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'attrpfx' $pfxpath = Get-ImportKeyFile 'pfx' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags @@ -170,7 +170,7 @@ function Test_ImportPfxAsHsmWithDefaultAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'pfxashsm' $pfxpath = Get-ImportKeyFile 'pfx' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $true $null $null $null $null @@ -185,7 +185,7 @@ function Test_ImportPfxAsHsmWithCustomAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'attrpfxashsm' $pfxpath = Get-ImportKeyFile 'pfx' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $pfxpath -KeyFilePassword $securepfxpwd -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $false $expires $nbf $ops $tags @@ -200,7 +200,7 @@ function Test_ImportByokWithDefaultAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'byok' $byokpath = Get-ImportKeyFile 'byok' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $byokpath + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $byokpath Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $true $null $null $null $null @@ -216,7 +216,7 @@ function Test_ImportByokWith1024BitKey $keyVault = Get-KeyVault $keyname=Get-KeyName 'byok1024' $byokpath = Get-ImportKeyFile1024 'byok' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $byokpath + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -KeyFilePath $byokpath Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $true $null $null $null $null @@ -232,7 +232,7 @@ function Test_ImportByokWithCustomAttributes $keyVault = Get-KeyVault $keyname=Get-KeyName 'attrbyok' $byokpath = Get-ImportKeyFile 'byok' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $byokpath -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -KeyFilePath $byokpath -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $false $expires $nbf $ops $tags @@ -240,26 +240,26 @@ function Test_ImportByokWithCustomAttributes <# .SYNOPSIS -Tests Add-AzureKeyVaultKey with positionalParameter +Tests Add-AzureRMKeyVaultKey with positionalParameter #> function Test_AddKeyPositionalParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'positional' - $key=Add-AzureKeyVaultKey $keyVault $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey $keyVault $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname } <# .SYNOPSIS -Tests Add-AzureKeyVaultKey with parameter alias +Tests Add-AzureRMKeyVaultKey with parameter alias #> function Test_AddKeyAliasParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'alias' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname } @@ -274,7 +274,7 @@ function Test_ImportNonExistPfxFile $keyVault = Get-KeyVault $keyname=Get-KeyName 'nonexistpfx' $nonexistpfx = Get-ImportKeyFile 'pfx' $false - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -KeyFilePath $nonexistpfx -KeyFilePassword $securepfxpwd} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -KeyFilePath $nonexistpfx -KeyFilePassword $securepfxpwd} } <# @@ -287,7 +287,7 @@ function Test_ImportPfxFileWithIncorrectPassword $keyname=Get-KeyName 'wrongpwdpfx' $pfxpath = Get-ImportKeyFile 'pfx' $wrongpwd= 'foo' | ConvertTo-SecureString -AsPlainText -Force - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $wrongpwd} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -Name $keyname -KeyFilePath $pfxpath -KeyFilePassword $wrongpwd} } <# @@ -299,7 +299,7 @@ function Test_ImportNonExistByokFile $keyVault = Get-KeyVault $keyname=Get-KeyName 'nonexistbyok' $nonexistbyok = Get-ImportKeyFile 'byok' $false - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -KeyFilePath $nonexistbyok} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -KeyFilePath $nonexistbyok} } <# @@ -310,7 +310,7 @@ function Test_CreateKeyInNonExistVault { $keyVault = 'notexistvault' $keyname= 'notexitkey' - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -Destination 'Software'} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -Destination 'Software'} } <# @@ -321,7 +321,7 @@ function Test_ImportByokAsSoftwareKey { $keyVault = Get-KeyVault $keyname= Get-KeyName 'byokassoftware' - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -KeyFilePath $byokpath} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -KeyFilePath $byokpath} } <# @@ -332,7 +332,7 @@ function Test_CreateKeyInNoPermissionVault { $keyVault = Get-KeyVault $false $keyname= Get-KeyName 'nopermission' - Assert-Throws {Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software'} + Assert-Throws {Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software'} } @@ -345,38 +345,38 @@ function Test_UpdateIndividualKeyAttributes # Create a software key for updating $keyVault = Get-KeyVault $keyname=Get-KeyName 'updatesoft' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # Update Expires - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $newexpires $nbf $ops $tags # Update NotBefore - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -NotBefore $newnbf -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -NotBefore $newnbf -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $newexpires $newnbf $ops $tags # Update KeyOps - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -KeyOps $newops -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -KeyOps $newops -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $newexpires $newnbf $newops $tags # Update Enable - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Enable $true -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Enable $true -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $true $newexpires $newnbf $newops $tags # Update Tags - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Tags $newtags -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Tags $newtags -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $true $newexpires $newnbf $newops $newtags # Clean Tags - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Tags $emptytags -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Tags $emptytags -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $true $newexpires $newnbf $newops $emptytags } @@ -390,13 +390,13 @@ function Test_UpdateKeyWithNoChange # Create a software key for updating $keyVault = Get-KeyVault $keyname=Get-KeyName 'updatesoftnochange' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $expires $nbf $ops $tags # No change - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -PassThru Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $true $expires $nbf $ops $tags } @@ -410,61 +410,61 @@ function Test_UpdateAllEditableKeyAttributes # Create a software key for updating $keyVault = Get-KeyVault $keyname=Get-KeyName 'usoft' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # Update all attributes - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru Assert-KeyAttributes $key.Attributes 'RSA' $true $newexpires $newnbf $newops $newtags # Create a hsm key for updating $keyname=Get-KeyName 'uhsm' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'HSM' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA-HSM' $false $expires $nbf $ops $tags # Update all attributes - $key=Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru + $key=Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru Assert-KeyAttributes $key.Attributes 'RSA-HSM' $true $newexpires $newnbf $newops $newtags } <# .SYNOPSIS -Tests Set-AzureKeyVaultKeyAttribute with positionalParameter +Tests Set-AzureRMKeyVaultKeyAttribute with positionalParameter #> function Test_SetKeyPositionalParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'positional' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Set-AzureKeyVaultKeyAttribute $keyVault $keyname -Expires $newexpires -NotBefore $newnbf -Enable $true -PassThru + Set-AzureRMKeyVaultKeyAttribute $keyVault $keyname -Expires $newexpires -NotBefore $newnbf -Enable $true -PassThru } <# .SYNOPSIS -Tests Set-AzureKeyVaultKeyAttribute with parameter alias +Tests Set-AzureRMKeyVaultKeyAttribute with parameter alias #> function Test_SetKeyAliasParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'alias' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Expires $newexpires -NotBefore $newnbf -Enable $true -PassThru + Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Expires $newexpires -NotBefore $newnbf -Enable $true -PassThru } <# .SYNOPSIS -Tests Set-AzureKeyVaultKeyAttribute with version +Tests Set-AzureRMKeyVaultKeyAttribute with version #> function Test_SetKeyVersion { @@ -472,39 +472,39 @@ function Test_SetKeyVersion $keyVault = Get-KeyVault $keyname=Get-KeyName 'version' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $v1=$key.Version $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # create a new version - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Expires $expires -NotBefore $nbf -KeyOps $ops -Disable -Tags $tags Assert-NotNull $key $v2=$key.Version Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # Update old version - Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Version $v1 -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru + Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Version $v1 -Expires $newexpires -NotBefore $newnbf -KeyOps $newops -Enable $true -Tags $newtags -PassThru # Verify old Version changed - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v1 + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v1 Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $true $newexpires $newnbf $newops $newtags # Verify new Version not changed - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v2 + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v2 Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # Verify current Version not changed - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags # Update old version using positional parameter - Set-AzureKeyVaultKeyAttribute $keyVault $keyname $v1 -Expires $expires -NotBefore $nbf -KeyOps $ops -Enable $false -Tags $tags -PassThru - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v1 + Set-AzureRMKeyVaultKeyAttribute $keyVault $keyname $v1 -Expires $expires -NotBefore $nbf -KeyOps $ops -Enable $false -Tags $tags -PassThru + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Version $v1 Assert-NotNull $key Assert-KeyAttributes $key.Attributes 'RSA' $false $expires $nbf $ops $tags } @@ -518,7 +518,7 @@ function Test_SetKeyInNonExistVault { $keyVault = 'notexistvault' $keyname=Get-KeyName 'nonexist' - Assert-Throws {Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Enable $true} + Assert-Throws {Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Enable $true} } <# @@ -529,7 +529,7 @@ function Test_SetNonExistKey { $keyVault = Get-KeyVault $keyname=Get-KeyName 'nonexist' - Assert-Throws {Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Enable $true} + Assert-Throws {Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Enable $true} } <# @@ -540,11 +540,11 @@ function Test_SetInvalidKeyAttributes { $keyVault = Get-KeyVault $keyname=Get-KeyName 'invalidattr' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Assert-Throws {Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Expires $nbf -NotBefore $expires } + Assert-Throws {Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -KeyName $keyname -Expires $nbf -NotBefore $expires } } @@ -556,7 +556,7 @@ function Test_SetKeyInNoPermissionVault { $keyVault = Get-KeyVault $false $keyname= Get-KeyName 'nopermission' - Assert-Throws {Set-AzureKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Enable $true} + Assert-Throws {Set-AzureRMKeyVaultKeyAttribute -VaultName $keyVault -Name $keyname -Enable $true} } @@ -569,12 +569,12 @@ function Test_GetOneKey { $keyVault = Get-KeyVault $keyname=Get-KeyName 'getone' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $null $null $null - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname Assert-KeyAttributes $key.Attributes 'RSA' $true $null $null $null } @@ -598,7 +598,7 @@ function Test_GetAllKeys $i++ } while ($i -le $run) - $keys=Get-AzureKeyVaultKey -VaultName $keyVault + $keys=Get-AzureRMKeyVaultKey -VaultName $keyVault Assert-True { $keys.Count -ge $total } } @@ -613,18 +613,18 @@ function Test_GetPreviousVersionOfKey $keyVault = Get-KeyVault $keyname=Get-KeyName 'getversion' - $key1=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Disable -NotBefore $nbf -Expires $expires -KeyOps $ops + $key1=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' -Disable -NotBefore $nbf -Expires $expires -KeyOps $ops $global:createdKeys += $keyname Assert-KeyAttributes -keyAttr $key1.Attributes -keytype 'RSA' -keyenable $false -keyexp $expires -keynbf $nbf -keyops $ops - $key2=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key2=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-KeyAttributes $key2.Attributes 'RSA' $true $null $null $null - $key3=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Version $key1.Version + $key3=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Version $key1.Version Assert-KeyAttributes -keyAttr $key3.Attributes -keytype 'RSA' -keyenable $false -keyexp $expires -keynbf $nbf -keyops $ops - $key4=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Version $key2.Version + $key4=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Version $key2.Version Assert-KeyAttributes $key4.Attributes 'RSA' $true $null $null $null } @@ -648,39 +648,39 @@ function Test_GetKeyVersions $i++ } while ($i -le $run) - $keys=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -IncludeVersions + $keys=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -IncludeVersions Assert-True { $keys.Count -ge $total*$run } } <# .SYNOPSIS -Tests Get-AzureKeyVaultKey with positional Parameter +Tests Get-AzureRMKeyVaultKey with positional Parameter #> function Test_GetKeyPositionalParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'positional' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - $key=Get-AzureKeyVaultKey $keyVault $keyname + $key=Get-AzureRMKeyVaultKey $keyVault $keyname Assert-NotNull $key } <# .SYNOPSIS -Tests Get-AzureKeyVaultKey with parameter alias +Tests Get-AzureRMKeyVaultKey with parameter alias #> function Test_GetKeyAliasParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'alias' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - $key=Get-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname Assert-NotNull $key } @@ -691,7 +691,7 @@ Tests get a key from non-exist key vault function Test_GetKeysInNonExistVault { $keyVault = 'notexistvault' - Assert-Throws {Get-AzureKeyVaultKey -VaultName $keyVault} + Assert-Throws {Get-AzureRMKeyVaultKey -VaultName $keyVault} } <# @@ -702,7 +702,7 @@ function Test_GetNonExistKey { $keyVault = Get-KeyVault $keyname = 'notexist' - Assert-Throws {Get-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname} + Assert-Throws {Get-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname} } <# @@ -712,7 +712,7 @@ Tests get key in a vault not have permission function Test_GetKeyInNoPermissionVault { $keyVault = Get-KeyVault $false - Assert-Throws {Get-AzureKeyVaultKey -VaultName $keyVault} + Assert-Throws {Get-AzureRMKeyVaultKey -VaultName $keyVault} } @@ -724,66 +724,66 @@ function Test_RemoveKeyWithoutPrompt { $keyVault = Get-KeyVault $keyname=Get-KeyName 'remove' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - $key=Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false -PassThru + $key=Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false -PassThru Assert-NotNull $key - Assert-Throws { Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname} + Assert-Throws { Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname} } <# .SYNOPSIS -Tests Remove-AzureKeyVaultKey with whatif option +Tests Remove-AzureRMKeyVaultKey with whatif option #> function Test_RemoveKeyWhatIf { $keyVault = Get-KeyVault $keyname=Get-KeyName 'whatif' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -WhatIf -Force + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -WhatIf -Force - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname Assert-NotNull $key } <# .SYNOPSIS -Tests Remove-AzureKeyVaultKey with positional Parameter +Tests Remove-AzureRMKeyVaultKey with positional Parameter #> function Test_RemoveKeyPositionalParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'positional' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Remove-AzureKeyVaultKey $keyVault $keyname -Force -Confirm:$false + Remove-AzureRMKeyVaultKey $keyVault $keyname -Force -Confirm:$false - Assert-Throws { Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname} + Assert-Throws { Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname} } <# .SYNOPSIS -Tests Remove-AzureKeyVaultKey with parameter alias +Tests Remove-AzureRMKeyVaultKey with parameter alias #> function Test_RemoveKeyAliasParameter { $keyVault = Get-KeyVault $keyname=Get-KeyName 'alias' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - Remove-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -Force -Confirm:$false + Remove-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -Force -Confirm:$false - Assert-Throws { Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname} + Assert-Throws { Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname} } <# @@ -794,7 +794,7 @@ function Test_RemoveKeyInNonExistVault { $keyVault = 'notexistvault' $keyname = 'notexist' - Assert-Throws {Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false} } <# @@ -805,7 +805,7 @@ function Test_RemoveNonExistKey { $keyVault = Get-KeyVault $keyname = 'notexist' - Assert-Throws {Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false} } <# @@ -816,7 +816,7 @@ function Test_RemoveKeyInNoPermissionVault { $keyVault = Get-KeyVault $false $keyname= Get-KeyName 'nopermission' - Assert-Throws {Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Enable $true -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Enable $true -Force -Confirm:$false} } <# @@ -827,13 +827,13 @@ function Test_BackupRestoreKey { $keyVault = Get-KeyVault $keyname=Get-KeyName 'backuprestore' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname - $backupblob = Backup-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false - $restoredKey = Restore-AzureKeyVaultKey -VaultName $keyVault -InputFile $backupblob + $backupblob = Backup-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false + $restoredKey = Restore-AzureRMKeyVaultKey -VaultName $keyVault -InputFile $backupblob Assert-KeyAttributes $restoredKey.Attributes 'RSA' $true $null $null $null } @@ -846,7 +846,7 @@ function Test_BackupNonExisitingKey $keyVault = Get-KeyVault $keyname=Get-KeyName 'backupnonexisting' - Assert-Throws { Backup-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname } + Assert-Throws { Backup-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname } } <# @@ -857,15 +857,15 @@ function Test_BackupToANamedFile { $keyVault = Get-KeyVault $keyname=Get-KeyName 'backupnamedfile' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $backupfile='.\backup' + ([GUID]::NewGuid()).GUID.ToString() + '.blob' - Backup-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false - $restoredKey = Restore-AzureKeyVaultKey -VaultName $keyVault -InputFile $backupfile + Backup-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force -Confirm:$false + $restoredKey = Restore-AzureRMKeyVaultKey -VaultName $keyVault -InputFile $backupfile Assert-KeyAttributes $restoredKey.Attributes 'RSA' $true $null $null $null } @@ -877,14 +877,14 @@ function Test_BackupToExistingFile { $keyVault = Get-KeyVault $keyname=Get-KeyName 'backupexistingfile' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $backupfile='.\backup' + ([GUID]::NewGuid()).GUID.ToString() + '.blob' - Backup-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile - Assert-Throws { Backup-AzureKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile } + Backup-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile + Assert-Throws { Backup-AzureRMKeyVaultKey -VaultName $keyVault -KeyName $keyname -OutputFile $backupfile } } @@ -896,7 +896,7 @@ function Test_RestoreFromNonExistingFile { $keyVault = Get-KeyVault - Assert-Throws { Restore-AzureKeyVaultKey -VaultName $keyVault -InputFile c:\nonexisting.blob } + Assert-Throws { Restore-AzureRMKeyVaultKey -VaultName $keyVault -InputFile c:\nonexisting.blob } } <# @@ -911,9 +911,9 @@ function Test_PipelineUpdateKeys $total=2 BulkCreateSoftKeys $keyVault $keypartialname $total - Get-AzureKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | Set-AzureKeyVaultKeyAttribute -Enable $false + Get-AzureRMKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | Set-AzureRMKeyVaultKeyAttribute -Enable $false - Get-AzureKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | ForEach-Object { Assert-False { return $_.Enabled } } + Get-AzureRMKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | ForEach-Object { Assert-False { return $_.Enabled } } } <# @@ -928,11 +928,11 @@ function Test_PipelineUpdateKeyVersions $total=2 BulkCreateSoftKeyVersions $keyVault $keyname $total - Get-AzureKeyVaultKey $keyVault $keyname -IncludeVersions | Set-AzureKeyVaultKeyAttribute -Enable $false - Get-AzureKeyVaultKey $keyVault $keyname -IncludeVersions | ForEach-Object { Assert-False { return $_.Enabled } } + Get-AzureRMKeyVaultKey $keyVault $keyname -IncludeVersions | Set-AzureRMKeyVaultKeyAttribute -Enable $false + Get-AzureRMKeyVaultKey $keyVault $keyname -IncludeVersions | ForEach-Object { Assert-False { return $_.Enabled } } - Get-AzureKeyVaultKey $keyVault $keyname -IncludeVersions | Set-AzureKeyVaultKeyAttribute -Tags $newtags - Get-AzureKeyVaultKey $keyVault $keyname -IncludeVersions | ForEach-Object { Assert-True { return $_.Tags.Count -eq $newtags.Count } } + Get-AzureRMKeyVaultKey $keyVault $keyname -IncludeVersions | Set-AzureRMKeyVaultKeyAttribute -Tags $newtags + Get-AzureRMKeyVaultKey $keyVault $keyname -IncludeVersions | ForEach-Object { Assert-True { return $_.Tags.Count -eq $newtags.Count } } } @@ -948,8 +948,8 @@ function Test_PipelineRemoveKeys $total=2 BulkCreateSoftKeys $keyVault $keypartialname $total - Get-AzureKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | Remove-AzureKeyVaultKey -Force -Confirm:$false + Get-AzureRMKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} | Remove-AzureRMKeyVaultKey -Force -Confirm:$false - $keys = Get-AzureKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} + $keys = Get-AzureRMKeyVaultKey $keyVault | Where-Object {$_.KeyName -like $keypartialname+'*'} Assert-AreEqual $keys.Count 0 } \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultManagementTests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultManagementTests.ps1 index e4d24160351d..04252d78458a 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultManagementTests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultManagementTests.ps1 @@ -3,7 +3,7 @@ $tagValue = "testvalue" $KeyVaultResourceType = "Microsoft.KeyVault/vaults"; $KeyVaultApiVersion = "2015-06-01"; -#------------------------------New-AzureKeyVault-------------------------------------- +#------------------------------New-AzureRMKeyVault-------------------------------------- function Test_CreateNewVault { Test-CreateNewVault $global:resourceGroupName $global:location $tagName $tagValue @@ -31,7 +31,7 @@ function Test_CreateVaultPositionalParams #------------------------------------------------------------------------------------- -#------------------------------Get-AzureKeyVault-------------------------------------- +#------------------------------Get-AzureRMKeyVault-------------------------------------- function Test_GetVaultByNameAndResourceGroup { @@ -81,7 +81,7 @@ function Test_ListVaultsByUnknownResourceGroupFails #------------------------------------------------------------------------------------- -#------------------------------Remove-AzureKeyVault----------------------------------- +#------------------------------Remove-AzureRMKeyVault----------------------------------- function Test_DeleteVaultByName { Test-DeleteVaultByName $global:resourceGroupName $global:location @@ -94,10 +94,10 @@ function Test_DeleteUnknownVaultFails #------------------------------------------------------------------------------------- -#------------------------------Set-AzureKeyVaultAccessPolicy-------------------------- +#------------------------------Set-AzureRMKeyVaultAccessPolicy-------------------------- function Test_SetRemoveAccessPolicyByUPN { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-SetRemoveAccessPolicyByUPN $global:precreatedVaultName $global:resourceGroupName $user } @@ -109,8 +109,8 @@ function Test_SetRemoveAccessPolicyBySPN #Create an app and service principal $appName = [Guid]::NewGuid().ToString("N") $uri = 'http://localhost:8080/'+$appName - $app = New-AzureADApplication -DisplayName $appName -HomePage 'http://contoso.com' -IdentifierUris $uri -Password $appName - $sp = New-AzureADServicePrincipal -ApplicationId $app.ApplicationId + $app = New-AzureRMADApplication -DisplayName $appName -HomePage 'http://contoso.com' -IdentifierUris $uri -Password $appName + $sp = New-AzureRMADServicePrincipal -ApplicationId $app.ApplicationId try { @@ -118,14 +118,14 @@ function Test_SetRemoveAccessPolicyBySPN } finally { - Remove-AzureADApplication -ApplicationObjectId $app.ApplicationObjectId -Force + Remove-AzureRMADApplication -ApplicationObjectId $app.ApplicationObjectId -Force } } function Test_SetRemoveAccessPolicyByObjectId { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-SetRemoveAccessPolicyByObjectId $global:precreatedVaultName $global:resourceGroupName $user } @@ -133,7 +133,7 @@ function Test_SetRemoveAccessPolicyByObjectId function Test_SetRemoveAccessPolicyByCompoundId { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount $appId = [System.Guid]::NewGuid() Reset-PreCreatedVault Test-SetRemoveAccessPolicyByCompoundId $global:precreatedVaultName $global:resourceGroupName $user $appId @@ -141,7 +141,7 @@ function Test_SetRemoveAccessPolicyByCompoundId function Test_RemoveAccessPolicyWithCompoundIdPolicies { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount $appId1 = [System.Guid]::NewGuid() $appId2 = [System.Guid]::NewGuid() Reset-PreCreatedVault @@ -150,7 +150,7 @@ function Test_RemoveAccessPolicyWithCompoundIdPolicies function Test_SetCompoundIdAccessPolicy { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount $appId = [System.Guid]::NewGuid() Reset-PreCreatedVault Test-SetCompoundIdAccessPolicy $global:precreatedVaultName $global:resourceGroupName $user $appId @@ -158,21 +158,21 @@ function Test_SetCompoundIdAccessPolicy function Test_ModifyAccessPolicy { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-ModifyAccessPolicy $global:precreatedVaultName $global:resourceGroupName $user } function Test_ModifyAccessPolicyEnabledForDeployment { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-ModifyAccessPolicyEnabledForDeployment $global:precreatedVaultName $global:resourceGroupName $user } function Test_ModifyAccessPolicyNegativeCases { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-ModifyAccessPolicyNegativeCases $global:precreatedVaultName $global:resourceGroupName $user } @@ -180,7 +180,7 @@ function Test_ModifyAccessPolicyNegativeCases function Test_RemoveNonExistentAccessPolicyDoesNotThrow { - $user = (Get-AzureSubscription -Current).DefaultAccount + $user = (Get-AzureRMSubscription -Current).DefaultAccount Reset-PreCreatedVault Test-RemoveNonExistentAccessPolicyDoesNotThrow $global:precreatedVaultName $global:resourceGroupName $user } @@ -232,21 +232,28 @@ Set up for control plane test function Initialize-VaultTest { $suffix = Get-Date -UFormat %m%d%H%M%S - - #create a resource group - $rg = Get-ResourceGroupName $suffix - New-AzureResourceGroup -Name $rg -Location $global:location -Force - $global:resourceGroupName = $rg - + if($global:resourceGroupName -eq "") + { + #create a resource group + $rg = Get-ResourceGroupName $suffix + New-AzureRMResourceGroup -Name $rg -Location $global:location -Force + + $global:resourceGroupName = $rg + } + if($global:precreatedVaultName -ne "" -and $global:precreatedVaultName -ne $null) + { + Write-Host "Skipping vault creation for control plane tests since vault: $global:precreatedVaultName is already provided." + return; + } #create a vault using ARM $vaultName = Get-VaultName $suffix - $tenantId = (Get-AzureSubscription -Current).TenantId + $tenantId = (Get-AzureRMSubscription -Current).TenantId $tagName = "testtag" $tagValue = "testvalue" $vaultId = @{ "ResourceType" = $KeyVaultResourceType; "ApiVersion" = $KeyVaultApiVersion; - "ResourceGroupName" = $rg; + "ResourceGroupName" = $global:resourceGroupName; "Name" = $vaultName; } @@ -260,7 +267,7 @@ function Initialize-VaultTest } "accessPolicies" = @(); } - $keyVault = New-AzureResource @vaultId ` + $keyVault = New-AzureRMResource @vaultId ` -PropertyObject $vaultProperties ` -Location $global:location ` -Tag @{Name = $tagName; Value = $tagValue} ` @@ -284,7 +291,7 @@ function Reset-PreCreatedVault { $tagName = "testtag" $tagValue = "testvalue" - $tenantId = (Get-AzureSubscription -Current).TenantId + $tenantId = (Get-AzureRMSubscription -Current).TenantId $vaultProperties = @{ "enabledForDeployment" = $false; "tenantId" = $tenantId; @@ -296,7 +303,7 @@ function Reset-PreCreatedVault "accessPolicies" = @(); } - Set-AzureResource -ApiVersion $KeyVaultApiVersion ` + Set-AzureRMResource -ApiVersion $KeyVaultApiVersion ` -ResourceType $KeyVaultResourceType ` -ResourceName $global:precreatedVaultName ` -ResourceGroupName $global:resourceGroupName ` @@ -312,7 +319,7 @@ Removes the resource group under which all resources for vault tests were create #> function Cleanup-VaultTest { - Remove-AzureResourceGroup -Name $global:resourceGroupname -Force -Confirm:$false + Remove-AzureRMResourceGroup -Name $global:resourceGroupname -Force -Confirm:$false $global:resourceGroupname = '' } #------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultSecretTests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultSecretTests.ps1 index 3aba8d7a7878..1665c7faea50 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultSecretTests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultSecretTests.ps1 @@ -44,7 +44,7 @@ function BulkCreateSecrets ($vault, $prefix, $total) for ($i=0;$i -lt $total; $i++) { $name = $prefix+$i; - $sec=Set-AzureKeyVaultSecret -VaultName $vault -Name $name -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $vault -Name $name -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $name } @@ -54,7 +54,7 @@ function BulkCreateSecretVersions ($vault, $name, $total) { for ($i=0;$i -lt $total; $i++) { - $sec=Set-AzureKeyVaultSecret -VaultName $vault -Name $name -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $vault -Name $name -SecretValue $securedata Assert-NotNull $sec } $global:createdSecrets += $name @@ -70,7 +70,7 @@ function Test_CreateSecret { $keyVault = Get-KeyVault $secretname= Get-SecretName 'default' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data @@ -86,7 +86,7 @@ function Test_CreateSecretWithCustomAttributes { $keyVault = Get-KeyVault $secretname= Get-SecretName 'attr' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data @@ -103,13 +103,13 @@ function Test_UpdateSecret { $keyVault = Get-KeyVault $secretname= Get-SecretName 'update' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $newsecuredata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $newsecuredata Assert-NotNull $sec Assert-AreEqual $sec.SecretValueText $newdata Assert-SecretAttributes $sec.Attributes $true $null $null $null $null @@ -117,13 +117,13 @@ function Test_UpdateSecret <# .SYNOPSIS -Tests Set-AzureKeyVaultSecret with positional parameter +Tests Set-AzureRMKeyVaultSecret with positional parameter #> function Test_SetSecretPositionalParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'positional' - $sec=Set-AzureKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags + $sec=Set-AzureRMKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data @@ -132,13 +132,13 @@ function Test_SetSecretPositionalParameter <# .SYNOPSIS -Tests Set-AzureKeyVaultSecret with parameter alias +Tests Set-AzureRMKeyVaultSecret with parameter alias #> function Test_SetSecretAliasParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'alias' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname -SecretValue $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname -SecretValue $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data @@ -153,7 +153,7 @@ function Test_SetSecretInNonExistVault { $keyVault = 'notexistvault' $secretname= Get-SecretName 'nonexist' - Assert-Throws {Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata} + Assert-Throws {Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata} } <# @@ -164,7 +164,7 @@ function Test_SetSecretInNoPermissionVault { $keyVault = Get-KeyVault $false $secretname= Get-SecretName 'nopermission' - Assert-Throws {Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata} + Assert-Throws {Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata} } <# @@ -176,7 +176,7 @@ function Test_UpdateIndividualSecretAttributes # Create a secret for updating $keyVault = Get-KeyVault $secretname=Get-SecretName 'updateattr' - $sec=Set-AzureKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags + $sec=Set-AzureRMKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data @@ -184,32 +184,32 @@ function Test_UpdateIndividualSecretAttributes # Update Expires - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $newexpires -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $newexpires -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $newexpires $nbf $contenttype $tags # Update NotBefore - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -NotBefore $newnbf -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -NotBefore $newnbf -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $newexpires $newnbf $contenttype $tags # Update Enable - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Enable $true -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Enable $true -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $newexpires $newnbf $contenttype $tags # Update ContentType - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $newexpires $newnbf $newcontenttype $tags # Update Tags - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Tags $newtags -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Tags $newtags -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $newexpires $newnbf $newcontenttype $newtags # Clean Tags - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Tags $emptytags -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Tags $emptytags -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $newexpires $newnbf $newcontenttype $emptytags } @@ -223,14 +223,14 @@ function Test_UpdateSecretWithNoChange # Create a secret for updating $keyVault = Get-KeyVault $secretname=Get-SecretName 'updatenochange' - $sec=Set-AzureKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags + $sec=Set-AzureRMKeyVaultSecret $keyVault $secretname $securedata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Disable -Tags $tags Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $false $expires $nbf $contenttype $tags # No change - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $expires $nbf $contenttype $tags } @@ -244,52 +244,52 @@ function Test_UpdateAllEditableSecretAttributes # Create a secret for updating $keyVault = Get-KeyVault $secretname=Get-SecretName 'updateall' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null # Update all attributes - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $expires $nbf $contenttype $tags } <# .SYNOPSIS -Tests Set-AzureKeyVaultSecretAttribute with positionalParameter +Tests Set-AzureRMKeyVaultSecretAttribute with positionalParameter #> function Test_SetSecretAttributePositionalParameter { $keyVault = Get-KeyVault $secretname=Get-SecretName 'attrpos' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null - $sec=Set-AzureKeyVaultSecretAttribute $keyVault $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute $keyVault $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $expires $nbf $contenttype $tags } <# .SYNOPSIS -Tests Set-AzureKeyVaultSecretAttribute with parameter alias +Tests Set-AzureRMKeyVaultSecretAttribute with parameter alias #> function Test_SetSecretAttributeAliasParameter { $keyVault = Get-KeyVault $secretname=Get-SecretName 'attralias' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null - $sec=Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -SecretName $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru + $sec=Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -SecretName $secretname -Expires $expires -NotBefore $nbf -ContentType $contenttype -Enable $false -Tags $tags -PassThru Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $false $expires $nbf $contenttype $tags } @@ -297,47 +297,47 @@ function Test_SetSecretAttributeAliasParameter <# .SYNOPSIS -Tests Set-AzureKeyVaultSecretAttribute with version +Tests Set-AzureRMKeyVaultSecretAttribute with version #> function Test_SetSecretVersion { # create a secret and record the version $keyVault = Get-KeyVault $secretname=Get-SecretName 'mulupdate' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $v1 = $sec.Version $global:createdSecrets += $secretname Assert-SecretAttributes $sec.Attributes $true $null $null $null $null # create a new version - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $null $null $null $null # Update old version - Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -SecretName $secretname -Version $v1 -Enable $true -Expires $expires -NotBefore $nbf -ContentType $contenttype -Tags $tags -PassThru + Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -SecretName $secretname -Version $v1 -Enable $true -Expires $expires -NotBefore $nbf -ContentType $contenttype -Tags $tags -PassThru # Verify old Version changed - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v1 + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v1 Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $expires $nbf $contenttype $tags # Verify new Version not changed - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v2 + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v2 Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $null $null $null $null # Verify current Version not changed - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname Assert-NotNull $sec Assert-SecretAttributes $sec.Attributes $true $null $null $null $null # Update old version using positional parameters - # Set-AzureKeyVaultSecretAttribute $keyVault $secretname $v1 -Enable $true -Expires $newexpires -NotBefore $newnbf -ContentType $newcontenttype -Tags $newtags + # Set-AzureRMKeyVaultSecretAttribute $keyVault $secretname $v1 -Enable $true -Expires $newexpires -NotBefore $newnbf -ContentType $newcontenttype -Tags $newtags # Verify old Version changed - #$sec=Get-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v1 + #$sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Version $v1 #Assert-NotNull $sec #Assert-SecretAttributes $sec.Attributes $true $newexpires $newnbf $newcontenttype $newtags } @@ -351,7 +351,7 @@ function Test_SetSecretInNonExistVault { $keyVault = 'notexistvault' $secretname=Get-SecretName 'nonexist' - Assert-Throws {Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype} + Assert-Throws {Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype} } <# @@ -362,7 +362,7 @@ function Test_SetNonExistSecret { $keyVault = Get-KeyVault $secretname=Get-SecretName 'nonexist' - Assert-Throws {Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype} + Assert-Throws {Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -ContentType $newcontenttype} } <# @@ -373,12 +373,12 @@ function Test_SetInvalidSecretAttributes { $keyVault = Get-KeyVault $secretname=Get-SecretName 'invalidattr' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-SecretAttributes $sec.Attributes $true $null $null $null $null - Assert-Throws {Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $nbf -NotBefore $expires } + Assert-Throws {Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Expires $nbf -NotBefore $expires } } <# @@ -389,7 +389,7 @@ function Test_SetSecretAttrInNoPermissionVault { $keyVault = Get-KeyVault $false $secretname= Get-SecretName 'nopermission' - Assert-Throws {Set-AzureKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Enable $true} + Assert-Throws {Set-AzureRMKeyVaultSecretAttribute -VaultName $keyVault -Name $secretname -Enable $true} } <# @@ -401,13 +401,13 @@ function Test_GetOneSecret { $keyVault = Get-KeyVault $secretname= Get-SecretName 'getone' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname Assert-NotNull $sec Assert-AreEqual $sec.SecretValueText $data Assert-SecretAttributes $sec.Attributes $true $null $null $null $null @@ -425,7 +425,7 @@ function Test_GetAllSecrets $total=30 BulkCreateSecrets $keyVault $secretpartialname $total - $secs=Get-AzureKeyVaultSecret -VaultName $keyVault + $secs=Get-AzureRMKeyVaultSecret -VaultName $keyVault Assert-True { $secs.Count -ge $total } } @@ -440,26 +440,26 @@ function Test_GetPreviousVersionOfSecret $secretname= Get-SecretName 'getversion' # set secret for the first time - $sec1=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec1=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec1 $global:createdSecrets += $secretname Assert-AreEqual $sec1.SecretValueText $data Assert-SecretAttributes $sec1.Attributes $true $null $null $null $null # set the same secret with new values and atrributes - $sec2=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $newsecuredata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Tags $tags + $sec2=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $newsecuredata -Expires $expires -NotBefore $nbf -ContentType $contenttype -Tags $tags Assert-NotNull $sec2 Assert-AreEqual $sec2.SecretValueText $newdata Assert-SecretAttributes $sec2.Attributes $true $expires $nbf $contenttype $tags # Get the older version of the secret - $sec3=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Version $sec1.Version + $sec3=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Version $sec1.Version Assert-NotNull $sec3 Assert-AreEqual $sec3.SecretValueText $data Assert-SecretAttributes $sec3.Attributes $true $null $null $null $null # Get the newer version of the secret - $sec4=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Version $sec2.Version + $sec4=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Version $sec2.Version Assert-NotNull $sec4 Assert-AreEqual $sec4.SecretValueText $newdata Assert-SecretAttributes $sec4.Attributes $true $expires $nbf $contenttype $tags @@ -478,42 +478,42 @@ function Test_GetSecretVersions BulkCreateSecretVersions $keyVault $secretname $total - $secs=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -IncludeVersions + $secs=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -IncludeVersions Assert-True { $secs.Count -ge $total } } <# .SYNOPSIS -Tests Get-AzureKeyVaultSecret with positional parameter +Tests Get-AzureRMKeyVaultSecret with positional parameter #> function Test_GetSecretPositionalParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'positional' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data - $sec=Get-AzureKeyVaultSecret $keyVault $secretname + $sec=Get-AzureRMKeyVaultSecret $keyVault $secretname Assert-NotNull $sec Assert-AreEqual $sec.SecretValueText $data } <# .SYNOPSIS -Tests Get-AzureKeyVaultSecret with parameter alias +Tests Get-AzureRMKeyVaultSecret with parameter alias #> function Test_GetSecretAliasParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'alias' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname Assert-NotNull $sec Assert-AreEqual $sec.SecretValueText $data } @@ -525,7 +525,7 @@ Tests get a secret in non-exist key vault function Test_GetSecretInNonExistVault { $keyVault = 'notexistvault' - Assert-Throws {Get-AzureKeyVaultSecret -VaultName $keyVault} + Assert-Throws {Get-AzureRMKeyVaultSecret -VaultName $keyVault} } <# @@ -537,7 +537,7 @@ function Test_GetNonExistSecret $keyVault = Get-KeyVault $secretname= Get-SecretName 'notexistvault' - Assert-Throws {Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname} + Assert-Throws {Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname} } <# @@ -547,7 +547,7 @@ Tests get secret in a vault the user does not have permission function Test_GetSecretInNoPermissionVault { $keyVault = Get-KeyVault $false - Assert-Throws {Get-AzureKeyVaultSecret -VaultName $keyVault} + Assert-Throws {Get-AzureRMKeyVaultSecret -VaultName $keyVault} } <# @@ -558,68 +558,68 @@ function Test_RemoveSecretWithoutPrompt { $keyVault = Get-KeyVault $secretname= Get-SecretName 'remove' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname - $sec=Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false -PassThru + $sec=Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false -PassThru Assert-NotNull $sec - Assert-Throws { Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname } + Assert-Throws { Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname } } <# .SYNOPSIS -Tests Remove-AzureKeyVaultSecret with whatif option +Tests Remove-AzureRMKeyVaultSecret with whatif option #> function Test_RemoveSecretWhatIf { $keyVault = Get-KeyVault $secretname= Get-SecretName 'whatif' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname - Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -WhatIf -Force + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -WhatIf -Force - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname Assert-NotNull $sec } <# .SYNOPSIS -Tests Remove-AzureKeyVaultSecret with positional parameter +Tests Remove-AzureRMKeyVaultSecret with positional parameter #> function Test_RemoveSecretPositionalParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'positional' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data - Remove-AzureKeyVaultSecret $keyVault $secretname -Force -Confirm:$false + Remove-AzureRMKeyVaultSecret $keyVault $secretname -Force -Confirm:$false - Assert-Throws {Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname} + Assert-Throws {Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname} } <# .SYNOPSIS -Tests Remove-AzureKeyVaultSecret with parameter alias +Tests Remove-AzureRMKeyVaultSecret with parameter alias #> function Test_RemoveSecretAliasParameter { $keyVault = Get-KeyVault $secretname= Get-SecretName 'alias' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname Assert-AreEqual $sec.SecretValueText $data - Remove-AzureKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Force -Confirm:$false + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -SecretName $secretname -Force -Confirm:$false - Assert-Throws {Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname} + Assert-Throws {Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname} } <# @@ -630,7 +630,7 @@ function Test_RemoveSecretInNonExistVault { $keyVault = 'notexistvault' $secretname= Get-SecretName 'notexistvault' - Assert-Throws {Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} } <# @@ -642,7 +642,7 @@ function Test_RemoveNonExistSecret $keyVault = Get-KeyVault $secretname= Get-SecretName 'notexistvault' - Assert-Throws {Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} } <# @@ -653,7 +653,7 @@ function Test_RemoveSecretInNoPermissionVault { $keyVault = Get-KeyVault $false $secretname= Get-SecretName 'nopermission' - Assert-Throws {Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} + Assert-Throws {Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Force -Confirm:$false} } <# @@ -666,8 +666,8 @@ function Test_PipelineUpdateSecrets $secretpartialname=Get-SecretName 'pipeupdate' $total=2 BulkCreateSecrets $keyVault $secretpartialname $total - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureKeyVaultSecret -SecretValue $newsecuredata - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-AreEqual $_.SecretValueText $newdata } + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureRMKeyVaultSecret -SecretValue $newsecuredata + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-AreEqual $_.SecretValueText $newdata } } <# @@ -681,11 +681,11 @@ function Test_PipelineUpdateSecretAttributes $total=2 BulkCreateSecrets $keyVault $secretpartialname $total - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureKeyVaultSecretAttribute -ContentType $newcontenttype - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-True { Equal-String $newcontenttype $_.ContentType }} + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureRMKeyVaultSecretAttribute -ContentType $newcontenttype + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-True { Equal-String $newcontenttype $_.ContentType }} - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureKeyVaultSecretAttribute -Tags $newtags - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-True { Equal-Hashtable $newtags $_.Tags }} + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Set-AzureRMKeyVaultSecretAttribute -Tags $newtags + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | ForEach-Object { Assert-True { Equal-Hashtable $newtags $_.Tags }} } <# @@ -700,11 +700,11 @@ function Test_PipelineUpdateSecretVersions $total=2 BulkCreateSecretVersions $keyVault $secretname $total - Get-AzureKeyVaultSecret $keyVault $secretname -IncludeVersions | Set-AzureKeyVaultSecretAttribute -Expires $newexpires - Get-AzureKeyVaultSecret $keyVault $secretname -IncludeVersions | ForEach-Object { Assert-True { Equal-DateTime $newexpires $_.Expires }} + Get-AzureRMKeyVaultSecret $keyVault $secretname -IncludeVersions | Set-AzureRMKeyVaultSecretAttribute -Expires $newexpires + Get-AzureRMKeyVaultSecret $keyVault $secretname -IncludeVersions | ForEach-Object { Assert-True { Equal-DateTime $newexpires $_.Expires }} - Get-AzureKeyVaultSecret $keyVault $secretname -IncludeVersions | Set-AzureKeyVaultSecretAttribute -Tags $newtags - Get-AzureKeyVaultSecret $keyVault $secretname -IncludeVersions | ForEach-Object { Assert-True { Equal-Hashtable $newtags $_.Tags }} + Get-AzureRMKeyVaultSecret $keyVault $secretname -IncludeVersions | Set-AzureRMKeyVaultSecretAttribute -Tags $newtags + Get-AzureRMKeyVaultSecret $keyVault $secretname -IncludeVersions | ForEach-Object { Assert-True { Equal-Hashtable $newtags $_.Tags }} } <# @@ -718,8 +718,8 @@ function Test_PipelineRemoveSecrets $secretpartialname=Get-SecretName 'piperemove' $total=2 BulkCreateSecrets $keyVault $secretpartialname $total - Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Remove-AzureKeyVaultSecret -Force -Confirm:$false + Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} | Remove-AzureRMKeyVaultSecret -Force -Confirm:$false - $secs = Get-AzureKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} + $secs = Get-AzureRMKeyVaultSecret $keyVault | Where-Object {$_.SecretName -like $secretpartialname+'*'} Assert-AreEqual $secs.Count 0 } \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultUITests.ps1 b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultUITests.ps1 index 296b066f91a2..9c776484c2e0 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultUITests.ps1 +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/Scripts/VaultUITests.ps1 @@ -12,16 +12,16 @@ function Test_RemoveKeyWithTwoConfirmations Write-Host "Type 'Yes' twice" $keyVault = Get-KeyVault $keyname=Get-KeyName 'remove' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname $global:ConfirmPreference=$cr - Assert-Throws { Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname} + Assert-Throws { Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname} } <# @@ -33,16 +33,16 @@ function Test_RemoveKeyWithOneConfirmations Write-Host "Type 'Yes' once" $keyVault = Get-KeyVault $keyname=Get-KeyName 'remove' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Force + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Force $global:ConfirmPreference=$cr - Assert-Throws { Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname} + Assert-Throws { Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname} } <# @@ -54,16 +54,16 @@ function Test_CancelKeyRemovalOnce Write-Host "Type 'No' once" $keyVault = Get-KeyVault $keyname=Get-KeyName 'remove' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname $global:ConfirmPreference=$cr - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname Assert-NotNull $key } @@ -76,16 +76,16 @@ function Test_ConfirmThenCancelKeyRemoval Write-Host "Type 'Yes' first. Then type 'No'" $keyVault = Get-KeyVault $keyname=Get-KeyName 'remove' - $key=Add-AzureKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' + $key=Add-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname -Destination 'Software' Assert-NotNull $key $global:createdKeys += $keyname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + Remove-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname $global:ConfirmPreference=$cr - $key=Get-AzureKeyVaultKey -VaultName $keyVault -Name $keyname + $key=Get-AzureRMKeyVaultKey -VaultName $keyVault -Name $keyname Assert-NotNull $key } @@ -100,16 +100,16 @@ function Test_RemoveSecretWithTwoConfirmations Write-Host "Type 'Yes' twice" $keyVault = Get-KeyVault $secretname= Get-SecretName 'remove' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname $global:ConfirmPreference=$cr - Assert-Throws { Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname } + Assert-Throws { Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname } } <# @@ -121,16 +121,16 @@ function Test_RemoveSecretWithOneConfirmations Write-Host "Type 'Yes' once" $keyVault = Get-KeyVault $secretname= Get-SecretName 'remove' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -Force + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -Force $global:ConfirmPreference=$cr - Assert-Throws { Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname } + Assert-Throws { Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname } } <# @@ -142,16 +142,16 @@ function Test_CancelSecretRemovalOnce Write-Host "Type 'No' once" $keyVault = Get-KeyVault $secretname= Get-SecretName 'remove' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname $global:ConfirmPreference=$cr - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname Assert-NotNull $sec } @@ -164,16 +164,16 @@ function Test_ConfirmThenCancelSecretRemoval Write-Host "Type 'Yes' first. Then type 'No'" $keyVault = Get-KeyVault $secretname= Get-SecretName 'remove' - $sec=Set-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata + $sec=Set-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname -SecretValue $securedata Assert-NotNull $sec $global:createdSecrets += $secretname $cr=$global:ConfirmPreference $global:ConfirmPreference="High" - Remove-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + Remove-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname $global:ConfirmPreference=$cr - $sec=Get-AzureKeyVaultSecret -VaultName $keyVault -Name $secretname + $sec=Get-AzureRMKeyVaultSecret -VaultName $keyVault -Name $secretname Assert-NotNull $sec } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/UnitTests/KeyVaultUnitTestBase.cs b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/UnitTests/KeyVaultUnitTestBase.cs index e2e2faea1a6c..dc859f7290d9 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/UnitTests/KeyVaultUnitTestBase.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/UnitTests/KeyVaultUnitTestBase.cs @@ -15,10 +15,11 @@ using Microsoft.Azure.Commands.KeyVault.Models; using Moq; using System.Management.Automation; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; namespace Microsoft.Azure.Commands.KeyVault.Test { - public class KeyVaultUnitTestBase + public class KeyVaultUnitTestBase : RMTestBase { protected const string subscriptionId = "subscriptionid"; diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/packages.config b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/packages.config index 41e1fc2735bc..47d4a218a822 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault.Test/packages.config +++ b/src/ResourceManager/KeyVault/Commands.KeyVault.Test/packages.config @@ -2,15 +2,15 @@ - + - + - - + + @@ -22,4 +22,5 @@ + \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands.KeyVault.csproj b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands.KeyVault.csproj index 4937aa846f9d..8795b067b938 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands.KeyVault.csproj +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands.KeyVault.csproj @@ -19,7 +19,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\KeyVault + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.KeyVault DEBUG;TRACE prompt 4 @@ -30,7 +30,7 @@ true MSSharedLibKey.snk true - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\KeyVault + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.KeyVault TRACE;SIGN true pdbonly @@ -62,6 +62,10 @@ + + AzureRM.KeyVault.psd1 + PreserveNewest + PreserveNewest @@ -113,7 +117,7 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -126,9 +130,9 @@ False ..\..\..\packages\Microsoft.Azure.KeyVault.1.0.0\lib\net45\Microsoft.Azure.KeyVault.dll - + False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll False @@ -196,9 +200,9 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -223,8 +227,4 @@ - - - - \ No newline at end of file diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/AddAzureKeyVaultKey.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/AddAzureKeyVaultKey.cs index e0d4dbb04997..0cd36b9bf59b 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/AddAzureKeyVaultKey.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/AddAzureKeyVaultKey.cs @@ -34,7 +34,7 @@ namespace Microsoft.Azure.Commands.KeyVault /// 4 .Create a HSM or software key by importing key material with given key /// attributes /// - [Cmdlet(VerbsCommon.Add, "AzureKeyVaultKey", + [Cmdlet(VerbsCommon.Add, "AzureRMKeyVaultKey", DefaultParameterSetName = CreateParameterSet, HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(KeyBundle))] @@ -180,7 +180,7 @@ public class AddAzureKeyVaultKey : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { KeyBundle keyBundle; switch (ParameterSetName) diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/BackupAzureKeyVaultKey.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/BackupAzureKeyVaultKey.cs index 1d041e5970ea..5efc4007b8ce 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/BackupAzureKeyVaultKey.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/BackupAzureKeyVaultKey.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.KeyVault /// /// Requests that a backup of the specified key be downloaded and stored to a file /// - [Cmdlet(VerbsData.Backup, "AzureKeyVaultKey", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsData.Backup, "AzureRMKeyVaultKey", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(String))] public class BackupAzureKeyVaultKey : KeyVaultCmdletBase { @@ -62,7 +62,7 @@ public class BackupAzureKeyVaultKey : KeyVaultCmdletBase #endregion Input Parameter Definition - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (string.IsNullOrEmpty(OutputFile)) { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVault.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVault.cs index 07b6f49f69f8..f66f587d6f1e 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVault.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVault.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Get, "AzureKeyVault", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.Get, "AzureRMKeyVault", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(PSKeyVaultModels.PSVault), typeof(List))] public class GetAzureKeyVault : KeyVaultManagementCmdletBase { @@ -74,7 +74,7 @@ public class GetAzureKeyVault : KeyVaultManagementCmdletBase public Hashtable Tag { get; set; } #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { switch (ParameterSetName) { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultKey.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultKey.cs index 1b66adcd0a13..45fc4c73ab7d 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultKey.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultKey.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Get, "AzureKeyVaultKey", + [Cmdlet(VerbsCommon.Get, "AzureRMKeyVaultKey", DefaultParameterSetName = ByVaultNameParameterSet, HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(List), typeof(KeyBundle))] @@ -95,7 +95,7 @@ public class GetAzureKeyVaultKey : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { KeyBundle keyBundle; switch (ParameterSetName) diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultSecret.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultSecret.cs index d33ee09544ef..f7d2dad3bddc 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultSecret.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/GetAzureKeyVaultSecret.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Get, "AzureKeyVaultSecret", + [Cmdlet(VerbsCommon.Get, "AzureRMKeyVaultSecret", DefaultParameterSetName = ByVaultNameParameterSet, HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(List), typeof(Secret))] @@ -93,7 +93,7 @@ public class GetAzureKeyVaultSecret : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { Secret secret; switch (ParameterSetName) diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/NewAzureKeyVault.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/NewAzureKeyVault.cs index 7089f1e57188..4e4fdf7acc8e 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/NewAzureKeyVault.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/NewAzureKeyVault.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.KeyVault /// /// Create a new key vault. /// - [Cmdlet(VerbsCommon.New, "AzureKeyVault", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.New, "AzureRMKeyVault", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof (PSKeyVaultModels.PSVault))] public class NewAzureKeyVault : KeyVaultManagementCmdletBase { @@ -59,7 +59,7 @@ public class NewAzureKeyVault : KeyVaultManagementCmdletBase [Parameter(Mandatory = true, Position = 2, ValueFromPipelineByPropertyName = true, - HelpMessage = "Specifies the Azure region in which to create the key vault. Use the command Get-AzureLocation to see your choices. For more information, type Get-Help Get-AzureLocation.")] + HelpMessage = "Specifies the Azure region in which to create the key vault. Use the command Get-AzureRMLocation to see your choices. For more information, type Get-Help Get-AzureRMLocation.")] [ValidateNotNullOrEmpty()] public string Location { get; set; } @@ -84,7 +84,7 @@ public class NewAzureKeyVault : KeyVaultManagementCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (VaultExistsInCurrentSubscription(this.VaultName)) { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVault.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVault.cs index 1cbed7c85c9b..75a865ca8a0e 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVault.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVault.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Remove, "AzureKeyVault", + [Cmdlet(VerbsCommon.Remove, "AzureRMKeyVault", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High, HelpUri = Constants.KeyVaultHelpUri)] @@ -58,7 +58,7 @@ public class RemoveAzureKeyVault : KeyVaultManagementCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ResourceGroupName = string.IsNullOrWhiteSpace(ResourceGroupName) ? GetResourceGroupName(VaultName) : ResourceGroupName; if (string.IsNullOrWhiteSpace(ResourceGroupName)) diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultAccessPolicy.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultAccessPolicy.cs index dbef5b03f632..36f53619fbfc 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultAccessPolicy.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultAccessPolicy.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Remove, "AzureKeyVaultAccessPolicy", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.Remove, "AzureRMKeyVaultAccessPolicy", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(PSKeyVaultModels.PSVault))] public class RemoveAzureKeyVaultAccessPolicy : KeyVaultManagementCmdletBase { @@ -128,7 +128,7 @@ public class RemoveAzureKeyVaultAccessPolicy : KeyVaultManagementCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ResourceGroupName = string.IsNullOrWhiteSpace(ResourceGroupName) ? GetResourceGroupName(VaultName) : ResourceGroupName; diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultKey.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultKey.cs index e45e924ba64d..d3eadfa1ac1b 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultKey.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultKey.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Remove, "AzureKeyVaultKey", + [Cmdlet(VerbsCommon.Remove, "AzureRMKeyVaultKey", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High, HelpUri = Constants.KeyVaultHelpUri)] @@ -62,7 +62,7 @@ public class RemoveAzureKeyVaultKey : KeyVaultCmdletBase public SwitchParameter PassThru { get; set; } #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { KeyBundle keyBundle = null; ConfirmAction( diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultSecret.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultSecret.cs index b576602a78a4..7d38498c0896 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultSecret.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RemoveAzureKeyVaultSecret.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Remove, "AzureKeyVaultSecret", + [Cmdlet(VerbsCommon.Remove, "AzureRMKeyVaultSecret", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High, HelpUri = Constants.KeyVaultHelpUri)] @@ -63,7 +63,7 @@ public class RemoveAzureKeyVaultSecret : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { Secret secret = null; ConfirmAction( diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RestoreAzureKeyVaultKey.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RestoreAzureKeyVaultKey.cs index d66bf52d0641..b47b3c2d31db 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RestoreAzureKeyVaultKey.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/RestoreAzureKeyVaultKey.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.KeyVault /// /// Restores the backup key into a vault /// - [Cmdlet(VerbsData.Restore, "AzureKeyVaultKey", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsData.Restore, "AzureRMKeyVaultKey", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(KeyBundle))] public class RestoreAzureKeyVaultKey : KeyVaultCmdletBase { @@ -50,7 +50,7 @@ public class RestoreAzureKeyVaultKey : KeyVaultCmdletBase #endregion Input Parameter Definitions - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var filePath = ResolvePath(InputFile); diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultAccessPolicy.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultAccessPolicy.cs index 0013027a75cf..17d1639eaeb0 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultAccessPolicy.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultAccessPolicy.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Set, "AzureKeyVaultAccessPolicy", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.Set, "AzureRMKeyVaultAccessPolicy", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(PSKeyVaultModels.PSVault))] public class SetAzureKeyVaultAccessPolicy : KeyVaultManagementCmdletBase { @@ -156,7 +156,7 @@ public class SetAzureKeyVaultAccessPolicy : KeyVaultManagementCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ResourceGroupName = string.IsNullOrWhiteSpace(ResourceGroupName) ? GetResourceGroupName(VaultName) : ResourceGroupName; PSKeyVaultModels.PSVault vault = null; diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultKeyAttribute.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultKeyAttribute.cs index fd58177ae43b..76ff7d6fbd0e 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultKeyAttribute.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultKeyAttribute.cs @@ -22,8 +22,8 @@ namespace Microsoft.Azure.Commands.KeyVault /// /// Update attribute of a key vault key. /// - [Alias("Set-AzureKeyVaultKey")] - [Cmdlet(VerbsCommon.Set, "AzureKeyVaultKeyAttribute", HelpUri = Constants.KeyVaultHelpUri)] + [Alias("Set-AzureRMKeyVaultKey")] + [Cmdlet(VerbsCommon.Set, "AzureRMKeyVaultKeyAttribute", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(KeyBundle))] public class SetAzureKeyVaultKeyAttribute : KeyVaultCmdletBase { @@ -104,7 +104,7 @@ public class SetAzureKeyVaultKeyAttribute : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var keyBundle = DataServiceClient.UpdateKey( VaultName, diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecret.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecret.cs index d8b1350c7827..b440eb413880 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecret.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecret.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Set, "AzureKeyVaultSecret", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.Set, "AzureRMKeyVaultSecret", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(Secret))] public class SetAzureKeyVaultSecret : KeyVaultCmdletBase { @@ -96,7 +96,7 @@ public class SetAzureKeyVaultSecret : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var secret = DataServiceClient.SetSecret( VaultName, diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecretAttribute.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecretAttribute.cs index 4128a8375e34..c58019a02984 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecretAttribute.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Commands/SetAzureKeyVaultSecretAttribute.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - [Cmdlet(VerbsCommon.Set, "AzureKeyVaultSecretAttribute", HelpUri = Constants.KeyVaultHelpUri)] + [Cmdlet(VerbsCommon.Set, "AzureRMKeyVaultSecretAttribute", HelpUri = Constants.KeyVaultHelpUri)] [OutputType(typeof(Secret))] public class SetAzureKeyVaultSecretAttribute : KeyVaultCmdletBase { @@ -105,7 +105,7 @@ public class SetAzureKeyVaultSecretAttribute : KeyVaultCmdletBase #endregion - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var secret = DataServiceClient.UpdateSecret( VaultName, diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Microsoft.Azure.Commands.KeyVault.dll-help.xml b/src/ResourceManager/KeyVault/Commands.KeyVault/Microsoft.Azure.Commands.KeyVault.dll-help.xml index cb563bd75660..0fc0bc682911 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Microsoft.Azure.Commands.KeyVault.dll-help.xml +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Microsoft.Azure.Commands.KeyVault.dll-help.xml @@ -3,7 +3,7 @@ - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey Creates a key in a vault or imports a key into a vault. @@ -15,7 +15,7 @@ - The Add-AzureKeyVaultKey cmdlet creates a key in an Azure Key Vault, or imports a key into a vault. Use this cmdlet to add keys by using any of the following methods: + The Add-AzureRMKeyVaultKey cmdlet creates a key in an Azure Key Vault, or imports a key into a vault. Use this cmdlet to add keys by using any of the following methods: -- Create a key in a hardware security module (HSM) in the Azure Key Vault service. -- Create a key in software in the Azure Key Vault service. @@ -31,7 +31,7 @@ Note: To import a key from your own hardware security module, you must first gen - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey VaultName @@ -42,7 +42,7 @@ Note: To import a key from your own hardware security module, you must first gen Name - Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and (the dash symbol). + Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and – (the dash symbol). String @@ -132,7 +132,7 @@ Note: To import a key from your own hardware security module, you must first gen - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey VaultName @@ -143,7 +143,7 @@ Note: To import a key from your own hardware security module, you must first gen Name - Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and (the dash symbol). + Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and – (the dash symbol). String @@ -310,7 +310,7 @@ Note: To import a key from your own hardware security module, you must first gen Name - Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and (the dash symbol). + Specifies the name of the key to add to the vault. This cmdlet constructs the fully qualified domain name (FQDN) of a key based on the name that this parameter specifies, the name of the vault, and your current environment. The name must be a string of 1 through 63 characters in length that contains only 0-9, a-z, A-Z, and – (the dash symbol). String @@ -409,7 +409,7 @@ Note: To import a key from your own hardware security module, you must first gen - PS C:\>Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" -Destination "Software" + PS C:\>Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" -Destination "Software" This command creates a software-protected key named ITSoftware in the vault named Contoso. @@ -428,7 +428,7 @@ Note: To import a key from your own hardware security module, you must first gen - PS C:\>Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITHsm" -Destination "HSM" + PS C:\>Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITHsm" -Destination "HSM" This command creates an HSM-protected key in the key vault named Contoso. @@ -451,13 +451,13 @@ Note: To import a key from your own hardware security module, you must first gen PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime() PS C:\> $NotBefore = (Get-Date).ToUniversalTime() PS C:\> $Tags = @{'Severity' = 'high'; 'Accounting' = null} -PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITHsmNonDefault" -Destination "HSM" -Expires $Expires -NotBefore $NotBefore -KeyOps $KeyOperations Disable -Tags $Tags +PS C:\> Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITHsmNonDefault" -Destination "HSM" -Expires $Expires -NotBefore $NotBefore -KeyOps $KeyOperations –Disable -Tags $Tags The first command stores the values decrypt and verify in the $KeyOperations variable. The second command creates a DateTime object, defined in UTC, by using the Get-Date cmdlet. That object specifies a time two years in the future. The command stores that date in the $Expires variable. For more information, type Get-Help Get-Date. The third command creates a DateTime object by using the Get-Date cmdlet. That object specifies current UTC time. The command stores that date in the $NotBefore variable. - The final command creates a key named ITHsmNonDefault that is an HSM-protected key. The command specifies values for allowed key operations stored $KeyOperations. The command specifies times for the Expires and NotBefore parameters created in the previous commands, and tags for high severity and IT. The new key is disabled. You can enable it by using the Set-AzureKeyVaultKey cmdlet. + The final command creates a key named ITHsmNonDefault that is an HSM-protected key. The command specifies values for allowed key operations stored $KeyOperations. The command specifies times for the Expires and NotBefore parameters created in the previous commands, and tags for high severity and IT. The new key is disabled. You can enable it by using the Set-AzureRMKeyVaultKey cmdlet. @@ -473,7 +473,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITHsmNonDefault" -De - PS C:\>Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITByok" -KeyFilePath "C:\Contoso\ITByok.byok" -Destination "HSM" + PS C:\>Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITByok" -KeyFilePath "C:\Contoso\ITByok.byok" -Destination "HSM" This command imports the key named ITByok from the location that the KeyFilePath parameter specifies. The imported key is an HSM-protected key. @@ -494,7 +494,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITHsmNonDefault" -De PS C:\>$Password = ConvertTo-SecureString -String "Password" -AsPlainText -Force -PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfx" -KeyFilePath "C:\Contoso\ITPfx.pfx" -KeyFilePassword $Password +PS C:\> Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITPfx" -KeyFilePath "C:\Contoso\ITPfx.pfx" -KeyFilePassword $Password The first command converts a string into a secure string by using the ConvertTo-SecureString cmdlet, and then stores that string in the $Password variable. For more information, type Get-Help ConvertTo-SecureString. @@ -517,7 +517,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfx" -KeyFilePath PS C:\>$Password = ConvertTo-SecureString -String "password" -AsPlainText -Force PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime() PS C:\> $Tags = @{ 'Severity' = 'high'; 'Accounting' = null } -PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destination "HSM" -KeyFilePath "C:\Contoso\ITPfx.pfx" -KeyFilePassword $Password -Expires $Expires -Tags $Tags +PS C:\> Add-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destination "HSM" -KeyFilePath "C:\Contoso\ITPfx.pfx" -KeyFilePassword $Password -Expires $Expires -Tags $Tags The first command converts a string into a secure string by using the ConvertTo-SecureString cmdlet, and then stores that string in the $Password variable. @@ -540,26 +540,26 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=520396 - Backup-AzureKeyVaultKey + Backup-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey - Set-AzureKeyVaultKeyAttribute + Set-AzureRMKeyVaultKeyAttribute - Backup-AzureKeyVaultKey + Backup-AzureRMKeyVaultKey Backs up a key in a vault. @@ -571,15 +571,15 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Backup-AzureKeyVaultKey cmdlet backs up a specified key in a vault by downloading it and storing it in a file. If there are multiple versions of the key, all versions are included in the backup. Because the downloaded content is encrypted, it cannot be used outside of Azure Key Vault. You can restore a backed-up key to any key vault in the subscription that it was backed up from. + The Backup-AzureRMKeyVaultKey cmdlet backs up a specified key in a vault by downloading it and storing it in a file. If there are multiple versions of the key, all versions are included in the backup. Because the downloaded content is encrypted, it cannot be used outside of Azure Key Vault. You can restore a backed-up key to any key vault in the subscription that it was backed up from. Typical reasons to use this cmdlet are: -- You want to escrow a copy of your key, so that you have an offline copy in case you accidentally delete your key in your key vault. - -- You created a key using Azure Key Vault and now want to clone the key into a different Azure region, so that you can use it from all instances of your distributed application. Use the Backup-AzureKeyVaultKey cmdlet to retrieve the key in encrypted format and then use the Restore-AzureKeyVaultKey cmdlet and specify a key vault in the second region. + -- You created a key using Azure Key Vault and now want to clone the key into a different Azure region, so that you can use it from all instances of your distributed application. Use the Backup-AzureRMKeyVaultKey cmdlet to retrieve the key in encrypted format and then use the Restore-AzureRMKeyVaultKey cmdlet and specify a key vault in the second region. - Backup-AzureKeyVaultKey + Backup-AzureRMKeyVaultKey VaultName @@ -703,7 +703,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Backup-AzureKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" + PS C:\>Backup-AzureRMKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" This command retrieves the key named MyKey from the vault named MyKeyVault and saves a backup of that key to a file that is automatically named for you, and displays the file name. @@ -722,7 +722,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Backup-AzureKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" -OutputFile "C:\Backup.blob" + PS C:\>Backup-AzureRMKeyVaultKey -VaultName "MyKeyVault" -Name "MyKey" -OutputFile "C:\Backup.blob" This command retrieves the key named MyKey from the vault named MyKeyVault and saves a backup of that key to a file named Backup.blob. @@ -742,26 +742,26 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522259 - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey - Restore-AzureKeyVaultKey + Restore-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey Gets the keys in a vault. @@ -773,11 +773,11 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Get-AzureKeyVaultKey cmdlet gets the keys in an Azure Key Vault. This cmdlet gets a specific Microsoft.Azure.Commands.KeyVault.Models.KeyBundle or a list of all KeyBundle objects in a vault. + The Get-AzureRMKeyVaultKey cmdlet gets the keys in an Azure Key Vault. This cmdlet gets a specific Microsoft.Azure.Commands.KeyVault.Models.KeyBundle or a list of all KeyBundle objects in a vault. - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey Name @@ -801,7 +801,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey VaultName @@ -832,7 +832,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey VaultName @@ -953,7 +953,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultKey -VaultName "Contoso" + PS C:\>Get-AzureRMKeyVaultKey -VaultName "Contoso" This command gets all the keys in the vault named Contoso. @@ -972,7 +972,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" + PS C:\>Get-AzureRMKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" This command gets the current version of the key named ITPfx in the vault named Contoso. @@ -991,7 +991,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" -IncludeVersions + PS C:\>Get-AzureRMKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" -IncludeVersions This command gets all versions the key named ITPfx in the vault named Contoso. @@ -1010,7 +1010,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>$Key = Get-AzureKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" Version "5A12A276385949DB8B5F82AFEE85CAED" + PS C:\>$Key = Get-AzureRMKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx" –Version "5A12A276385949DB8B5F82AFEE85CAED" This command gets a specific version of the key named ITPfx in the vault named Contoso. After running this command, you can inspect various properties of the key by navigating the $Key object. @@ -1030,22 +1030,22 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=521395 - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey - Set-AzureKeyVaultKeyAttribute + Set-AzureRMKeyVaultKeyAttribute - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret Gets the secrets in a vault. @@ -1057,11 +1057,11 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Get-AzureKeyVaultSecret cmdlet gets secrets in an Azure Key Vault. This cmdlet gets a specific secret or all the secrets in a vault. + The Get-AzureRMKeyVaultSecret cmdlet gets secrets in an Azure Key Vault. This cmdlet gets a specific secret or all the secrets in a vault. - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret Name @@ -1085,7 +1085,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret VaultName @@ -1116,7 +1116,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret VaultName @@ -1237,7 +1237,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultSecret -VaultName "Contoso" + PS C:\>Get-AzureRMKeyVaultSecret -VaultName "Contoso" This command gets the current versions of all secrets in the vault named Contoso. @@ -1256,7 +1256,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -IncludeVersions + PS C:\>Get-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -IncludeVersions This command gets all versions of the secret named ITSecret in the vault named Contoso. @@ -1275,7 +1275,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" + PS C:\>Get-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" This command gets the current version of the secret named ITSecret in the vault named Contoso. @@ -1294,7 +1294,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" Version "6A12A286385949DB8B5F82AFEF85CAE9" + PS C:\>Get-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" –Version "6A12A286385949DB8B5F82AFEF85CAE9" This command gets a specific version of the secret named ITSecret in the vault named Contoso. @@ -1314,18 +1314,18 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=521396 - Remove-AzureKeyVaultSecret + Remove-AzureRMKeyVaultSecret - Set-AzureKeyVaultSecret + Set-AzureRMKeyVaultSecret - Get-AzureKeyVault + Get-AzureRMKeyVault Gets Azure Key Vault instances. @@ -1337,12 +1337,12 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Get-AzureKeyVault cmdlet gets information about the Azure Key Vault instances in a subscription. You can view all key vault instances in a subscription, or filter your results by a resource group or a particular key vault. + The Get-AzureRMKeyVault cmdlet gets information about the Azure Key Vault instances in a subscription. You can view all key vault instances in a subscription, or filter your results by a resource group or a particular key vault. Note that although specifying the resource group is optional for this cmdlet when you get a single key vault, you should do so for better performance. - Get-AzureKeyVault + Get-AzureRMKeyVault VaultName @@ -1366,7 +1366,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVault + Get-AzureRMKeyVault ResourceGroupName @@ -1383,7 +1383,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Get-AzureKeyVault + Get-AzureRMKeyVault Profile @@ -1487,7 +1487,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVault + PS C:\>Get-AzureRMKeyVault This command gets all the key vaults in your current subscription. @@ -1506,7 +1506,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>$MyVault = Get-AzureKeyVault -VaultName "Contoso03Vault" + PS C:\>$MyVault = Get-AzureRMKeyVault -VaultName "Contoso03Vault" This command gets the key vault named Contoso03Vault in your current subscription, and then stores it in the $MyVault variable. You can inspect the properties of $MyVault to get details about the key vault. @@ -1525,7 +1525,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVault -ResourceGroupName "ContosoPayRollResourceGroup" + PS C:\>Get-AzureRMKeyVault -ResourceGroupName "ContosoPayRollResourceGroup" This command gets all the key vaults in the resource group named ContosoPayRollResourceGroup. @@ -1545,18 +1545,18 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522254 - New-AzureKeyVault + New-AzureRMKeyVault - Remove-AzureKeyVault + Remove-AzureRMKeyVault - New-AzureKeyVault + New-AzureRMKeyVault Creates an Azure Key Vault instance. @@ -1568,11 +1568,11 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The New-AzureKeyVault cmdlet creates an Azure Key Vault instance in the specified resource group. This cmdlet also grants permissions to the currently logged on user to add, remove, or list keys and secrets in the vault. + The New-AzureRMKeyVault cmdlet creates an Azure Key Vault instance in the specified resource group. This cmdlet also grants permissions to the currently logged on user to add, remove, or list keys and secrets in the vault. - New-AzureKeyVault + New-AzureRMKeyVault VaultName @@ -1590,7 +1590,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina Location - Specifies the Azure region in which to create the key vault. Use the command Get-AzureLocation to see your choices. For more information, type Get-Help Get-AzureLocation. + Specifies the Azure region in which to create the key vault. Use the command Get-AzureRMLocation to see your choices. For more information, type Get-Help Get-AzureRMLocation. String @@ -1642,7 +1642,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina Location - Specifies the Azure region in which to create the key vault. Use the command Get-AzureLocation to see your choices. For more information, type Get-Help Get-AzureLocation. + Specifies the Azure region in which to create the key vault. Use the command Get-AzureRMLocation to see your choices. For more information, type Get-Help Get-AzureRMLocation. String @@ -1753,7 +1753,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>New-AzureKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" -Location "East US" + PS C:\>New-AzureRMKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" -Location "East US" This command creates a key vault named Contoso03Vault, in the Azure region East US. The command adds the key vault to the resource group named Group14. Because the command does not specify a value for the SKU parameter, it creates a Standard key vault. @@ -1772,7 +1772,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>New-AzureKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" -Location "East US" -Sku "Premium" + PS C:\>New-AzureRMKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" -Location "East US" -Sku "Premium" This command creates a key vault, just like the previous example. However, it specifies a value of Premium for the SKU parameter to create a Premium key vault. @@ -1792,18 +1792,18 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522255 - Get-AzureKeyVault + Get-AzureRMKeyVault - Remove-AzureKeyVault + Remove-AzureRMKeyVault - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy Removes all permissions for a user or application from the Azure Key Vault. @@ -1815,12 +1815,12 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Remove-AzureKeyVaultAccessPolicy cmdlet removes all permissions for a user or application or for all users and applications from the Azure Key Vault. Even if you remove all permissions, the owner of the Azure subscription that contains the vault can add permissions to the key vault. + The Remove-AzureRMKeyVaultAccessPolicy cmdlet removes all permissions for a user or application or for all users and applications from the Azure Key Vault. Even if you remove all permissions, the owner of the Azure subscription that contains the vault can add permissions to the key vault. Note that although specifying the resource group is optional for this cmdlet, you should do so for better performance. - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy ResourceGroupName @@ -1849,7 +1849,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy VaultName @@ -1892,7 +1892,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy VaultName @@ -1935,7 +1935,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy VaultName @@ -2117,7 +2117,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" + PS C:\>Remove-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" This command removes all the permissions that a user PattiFuller@contoso.com has on the key vault named Contoso03Vault. @@ -2136,7 +2136,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ServicePrincipalName "http://payroll.contoso.com" + PS C:\>Remove-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ServicePrincipalName "http://payroll.contoso.com" This command removes all the permissions that an application has on the vault named Contoso03Vault. This example identifies the application by using the service principal name registered in Azure Active Directory, http://payroll.contoso.com. @@ -2155,7 +2155,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ObjectID 34595082-9346-41b6-8d6b-295a2808b8db + PS C:\>Remove-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ObjectID 34595082-9346-41b6-8d6b-295a2808b8db This command removes all the permissions that an application has on the vault named Contoso03Vault. This example identifies the application by the object ID of the service principal. @@ -2175,14 +2175,14 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522258 - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey Deletes a key in a vault. @@ -2194,11 +2194,11 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Remove-AzureKeyVaultKey cmdlet deletes a key in an Azure Key Vault. This cmdlet has a value of high for the ConfirmImpact property. + The Remove-AzureRMKeyVaultKey cmdlet deletes a key in an Azure Key Vault. This cmdlet has a value of high for the ConfirmImpact property. - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey VaultName @@ -2336,7 +2336,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" + PS C:\>Remove-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" This command removes the key named ITSoftware from the vault named Contoso. @@ -2355,7 +2355,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" -Force -Confirm:$False + PS C:\>Remove-AzureRMKeyVaultKey -VaultName "Contoso" -Name "ITSoftware" -Force -Confirm:$False This command removes the key named ITSoftware from the vault named Contoso. The command specifies the Force and Confirm parameters, and, therefore, the cmdlet does not prompt you for confirmation. @@ -2374,7 +2374,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Get-AzureKeyVaultKey -VaultName "Contoso" | Where-Object {$_.Attributes.Enabled -eq $False} | Remove-AzureKeyVaultKey + PS C:\>Get-AzureRMKeyVaultKey -VaultName "Contoso" | Where-Object {$_.Attributes.Enabled -eq $False} | Remove-AzureRMKeyVaultKey This command gets all the keys in the vault named Contoso, and passes them to the Where-Object cmdlet by using the pipeline operator. That cmdlet passes the keys that have a value of $False for the Enabled attribute to the current cmdlet. That cmdlet removes those keys. @@ -2394,22 +2394,22 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=521397 - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Set-AzureKeyVaultKeyAttribute + Set-AzureRMKeyVaultKeyAttribute - Remove-AzureKeyVaultSecret + Remove-AzureRMKeyVaultSecret Deletes a secret in a vault. @@ -2421,11 +2421,11 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Remove-AzureKeyVaultSecret cmdlet deletes a secret in an Azure Key Vault. This cmdlet has a value of high for the ConfirmImpact property. + The Remove-AzureRMKeyVaultSecret cmdlet deletes a secret in an Azure Key Vault. This cmdlet has a value of high for the ConfirmImpact property. - Remove-AzureKeyVaultSecret + Remove-AzureRMKeyVaultSecret VaultName @@ -2563,7 +2563,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultSecret -VaultName "Contoso" -Name "FinanceSecret" + PS C:\>Remove-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "FinanceSecret" This command removes the secret named FinanceSecret from the vault named Contoso. @@ -2582,7 +2582,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVaultSecret -VaultName "Contoso" -Name "FinanceSecret" -Force -Confirm:$False + PS C:\>Remove-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "FinanceSecret" -Force -Confirm:$False This command removes the secret named FinanceSecret from the vault named Contoso. The command specifies the Force and Confirm parameters, and, therefore, the cmdlet does not prompt you for confirmation. @@ -2602,18 +2602,18 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=521398 - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret - Set-AzureKeyVaultSecret + Set-AzureRMKeyVaultSecret - Remove-AzureKeyVault + Remove-AzureRMKeyVault Deletes an Azure Key Vault instance. @@ -2625,12 +2625,12 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Remove-AzureKeyVault cmdlet deletes the specified Azure Key Vault instance. It also deletes all keys and secrets contained in that instance. + The Remove-AzureRMKeyVault cmdlet deletes the specified Azure Key Vault instance. It also deletes all keys and secrets contained in that instance. Note that although specifying the resource group is optional for this cmdlet, you should so for better performance. - Remove-AzureKeyVault + Remove-AzureRMKeyVault VaultName @@ -2752,7 +2752,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVault -VaultName "Contoso03Vault" + PS C:\>Remove-AzureRMKeyVault -VaultName "Contoso03Vault" This command removes the key vault named Contoso03Vault from your current subscription. @@ -2771,7 +2771,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Remove-AzureKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" + PS C:\>Remove-AzureRMKeyVault -VaultName "Contoso03Vault" -ResourceGroupName "Group14" This command removes the key vault named Contoso03Vault from the named resource group. If you do not specify the resource group name, the cmdlet searches for the named key vault to delete in your current subscription. @@ -2791,18 +2791,18 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522256 - Get-AzureKeyVault + Get-AzureRMKeyVault - New-AzureKeyVault + New-AzureRMKeyVault - Restore-AzureKeyVaultKey + Restore-AzureRMKeyVaultKey Creates a key in in a vault from a backed-up key. @@ -2814,12 +2814,12 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Restore-AzureKeyVaultKey cmdlets creates a key in the specified key vault. This key is a replica of the backed-up key in the input file and has the same name as the original key. If the key vault already has a key by the same name, this cmdlet fails instead of overwriting the original key. If the backup contains multiple versions of a key, all versions are restored. + The Restore-AzureRMKeyVaultKey cmdlets creates a key in the specified key vault. This key is a replica of the backed-up key in the input file and has the same name as the original key. If the key vault already has a key by the same name, this cmdlet fails instead of overwriting the original key. If the backup contains multiple versions of a key, all versions are restored. The key vault that you restore the key into can be different from the key vault that you backed up the key from. However, the key vault must use the same subscription and be in an Azure region in the same geography (for example, North America). See the Microsoft Azure Trust Center (https://azure.microsoft.com/support/trust-center/) for the mapping of Azure regions to geographies. - Restore-AzureKeyVaultKey + Restore-AzureRMKeyVaultKey VaultName @@ -2924,7 +2924,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Restore-AzureKeyVaultKey -VaultName "MyKeyVault" -InputFile "C:\Backup.blob" + PS C:\>Restore-AzureRMKeyVaultKey -VaultName "MyKeyVault" -InputFile "C:\Backup.blob" This command restores a key, including all of its versions, from the backup file named Backup.blob into the key vault named MyKeyVault. @@ -2944,26 +2944,26 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina http://go.microsoft.com/fwlink/?LinkId=522260 - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey - Backup-AzureKeyVaultKey + Backup-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy Grants or modifies existing permissions for a user or application to perform operations with the Azure Key Vault. @@ -2975,7 +2975,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - The Set-AzureKeyVaultAccessPolicy cmdlet grants or modifies existing permissions for a user or application to perform the specified operations with the Azure Key Vault. It does not modify the permissions that other users or applications have on the key vault. + The Set-AzureRMKeyVaultAccessPolicy cmdlet grants or modifies existing permissions for a user or application to perform the specified operations with the Azure Key Vault. It does not modify the permissions that other users or applications have on the key vault. The following directories must all be the same Azure directory: -- The Azure directory in which the key vault owner's user account resides. @@ -2989,7 +2989,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy VaultName @@ -3090,7 +3090,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy VaultName @@ -3191,7 +3191,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy VaultName @@ -3292,7 +3292,7 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - Set-AzureKeyVaultAccessPolicy + Set-AzureRMKeyVaultAccessPolicy VaultName @@ -3513,9 +3513,9 @@ PS C:\> Add-AzureKeyVaultKey -VaultName "Contoso" -Name "ITPfxToHSM" -Destina - PS C:\>Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToKeys create,import,delete,list -PermissionsToSecrets set,delete -PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToSecrets set,delete,get -PassThru -PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToKeys @() -PassThru + PS C:\>Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToKeys create,import,delete,list -PermissionsToSecrets set,delete +PS C:\> Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToSecrets set,delete,get -PassThru +PS C:\> Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrincipalName "PattiFuller@contoso.com" -PermissionsToKeys @() -PassThru The first command grants permissions for a user in your Azure Active Directory, PattiFuller@contoso.com, to perform operations on keys and secrets with a key vault named Contoso03Vault. @@ -3536,7 +3536,7 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci - PS C:\>Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ServicePrincipalName "http://payroll.contoso.com" -PermissionsToSecrets "get,set" + PS C:\>Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ServicePrincipalName "http://payroll.contoso.com" -PermissionsToSecrets "get,set" This command grants permissions for an application for a vault named Contoso03Vault. The ServicePrincipalName parameter specifies the application. The application must be registered in your Azure Active Directory. The value of the ServicePrincipalName parameter must be either the service principal name of the application or the application ID GUID. This example specifies the service principal name http://payroll.contoso.com, and the command grants the application permissions to read and write secrets. @@ -3555,7 +3555,7 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci - PS C:\>Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ObjectId 34595082-9346-41b6-8d6b-295a2808b8db -PermissionsToSecrets "get,set" + PS C:\>Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" -ObjectId 34595082-9346-41b6-8d6b-295a2808b8db -PermissionsToSecrets "get,set" This command grants the application permissions to read and write secrets. This example specifies the application using the object ID of the service principal of the application. @@ -3574,7 +3574,7 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci - PS C:\>Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" ResourceGroupName "Group14" -EnabledForDeployment + PS C:\>Set-AzureRMKeyVaultAccessPolicy -VaultName "Contoso03Vault" –ResourceGroupName "Group14" -EnabledForDeployment This command grants the permissions for secrets to be retrieved from the Contoso03Vault vault by the Microsoft.Compute resource provider. @@ -3594,14 +3594,14 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci http://go.microsoft.com/fwlink/?LinkId=522257 - Remove-AzureKeyVaultAccessPolicy + Remove-AzureRMKeyVaultAccessPolicy - Set-AzureKeyVaultKeyAttribute + Set-AzureRMKeyVaultKeyAttribute Updates the attributes of a key in a vault. @@ -3613,11 +3613,11 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci - The Set-AzureKeyVaultKeyAttribute cmdlet updates the editable attributes of a key in an Azure Key Vault. + The Set-AzureRMKeyVaultKeyAttribute cmdlet updates the editable attributes of a key in an Azure Key Vault. - Set-AzureKeyVaultKeyAttribute + Set-AzureRMKeyVaultKeyAttribute VaultName @@ -3875,7 +3875,7 @@ PS C:\> Set-AzureKeyVaultAccessPolicy -VaultName "Contoso03Vault" -UserPrinci PS C:\>$Expires = (Get-Date).AddYears(2).ToUniversalTime() PS C:\> $Tags = @{'Severity' = 'high'; 'Accounting' = null} -PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" -Expires $Expires -Enable $True -Tags $Tags -PassThru +PS C:\> Set-AzureRMKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" -Expires $Expires -Enable $True -Tags $Tags -PassThru The first command creates a DateTime object by using the Get-Date cmdlet. That object specifies a time two years in the future. The command stores that date in the $Expires variable. For more information, type Get-Help Get-Date. @@ -3896,7 +3896,7 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" - PS C:\>Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" Version "7EEA45C6EE50490B9C3176F80AC1A0DG" Tags @{} + PS C:\>Set-AzureRMKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" –Version "7EEA45C6EE50490B9C3176F80AC1A0DG" –Tags @{} This commands deletes all tags for a specific version of a key named ITSoftware. @@ -3916,22 +3916,22 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" http://go.microsoft.com/fwlink/?LinkId=521399 - Add-AzureKeyVaultKey + Add-AzureRMKeyVaultKey - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Remove-AzureKeyVaultKey + Remove-AzureRMKeyVaultKey - Set-AzureKeyVaultSecretAttribute + Set-AzureRMKeyVaultSecretAttribute Updates attributes of a secret in a vault. @@ -3943,11 +3943,11 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" - The Set-AzureKeyVaultSecretAttribute cmdlet updates editable attributes of a secret in an Azure Key Vault. + The Set-AzureRMKeyVaultSecretAttribute cmdlet updates editable attributes of a secret in an Azure Key Vault. - Set-AzureKeyVaultSecretAttribute + Set-AzureRMKeyVaultSecretAttribute VaultName @@ -3979,7 +3979,7 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" Enable - Indicates whether to enable a secret. Specify $False to disable a secret, or $True to enable a secret. If you do not specify this parameter, there is no change to the current secrets enabled or disabled state. + Indicates whether to enable a secret. Specify $False to disable a secret, or $True to enable a secret. If you do not specify this parameter, there is no change to the current secret–s enabled or disabled state. Boolean @@ -4035,7 +4035,7 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" Enable - Indicates whether to enable a secret. Specify $False to disable a secret, or $True to enable a secret. If you do not specify this parameter, there is no change to the current secrets enabled or disabled state. + Indicates whether to enable a secret. Specify $False to disable a secret, or $True to enable a secret. If you do not specify this parameter, there is no change to the current secret–s enabled or disabled state. Boolean @@ -4186,7 +4186,7 @@ PS C:\> Set-AzureKeyVaultKeyAttribute -VaultName "Contoso" -Name "ITSoftware" PS C:\> $Nbf = (Get-Date).ToUniversalTime() PS C:\> $Tags = @{ "Severity" = "medium"; "HR" = null} PS C:\> $ContentType= "xml" -PS C:\> Set-AzureKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" -Expires $Expires -NotBefore $Nbf -ContentType $ContentType -Enable $True -Tags $Tags -PassThru +PS C:\> Set-AzureRMKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" -Expires $Expires -NotBefore $Nbf -ContentType $ContentType -Enable $True -Tags $Tags -PassThru The first four commands define attributes for the expiry date, the NotBefore date, tags, and context type, and store the attributes in variables. @@ -4206,7 +4206,7 @@ PS C:\> Set-AzureKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" - PS C:\>Set-AzureKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" -Version "9EEA45C6EE50490B9C3176A80AC1A0DF" -ContentType "" -Tags -@{} + PS C:\>Set-AzureRMKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" -Version "9EEA45C6EE50490B9C3176A80AC1A0DF" -ContentType "" -Tags -@{} This command deletes the tags and the content type for the specified version of the secret named HR in the vault named Contoso. @@ -4227,12 +4227,12 @@ PS C:\> Set-AzureKeyVaultSecretAttribute -VaultName "ContosoVault" -Name "HR" PS C:\>$Vault = "ContosoVault" PS C:\> $Prefix = "IT" -PS C:\> Get-AzureKeyVaultSecret $Vault | Where-Object {$_.Name -like $Prefix + '*'} | Set-AzureKeyVaultSecretAttribute -Enable $False +PS C:\> Get-AzureRMKeyVaultSecret $Vault | Where-Object {$_.Name -like $Prefix + '*'} | Set-AzureRMKeyVaultSecretAttribute -Enable $False The first command stores the string value Contoso in the $Vault variable. The second command stores the string value IT in the $Prefix variable. - The third command uses the Get-AzureKeyVaultSecret cmdlet to get the secrets in the specified vault, and then passes those secrets to the Where-Object cmdlet. The Where-Object cmdlet filters the secrets for names that begin with the characters IT. The command pipes the secrets that match the filter to the Set-AzureKeyVaultSecretAttribute cmdlet, which disables them. + The third command uses the Get-AzureRMKeyVaultSecret cmdlet to get the secrets in the specified vault, and then passes those secrets to the Where-Object cmdlet. The Where-Object cmdlet filters the secrets for names that begin with the characters IT. The command pipes the secrets that match the filter to the Set-AzureRMKeyVaultSecretAttribute cmdlet, which disables them. @@ -4251,11 +4251,11 @@ PS C:\> Get-AzureKeyVaultSecret $Vault | Where-Object {$_.Name -like $Prefix PS C:\>$VaultName = "ContosoVault" PS C:\> $Name = "HR" PS C:\> $ContentType = "xml" -PS C:\> Get-AzureKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersions | Set-AzureKeyVaultSecretAttribute -ContentType $ContentType +PS C:\> Get-AzureRMKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersions | Set-AzureRMKeyVaultSecretAttribute -ContentType $ContentType - The first three commands define string variables to use for the VaultName, Name, and ContentType parameters. The fourth command uses the Get-AzureKeyVaultKey cmdlet to get the specified keys, and pipes the keys to the Set-AzureKeyVaultSecretAttribute cmdlet to set their content type to XML. + The first three commands define string variables to use for the VaultName, Name, and ContentType parameters. The fourth command uses the Get-AzureRMKeyVaultKey cmdlet to get the specified keys, and pipes the keys to the Set-AzureRMKeyVaultSecretAttribute cmdlet to set their content type to XML. @@ -4272,26 +4272,26 @@ PS C:\> Get-AzureKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersio http://go.microsoft.com/fwlink/?LinkId=534612 - Get-AzureKeyVaultKey + Get-AzureRMKeyVaultKey - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret - Remove-AzureKeyVaultSecret + Remove-AzureRMKeyVaultSecret - Set-AzureKeyVaultSecretAttribute + Set-AzureRMKeyVaultSecretAttribute - Set-AzureKeyVaultSecret + Set-AzureRMKeyVaultSecret Creates or updates a secret in a vault. @@ -4303,11 +4303,11 @@ PS C:\> Get-AzureKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersio - The Set-AzureKeyVaultSecret cmdlet creates or updates a secret in an Azure Key Vault. If the secret does not exist, this cmdlet creates it. If the secret already exists, this cmdlet replaces it with the value that you specify. + The Set-AzureRMKeyVaultSecret cmdlet creates or updates a secret in an Azure Key Vault. If the secret does not exist, this cmdlet creates it. If the secret already exists, this cmdlet replaces it with the value that you specify. - Set-AzureKeyVaultSecret + Set-AzureRMKeyVaultSecret VaultName @@ -4524,7 +4524,7 @@ PS C:\> Get-AzureKeyVaultKey -VaultName $VaultName -Name $Name -IncludeVersio PS C:\>$Secret = ConvertTo-SecureString -String "Password" -AsPlainText -Force -PS C:\> Set-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -SecretValue $Secret +PS C:\> Set-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -SecretValue $Secret The first command converts a string into a secure string by using the ConvertTo-SecureString cmdlet, and then stores that string in the $Secret variable. For more information, type Get-Help ConvertTo-SecureString. @@ -4549,7 +4549,7 @@ PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime() PS C:\> $NBF =(Get-Date).ToUniversalTime() PS C:\> $Tags = @{ "Severity" = "medium"; "IT" = null } PS C:\> $ContentType = "txt" -PS C:\> Set-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -SecretValue $Secret -Expires $Expires -NotBefore $NBF -ContentType $ContentType -Enable $True -Tags $Tags -PassThru +PS C:\> Set-AzureRMKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -SecretValue $Secret -Expires $Expires -NotBefore $NBF -ContentType $ContentType -Enable $True -Tags $Tags -PassThru The first command converts a string into a secure string by using the ConvertTo-SecureString cmdlet, and then stores that string in the $Secret variable. For more information, type Get-Help ConvertTo-SecureString. @@ -4571,11 +4571,11 @@ PS C:\> Set-AzureKeyVaultSecret -VaultName "Contoso" -Name "ITSecret" -Secret http://go.microsoft.com/fwlink/?LinkId=521400 - Get-AzureKeyVaultSecret + Get-AzureRMKeyVaultSecret - Remove-AzureKeyVaultSecret + Remove-AzureRMKeyVaultSecret diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCmdletBase.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCmdletBase.cs index b3aedf440e71..55afda094b6b 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCmdletBase.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultCmdletBase.cs @@ -17,10 +17,11 @@ using System; using System.IO; using System.Net.Http; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.KeyVault.Models { - public class KeyVaultCmdletBase : AzurePSCmdlet + public class KeyVaultCmdletBase : AzureRMCmdlet { public KeyVaultCmdletBase() { @@ -34,7 +35,7 @@ internal IKeyVaultDataServiceClient DataServiceClient { this.dataServiceClient = new KeyVaultDataServiceClient( AzureSession.AuthenticationFactory, - Profile.Context, + DefaultContext, new HttpClient()); } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultManagementCmdletBase.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultManagementCmdletBase.cs index fbbb031731df..872c8c0d64b2 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultManagementCmdletBase.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Models/KeyVaultManagementCmdletBase.cs @@ -16,6 +16,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.Azure.Commands.Resources.Models.ActiveDirectory; using Microsoft.Azure.Commands.Tags.Model; using Microsoft.Azure.Common.Authentication.Models; @@ -29,7 +30,7 @@ namespace Microsoft.Azure.Commands.KeyVault { - public class KeyVaultManagementCmdletBase : AzurePSCmdlet + public class KeyVaultManagementCmdletBase : AzureRMCmdlet { public KeyVaultManagementCmdletBase() { @@ -43,7 +44,7 @@ public PSKeyVaultModels.VaultManagementClient KeyVaultManagementClient { if (this._keyVaultManagementClient == null) { - this._keyVaultManagementClient = new PSKeyVaultModels.VaultManagementClient(Profile.Context); + this._keyVaultManagementClient = new PSKeyVaultModels.VaultManagementClient(DefaultContext); } return this._keyVaultManagementClient; } @@ -59,7 +60,7 @@ public ActiveDirectoryClient ActiveDirectoryClient { if (_activeDirectoryClient == null) { - _activeDirectoryClient = new ActiveDirectoryClient(Profile.Context); + _activeDirectoryClient = new ActiveDirectoryClient(DefaultContext); } return this._activeDirectoryClient; } @@ -72,7 +73,7 @@ public PSResourceManagerModels.ResourcesClient ResourcesClient { get { - this._resourcesClient = new PSResourceManagerModels.ResourcesClient(this.Profile) + this._resourcesClient = new PSResourceManagerModels.ResourcesClient(DefaultContext) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp, @@ -158,41 +159,34 @@ protected bool VaultExistsInCurrentSubscription(string name) protected Guid GetTenantId() { - var tenantIdStr = - Profile.Context.Subscription.GetPropertyAsArray(AzureSubscription.Property.Tenants).FirstOrDefault(); - var tenantIdGuid = Guid.Empty; - - if (string.IsNullOrWhiteSpace(tenantIdStr) || !Guid.TryParse(tenantIdStr, out tenantIdGuid)) + if (DefaultContext.Tenant == null || DefaultContext.Tenant.Id == Guid.Empty) { throw new InvalidOperationException(PSKeyVaultProperties.Resources.InvalidAzureEnvironment); } - return tenantIdGuid; + return DefaultContext.Tenant.Id; } protected Guid GetCurrentUsersObjectId() { - if (Profile.Context.Subscription == null) - throw new InvalidOperationException(Microsoft.WindowsAzure.Commands.Common.Properties.Resources.InvalidSelectedSubscription); + if (DefaultContext.Subscription == null) + throw new InvalidOperationException(PSKeyVaultProperties.Resources.InvalidSelectedSubscription); - if (string.IsNullOrWhiteSpace(Profile.Context.Subscription.Account)) + if (DefaultContext.Account == null) throw new InvalidOperationException(PSKeyVaultProperties.Resources.NoDefaultUserAccount); - var account = Profile.Accounts.Values.Where(a => a.Id == Profile.Context.Subscription.Account && a.Type == AzureAccount.AccountType.User).FirstOrDefault(); - if (account == null) - throw new InvalidOperationException(PSKeyVaultProperties.Resources.NoDefaultUserAccount); try { return GetObjectId( - upn: Profile.Context.Subscription.Account, + upn: DefaultContext.Account.Id, objectId: Guid.Empty, spn: null ); } catch { - throw new InvalidOperationException(string.Format(PSKeyVaultProperties.Resources.ADObjectNotFound, Profile.Context.Subscription.Account, ActiveDirectoryClient.GraphClient.TenantID)); + throw new InvalidOperationException(string.Format(PSKeyVaultProperties.Resources.ADObjectNotFound, DefaultContext.Subscription.Account, ActiveDirectoryClient.GraphClient.TenantID)); } } diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.Designer.cs b/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.Designer.cs index ceb259a19a5c..a164b87ea3c7 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.Designer.cs +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34209 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -61,7 +61,7 @@ internal Resources() { } /// - /// Looks up a localized string similar to Cannot find the Active Directory object '{0}' in tenant '{1}'. Please make sure that the user or application service principal you are authorizing is registered in the current subscription's Azure Active directory. The TenantID displayed by the cmdlet 'get-AzureSubscription -current' is the current subscription's Azure Active directory.. + /// Looks up a localized string similar to Cannot find the Active Directory object '{0}' in tenant '{1}'. Please make sure that the user or application service principal you are authorizing is registered in the current subscription's Azure Active directory. The TenantID displayed by the cmdlet 'get-AzureRMSubscription -current' is the current subscription's Azure Active directory.. /// internal static string ADObjectNotFound { get { @@ -124,7 +124,7 @@ internal static string InvalidAzureEnvironment { } /// - /// Looks up a localized string similar to No current subscription has been designated. Use Select-AzureSubscription -Current <subscriptionName> to set the current subscription.. + /// Looks up a localized string similar to No current subscription has been designated. Use Select-AzureRMSubscription -Current <subscriptionName> to set the current subscription.. /// internal static string InvalidCurrentSubscription { get { @@ -232,7 +232,16 @@ internal static string InvalidSecretUri { } /// - /// Looks up a localized string similar to Your Azure credentials have not been set up or have expired, please run Add-AzureAccount to set up your Azure credentials.. + /// Looks up a localized string similar to No subscription is currently selected. Use Select-Subscription to activate a subscription.. + /// + internal static string InvalidSelectedSubscription { + get { + return ResourceManager.GetString("InvalidSelectedSubscription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your Azure credentials have not been set up or have expired, please run Add-AzureRMAccount to set up your Azure credentials.. /// internal static string InvalidSubscriptionState { get { diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.resx b/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.resx index ed4393a3f7b1..b8968f524d1a 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.resx +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/Properties/Resources.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Cannot find the Active Directory object '{0}' in tenant '{1}'. Please make sure that the user or application service principal you are authorizing is registered in the current subscription's Azure Active directory. The TenantID displayed by the cmdlet 'get-AzureSubscription -current' is the current subscription's Azure Active directory. + Cannot find the Active Directory object '{0}' in tenant '{1}'. Please make sure that the user or application service principal you are authorizing is registered in the current subscription's Azure Active directory. The TenantID displayed by the cmdlet 'get-AzureRMSubscription -current' is the current subscription's Azure Active directory. The backup key file '{0}' already exists. @@ -139,7 +139,7 @@ Invalid AzureEnvironment. - No current subscription has been designated. Use Select-AzureSubscription -Current <subscriptionName> to set the current subscription. + No current subscription has been designated. Use Select-AzureRMSubscription -Current <subscriptionName> to set the current subscription. Invalid key attributes @@ -174,8 +174,11 @@ Invalid secret uri '{0}'. + + No subscription is currently selected. Use Select-Subscription to activate a subscription. + - Your Azure credentials have not been set up or have expired, please run Add-AzureAccount to set up your Azure credentials. + Your Azure credentials have not been set up or have expired, please run Add-AzureRMAccount to set up your Azure credentials. Invalid tag format. Expect @{Name = "tagName"} or @{Name = "tagName"; Value = "tagValue"} diff --git a/src/ResourceManager/KeyVault/Commands.KeyVault/packages.config b/src/ResourceManager/KeyVault/Commands.KeyVault/packages.config index 718631a5f1f6..1092909f33a5 100644 --- a/src/ResourceManager/KeyVault/Commands.KeyVault/packages.config +++ b/src/ResourceManager/KeyVault/Commands.KeyVault/packages.config @@ -2,11 +2,11 @@ - + - + diff --git a/src/ResourceManager/Network/AzureRM.Network.psd1 b/src/ResourceManager/Network/AzureRM.Network.psd1 new file mode 100644 index 000000000000..4ceb711172c5 --- /dev/null +++ b/src/ResourceManager/Network/AzureRM.Network.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Network' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'eb75c732-e274-4a20-b502-e9958e63484a' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Network' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Network.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Network.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 2a9b44169db3..b0338fdcfc9f 100644 --- a/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj +++ b/src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,6 +15,7 @@ ..\..\..\ true + c796be6d true @@ -49,8 +50,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -62,23 +63,22 @@ False ..\..\..\packages\Microsoft.Azure.Graph.RBAC.1.7.0-preview\lib\net40\Microsoft.Azure.Graph.RBAC.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll - ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.9-preview\lib\net40\Microsoft.Azure.Management.Network.dll - True + False + ..\..\..\packages\Microsoft.Azure.Management.Network.2.0.10-preview\lib\net40\Microsoft.Azure.Management.Network.dll False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -136,12 +136,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -323,17 +323,13 @@ {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -347,10 +343,6 @@ - - - - xcopy "$(SolutionDir)Package\$(ConfigurationName)\*.*" $(TargetDir) /Y /E @@ -358,7 +350,7 @@ 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}. - + - - 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-AzureRMApplicationGatewayBackendAddressPool + + Adds a back-end address pool to an application gateway. + + + + + Add + AzureApplicationGatewayBackendAddressPool + + + + The Add-AzureRMApplicationGatewayBackendAddressPool 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGateway -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-AzureRMNetworkInterface -Name "Nic01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Nic02 = Get-AzureRMNetworkInterface -Name "Nic02" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool + + + + New-AzureRMApplicationGatewayBackendAddressPool + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + + + Set-AzureRMApplicationGatewayBackendAddressPool + + + + + + + Add-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + + Add + AzureApplicationGatewayBackendHttpSettings + + + + Adds back-end HTTP settings to an application gateway. + + + + Add-AzureRMApplicationGatewayBackendHttpSettings + + 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-AzureRMApplicationGatewayBackendHttpSettings 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-AzureRMApplicationGatewayBackendHttpSettings 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $appgw = Add-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGatewayBackendHttpSettings + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + + + Set-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + Add-AzureRMApplicationGatewayFrontendIPConfig + + Adds a front-end IP configuration to an application gateway. + + + + + Add + AzureApplicationGatewayFrontendIPConfig + + + + The Add-AzureRMApplicationGatewayFrontendIPConfig 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMPublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIp01" -location "West US" -AllocationMethod Dynamic +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGatewayFrontendIPConfig + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + + + Set-AzureRMApplicationGatewayFrontendIPConfig + + + + + + + Add-AzureRMApplicationGatewayFrontendPort + + Adds a front-end port to an application gateway. + + + + + Add + AzureApplicationGatewayFrontendPort + + + + The Add-AzureRMApplicationGatewayFrontendPort cmdlet adds a front-end port to an application gateway. + + + + Add-AzureRMApplicationGatewayFrontendPort + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $appgw = Add-AzureRMApplicationGatewayFrontendPort -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-AzureRMApplicationGatewayFrontendPort + + + + New-AzureRMApplicationGatewayFrontendPort + + + + Remove-AzureRMApplicationGatewayFrontendPort + + + + Set-AzureRMApplicationGatewayFrontendPort + + + + + + + Add-AzureRMApplicationGatewayHttpListener + + Adds an HTTP listener to an application gateway. + + + + + Add + AzureApplicationGatewayHttpListener + + + + The Add-AzureRMApplicationGatewayHttpListener cmdlet adds a HTTP listener to an application gateway. + + + + Add-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Appgw = Add-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGatewayHttpListener + + + + New-AzureRMApplicationGatewayHttpListener + + + + Remove-AzureRMApplicationGatewayHttpListener + + + + Set-AzureRMApplicationGatewayHttpListener + + + + + + + Add-AzureRMApplicationGatewayIPConfiguration + + Adds an IP configuration to an application gateway. + + + + + Add + AzureApplicationGatewayIPConfiguration + + + + The Add-AzureRMApplicationGatewayIPConfiguration cmdlet adds an IP configuration to an application gateway. IP configurations contain the subnet in which the application gateway is deployed. + + + + Add-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMVirtualNetwork -Name "Vnet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $Vnet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Add-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGatewayIPConfiguration + + + + New-AzureRMApplicationGatewayIPConfiguration + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + + + Set-AzureRMApplicationGatewayIPConfiguration + + + + + + + Add-AzureRMApplicationGatewayRequestRoutingRule + + Adds a request routing rule to an application gateway. + + + + + Add + AzureApplicationGatewayRequestRoutingRule + + + + The Add-AzureRMApplicationGatewayRequestRoutingRule cmdlet adds a request routing rule to an application gateway. + + + + Add-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGateway -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-AzureRMApplicationGatewayRequestRoutingRule + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + + + + + + Add-AzureRMApplicationGatewaySslCertificate + + Adds an SSL certificate to an application gateway. + + + + + Add + AzureApplicationGatewaySslCertificate + + + + The Add-AzureRMApplicationGatewaySslCertificate cmdlet adds an SSL certificate to an application gateway. + + + + Add-AzureRMApplicationGatewaySslCertificate + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGW = Add-AzureRMApplicationGatewaySslCertificate -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-AzureRMApplicationGatewaySslCertificate + + + + New-AzureRMApplicationGatewaySslCertificate + + + + Remove-AzureRMApplicationGatewaySslCertificate + + + + Set-AzureRMApplicationGatewaySslCertificate + + + + + + + Add-AzureRMLoadBalancerBackendAddressPoolConfig + + Adds a backend address pool configuration to a load balancer. + + + + + Add + AzureLoadBalancerBackendAddressPoolConfig + + + + The Add-AzureRMLoadBalancerBackend cmdlet adds a backend address pool to an Azure load balancer. + + + + Add-AzureRMLoadBalancerBackendAddressPoolConfig + + 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-AzureRMLoadBalancer -Name "MyLoadBalancer" -ResourceGroupName "myrg" | Add-AzureRMLoadBalancerBackendAddressPoolConfig -Name "BackendAddressPool02" | Set-AzureRMLoadBalancer + + + This command gets the load balancer named MyLoadBalancer, adds the backend address pool named BackendAddressPool02 to MyLoadBalancer, and then uses the Set-AzureRMLoadBalancer cmdlet to update MyLoadBalancer. + + + + + + + + + + + + + Get-AzureRMLoadBalancer + + + + Get-AzureRMNetworkInterface + + + + Get-AzureRMLoadBalancerBackendAddressPoolConfig + + + + New-AzureRMLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureRMLoadBalancerBackendAddressPoolConfig + + + + + + + Add-AzureRMLoadBalancerFrontendIpConfig + + Adds a front-end IP configuration to a load balancer. + + + + + Add + AzureLoadBalancerFrontendIpConfig + + + + The Add-AzureRMLoadBalancerFrontendIpConifg cmdlet adds a front-end IP configuration to an Azure load balancer. + + + + Add-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureRMVirtualNetworkSubnetConfig -Name "mysubnet" +PS C:\> Get-AzureRMLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureRMLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $Subnet | Set-AzureRMLoadBalancer + + + 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-AzureRMVirtualNetwork -Name "myVnet" -ResourceGroupName "myRg" | Get-AzureRMVirtualNetworkSubnetConfig -Name "mysubnet" +PS C:\> Get-AzureRMLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureRMLoadBalancerFrontendIpConfig -Name "frontendName" -Subnet $Subnet -PrivateIpAddress "10.0.1.6" | Set-AzureRMLoadBalancer + + + 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-AzureRMPublicIpAddress -ResourceGroupName "myRG" -Name "myPub" +PS C:\> Get-AzureRMLoadBalancer -Name "myLB" -ResourceGroupName "NrpTest" | Add-AzureRMLoadBalancerFrontendIpConfig -Name "frontendName" -PublicIpAddress $PublicIp | Set-AzureRMLoadBalancer + + + This command adds a front-end IP configuration to the load balancer with a public IP address. + + + + + + + + + + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + + + Get-AzureRMVirtualNetwork + + + + Get-AzureRMVirtualNetworkSubnetConfig + + + + New-AzureRMLoadBalancerFrontendIpConfig + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + + + + + + Add-AzureRMLoadBalancerInboundNatRuleConfig + + Adds an inbound NAT rule configuration to a load balancer. + + + + + Add + AzureLoadBalancerInboundNatRuleConfig + + + + The Add-AzureRMLoadBalancerInboundNatRuleConfig cmdlet adds an inbound network address translation (NAT) rule configuration to an Azure load balancer. + + + + Add-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancer -Name "myLb" -ResourceGroupName "myRg" +PS C:\> $Lb | Add-AzureRMLoadBalancerInboundNatRuleConfig -Name "natRule" -FrontendIPConfiguration$lb.Properties.FrontendIPConfigurations[0] -BackendIpConfiguration $Nic.Properties.IpConfigurations[0] -Protocol "Tcp" -FrontendPort 3350 -BackendPort 3350 -IdleTimeoutInSeconds 17 -EnableFloatingIP | Set-AzureRMLoadBalancer + + + 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-AzureRMLoadBalancer cmdlet to update the load balancer. + + + + + + + + + + + + + Get-AzureRMLoadBalancer + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + + + Set-AzureRMLoadBalancer + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + + + + + + Add-AzureRMLoadBalancerProbeConfig + + Adds a probe configuration to a load balancer. + + + + + Add + AzureLoadBalancerProbeConfig + + + + The Add-AzureRMLoadBalancerProbeConfig cmdlet adds a probe configuration to an Azure load balancer. + + + + Add-AzureRMLoadBalancerProbeConfig + + 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-AzureRMLoadBalancer -Name "myLb" -ResourceGroupName "myRg" | Add-AzureRMLoadBalancerProbeConfig -Name "probeName" -RequestPath healthcheck2.aspx -Protocol http -Port 81 -IntervalInSeconds 16 -ProbeCount 3 | Set-AzureRMLoadBalancer + + + This command gets the load balancer named myLb, adds the specified probe configuration to it, and then uses the Set-AzureRMLoadBalancer cmdlet to update the load balancer. + + + + + + + + + + + + + Get-AzureRMLoadBalancerProbeConfig + + + + New-AzureRMLoadBalancerProbeConfig + + + + Remove-AzureRMLoadBalancerProbeConfig + + + + Set-AzureRMLoadBalancer + + + + Set-AzureRMLoadBalancerProbeConfig + + + + + + + Add-AzureRMLoadBalancerRuleConfig + + Adds a rule configuration to a load balancer. + + + + + Add + AzureLoadBalancerRuleConfig + + + + The Add-AzureRMLoadBalancerRuleConfig cmdlet adds a rule configuration to an Azure load balancer. + + + + Add-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancer -Name "MyLoadBalancer" -ResourceGroupName "MyResourceGroup" +PS C:\> $LoadBalancer | Add-AzureRMLoadBalancerRuleConfig -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-AzureRMLoadBalancer + + + 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-AzureRMLoadBalancerRuleConfig cmdlet to update the rule configuration for $LoadBalancer. + + + + + + + + + + + + + Get-AzureRMLoadBalancerRuleConfig + + + + New-AzureRMLoadBalancerRuleConfig + + + + Remove-AzureRMLoadBalancerRuleConfig + + + + Set-AzureRMLoadBalancerRuleConfig + + + + + + + Add-AzureRMNetworkSecurityRuleConfig + + Adds a network security rule configuration to a network security group. + + + + + Add + AzureNetworkSecurityRuleConfig + + + + The Add-AzureRMNetworkSecurityRuleConfig cmdlet adds a network security rule configuration to an Azure network security group. + + + + Add-AzureRMNetworkSecurityRuleConfig + + 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-AzureRMNetworkSecurityRuleConfig + + + + New-AzureRMNetworkSecurityRuleConfig + + + + Remove-AzureRMNetworkSecurityRuleConfig + + + + Set-AzureRMNetworkSecurityRuleConfig + + + + + + + Add-AzureRMRouteConfig + + Adds a route to a route table. + + + + + Add + AzureRouteConfig + + + + The Add-AzureRMRouteConfig cmdlet adds a route to an Azure route table. + + + + Add-AzureRMRouteConfig + + 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" +PS C:\> Add-AzureRMRouteConfig -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-AzureRMRouteTable 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Add-AzureRMRouteConfig -Name "route02" -AddressPrefix 10.2.0.0/16 -NextHopType VnetLocal | Set-AzureRMRouteTable +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-AzureRMRouteTable. 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-AzureRMRouteTable cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Get-AzureRMRouteConfig + + + + Get-AzureRMRouteTable + + + + New-AzureRMRouteConfig + + + + Remove-AzureRMRouteConfig + + + + Set-AzureRMRouteConfig + + + + Set-AzureRMRouteTable + + + + + + + Add-AzureRMVirtualNetworkSubnetConfig + + Adds a subnet configuration to a virtual network. + + + + + Add + AzureVirtualNetworkSubnetConfig + + + + The Add-AzureRMVirtualNetworkSubnetConfig cmdlet adds a subnet configuration to an existing Azure virtual network. + + + + Add-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + + + New-AzureRMVirtualNetworkSubnetConfig + + + + Remove-AzureRMVirtualNetworkSubnetConfig + + + + Set-AzureRMVirtualNetworkSubnetConfig + + + + + + + Get-AzureRMApplicationGatewayBackendAddressPool + + Gets a back-end address pool for an application gateway. + + + + + Get + AzureApplicationGatewayBackendAddressPool + + + + + + + Get-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool cmdlet gets a back-end address pool for an application gateway. + + PSApplicationGateway + + + + + + ApplicationGateway + + The Get-AzureRMApplicationGatewayBackendAddressPool 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $BackendPool = Get-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $BackendPools = Get-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool + + + + New-AzureRMApplicationGatewayBackendAddressPool + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + + + Set-AzureRMApplicationGatewayBackendAddressPool + + + + + + + Get-AzureRMApplicationGatewayBackendHttpSettings + + Gets the back-end HTTP settings of an application gateway. + + + + + Get + AzureApplicationGatewayBackendHttpSettings + + + + The Get-AzureRMApplicationGatewayBackendHttpSettings cmdlet gets the back-end HTTP settings of an application gateway. + + + + Get-AzureRMApplicationGatewayBackendHttpSettings + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Settings = Get-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $SettingsList = Get-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGatewayBackendHttpSettings + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + + + Set-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + Get-AzureRMApplicationGatewayFrontendIPConfig + + Gets the front-end IP configuration of an application gateway. + + + + + Get + AzureApplicationGatewayFrontendIPConfig + + + + The Get-AzureRMApplicationGatewayFrontendIPConfig cmdlet gets the front-end IP configuration of an application gateway. + + + + Get-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndIP= Get-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndIPs= Get-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGatewayFrontendIPConfig + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + + + Set-AzureRMApplicationGatewayFrontendIPConfig + + + + + + + Get-AzureRMApplicationGatewayFrontendPort + + Gets the front-end port of an application gateway. + + + + + Get + AzureApplicationGatewayFrontendPort + + + + The Get-AzureRMApplicationGatewayFrontendPort cmdlet gets the front-end port of an application gateway. + + + + Get-AzureRMApplicationGatewayFrontendPort + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndPort = Get-AzureRMApplicationGatewayFrontendIPort -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $FrontEndPorts = Get-AzureRMApplicationGatewayFrontendIPort -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-AzureRMApplicationGatewayFrontendPort + + + + New-AzureRMApplicationGatewayFrontendPort + + + + Remove-AzureRMApplicationGatewayFrontendPort + + + + Set-AzureRMApplicationGatewayFrontendPort + + + + + + + Get-AzureRMApplicationGatewayHttpListener + + Gets the HTTP listener of an application gateway. + + + + + Get + AzureApplicationGatewayHttpListener + + + + The Get-AzureRMApplicationGatewayHttpListener cmdlet gets the HTTP listener of an application gateway. + + + + Get-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Listener = Get-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Listeners = Get-AzureRMApplicationGatewayHttpListener -ApplicationGateway $Appgw + + + This command gets a list of HTTP listeners. + + + + + + + + + + + + + Add-AzureRMApplicationGatewayHttpListener + + + + New-AzureRMApplicationGatewayHttpListener + + + + Remove-AzureRMApplicationGatewayHttpListener + + + + Set-AzureRMApplicationGatewayHttpListener + + + + + + + Get-AzureRMApplicationGatewayIPConfiguration + + Gets the IP configuration of an application gateway. + + + + + Get + AzureApplicationGatewayIPConfiguration + + + + The Get-AzureRMApplicationGatewayIPConfiguration cmdlet gets the IP configuration of an application gateway. The IP configuration contains the subnet in which the application gateway is deployed. + + + + Get-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName “ResourceGroup01” +PS C:\> $GatewaySubnet = Get-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $GatewaySubnets = Get-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGatewayIPConfiguration + + + + New-AzureRMApplicationGatewayIPConfiguration + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + + + Set-AzureRMApplicationGatewayIPConfiguration + + + + + + + Get-AzureRMApplicationGatewayRequestRoutingRule + + Gets the request routing rule of an application gateway. + + + + + Get + AzureApplicationGatewayRequestRoutingRule + + + + The Get-AzureRMApplicationGatewayRequestRoutingRule cmdlet gets the request routing rule of an application gateway. + + + + Get-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Rule = Get-AzureRMApplicationGatewayRequestRoutingRule -"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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Rules = Get-AzureRMApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGW + + + This command gets a list of request routing rules. + + + + + + + + + + + + + Add-AzureRMApplicationGatewayRequestRoutingRule + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + + + + + + Get-AzureRMApplicationGatewaySku + + Gets the SKU of an application gateway. + + + + + Get + AzureApplicationGatewaySku + + + + The Get-AzureRMApplicationGatewaySku cmdlet gets the stock keeping unit (SKU) of an application gateway. + + + + Get-AzureRMApplicationGatewaySku + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $SKU = Get-AzureRMApplicationGatewaySku -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-AzureRMApplicationGatewaySku + + + + Set-AzureRMApplicationGatewaySku + + + + + + + Get-AzureRMApplicationGatewaySslCertificate + + Gets an SSL certificate for an application gateway. + + + + + Get + AzureApplicationGatewaySslCertificate + + + + The Get-AzureRMApplicationGatewaySslCertificate cmdlet gets an SSL certificate for an application gateway. + + + + Get-AzureRMApplicationGatewaySslCertificate + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Cert = Get-AzureRMApplicationGatewaySslCertificate -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Certs = Get-AzureRMApplicationGatewaySslCertificate -ApplicationGateway $AppGW + + + This command gets a list of SSL certificates from the application gateway named ApplicationGateway01. + + + + + + + + + + + + + Add-AzureRMApplicationGatewaySslCertificate + + + + New-AzureRMApplicationGatewaySslCertificate + + + + Remove-AzureRMApplicationGatewaySslCertificate + + + + Set-AzureRMApplicationGatewaySslCertificate + + + + + + + Get-AzureRMApplicationGateway + + Gets an application gateway. + + + + + Get + AzureApplicationGateway + + + + The Get-AzureRMApplicationGateway cmdlet gets an application gateway. + + + + Get-AzureRMApplicationGateway + + 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-AzureRMApplicationGateway -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-AzureRMApplicationGateway -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-AzureRMApplicationGateway + + + This command gets a list of all the application gateways in the subscription and stores it in the $AppGwList variable. + + + + + + + + + + + + + Stop-AzureRMApplicationGateway + + + + + + + Get-AzureRMLoadBalancerBackendAddressPoolConfig + + Gets a backend address pool configuration for a load balancer. + + + + + Get + AzureLoadBalancerBackendAddressPoolConfig + + + + The Get-AzureRMLoadBalancerBackendAddressPoolConfig cmdlet gets a single backend address pool or a list of backend address pools within a load balancer. + + + + Get-AzureRMLoadBalancerBackendAddressPoolConfig + + 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-AzureRMLoadBalancerBackendAddressPoolConfig + + + + New-AzureRMLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureRMLoadBalancerBackendAddressPoolConfig + + + + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + Gets a front-end IP configuration in a load balancer. + + + + + Get + AzureLoadBalancerFrontendIpConfig + + + + The Get-AzureRMLoadBalancerFrontendIpConfig cmdlet gets a front-end IP configuration or a list of front-end IP configurations in a load balancer. + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + + + New-AzureRMLoadBalancerFrontendIpConfig + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + + + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + Gets an inbound NAT rule configuration for a load balancer. + + + + + Get + AzureLoadBalancerInboundNatRuleConfig + + + + The Get-AzureRMLoadBalancerInboundNatRuleConfig cmdlet gets one or more inbound network address translation (NAT) rules in an Azure load balancer. + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + + + + + + Get-AzureRMLoadBalancerProbeConfig + + Gets a probe configuration for a load balancer. + + + + + Get + AzureLoadBalancerProbeConfig + + + + The Get-AzureRMLoadBalancerProbeConfig cmdlet gets one or more probe configurations for a load balancer. + + + + Get-AzureRMLoadBalancerProbeConfig + + 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-AzureRMLoadBalancerProbeConfig + + + + New-AzureRMLoadBalancerProbeConfig + + + + Remove-AzureRMLoadBalancerProbeConfig + + + + Set-AzureRMLoadBalancerProbeConfig + + + + + + + Get-AzureRMLoadBalancerRuleConfig + + Gets the rule configuration for a load balancer. + + + + + Get + AzureLoadBalancerRuleConfig + + + + The Get-AzureRMLoadBalancerRuleConfig cmdlet gets one or more rule configurations for a load balancer. + + + + Get-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + + + New-AzureRMLoadBalancerRuleConfig + + + + Remove-AzureRMLoadBalancerRuleConfig + + + + Set-AzureRMLoadBalancerRuleConfig + + + + + + + Get-AzureRMLoadBalancer + + Gets a load balancer. + + + + + Get + AzureLoadBalancer + + + + The Get-AzureRMLoadBalancer cmdlet gets one or more Azure load balancers that are contained in a resource group. + + + + Get-AzureRMLoadBalancer + + 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-AzureRMLoadBalancer + + + + Remove-AzureRMLoadBalancer + + + + Set-AzureRMLoadBalancer + + + + + + + Get-AzureRMLocalNetworkGateway + + + + + + + + Get + AzureLocalNetworkGateway + + + + + + + Get-AzureRMLocalNetworkGateway + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureRMNetworkInterface + + Gets a network interface. + + + + + Get + AzureNetworkInterface + + + + The Get-AzureRMNetworkInterface cmdlet gets an Azure network interface or a list of Azure network interfaces in a resource group. + + + + Get-AzureRMNetworkInterface + + 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-AzureRMNetworkInterface + + + + Remove-AzureRMNetworkInterface + + + + Set-AzureRMNetworkInterface + + + + + + + Get-AzureRMNetworkSecurityGroup + + Gets a network security group. + + + + + Get + AzureNetworkSecurityGroup + + + + The Get-AzureRMNetworkSecurityGroup cmdlet gets an Azure network security group. + + + + Get-AzureRMNetworkSecurityGroup + + 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-AzureRMNetworkSecurityGroup + + + + Remove-AzureRMNetworkSecurityGroup + + + + Set-AzureRMNetworkSecurityGroup + + + + + + + Get-AzureRMNetworkSecurityRuleConfig + + Get a network security rule configuration for a network security group. + + + + + Get + AzureNetworkSecurityRuleConfig + + + + The Get-AzureRMNetworkSecurityRuleConfig cmdlet gets a network security rule configuration for an Azure network security group. + + + + Get-AzureRMNetworkSecurityRuleConfig + + 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-AzureRMNetworkSecurityRuleConfig + + + + New-AzureRMNetworkSecurityRuleConfig + + + + Remove-AzureRMNetworkSecurityRuleConfig + + + + Set-AzureRMNetworkSecurityRuleConfig + + + + + + + Get-AzureRMPublicIpAddress + + Gets a public IP address. + + + + + Get + AzurePublicIpAddress + + + + The Get-AzureRMPublicIPAddress cmdlet gets one or more public IP addresses in a resource group. + + + + Get-AzureRMPublicIpAddress + + 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-AzureRMPublicIpAddress + + + + Remove-AzureRMPublicIpAddress + + + + Set-AzureRMPublicIpAddress + + + + + + + Get-AzureRMRouteConfig + + Gets routes from a route table. + + + + + Get + AzureRouteConfig + + + + The Get-AzureRMRouteConfig cmdlet gets routes from an Azure route table. You can specify a route by name. + + + + Get-AzureRMRouteConfig + + 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Get-AzureRMRouteConfig -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-AzureRMRouteTable 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-AzureRMRouteConfig + + + + Get-AzureRMRouteTable + + + + New-AzureRMRouteConfig + + + + Remove-AzureRMRouteConfig + + + + Set-AzureRMRouteConfig + + + + + + + Get-AzureRMRouteTable + + Gets route tables. + + + + + Get + AzureRouteTable + + + + The Get-AzureRMRouteTable 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-AzureRMRouteTable + + 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-AzureRMRouteTable -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-AzureRMRouteTable + + + + Remove-AzureRMRouteTable + + + + Set-AzureRMRouteTable + + + + + + + Get-AzureRMVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Get + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Get-AzureRMVirtualNetworkGatewayConnectionSharedKey + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureRMVirtualNetworkGatewayConnection + + + + + + + + Get + AzureVirtualNetworkGatewayConnection + + + + + + + Get-AzureRMVirtualNetworkGatewayConnection + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureRMVirtualNetworkGateway + + + + + + + + Get + AzureVirtualNetworkGateway + + + + + + + Get-AzureRMVirtualNetworkGateway + + Name + + + String + + + Profile + + + AzureProfile + + + ResourceGroupName + + + String + + + + + + Name + + + String + + String + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + ResourceGroupName + + + String + + String + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Get-AzureRMVirtualNetworkSubnetConfig + + Gets a subnet in a virtual network. + + + + + Get + AzureVirtualNetworkSubnetConfig + + + + The Get-AzureRMVirtualNetworkSubnetConfig cmdlet gets one or more subnet configurations in an Azure virtual network. + + + + Get-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + + + New-AzureRMVirtualNetworkSubnetConfig + + + + Remove-AzureRMVirtualNetworkSubnetConfig + + + + Set-AzureRMVirtualNetworkSubnetConfig + + + + + + + Get-AzureRMVirtualNetwork + + Gets a virtual network in a resource group. + + + + + Get + AzureVirtualNetwork + + + + The Get-AzureRMVirtualNetwork cmdlet gets one or more virtual networks n a resource group. + + + + Get-AzureRMVirtualNetwork + + 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-AzureRMVirtualNetwork + + + + Remove-AzureRMVirtualNetwork + + + + Set-AzureRMVirtualNetwork + + + + + + + New-AzureRMApplicationGatewayBackendAddressPool + + Creates a back-end address pool for an application gateway. + + + + + New + AzureApplicationGatewayBackendAddressPool + + + + The New-AzureRMApplicationGatewayBackendAddressPool 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool + + + + Get-AzureRMApplicationGatewayBackendAddressPool + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + + + Set-AzureRMApplicationGatewayBackendAddressPool + + + + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + Creates back-end HTTP settings for an application gateway. + + + + + New + AzureApplicationGatewayBackendHttpSettings + + + + The New-AzureRMApplicationGatewayBackendHttpSettings 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-AzureRMApplicationGatewayBackendHttpSettings + + 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-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGatewayBackendHttpSettings + + + + Get-AzureRMApplicationGatewayBackendHttpSettings + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + + + Set-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + Creates a front-end IP configuration for an application gateway. + + + + + New + AzureApplicationGatewayFrontendIPConfig + + + + The New-AzureRMApplicationGatewayFrontendIPConfig 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMPublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIP01" -location "West US" -AllocationMethod Dynamic +PS C:\> $FrontEnd = New-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $FrontEnd = New-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $FrontEnd = New-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGatewayFrontendIPConfig + + + + Get-AzureRMApplicationGatewayFrontendIPConfig + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + + + Set-AzureRMApplicationGatewayFrontendIPConfig + + + + + + + New-AzureRMApplicationGatewayFrontendPort + + Creates a front-end port for an application gateway. + + + + + New + AzureApplicationGatewayFrontendPort + + + + The New-AzureRMApplicationGatewayFrontendPort cmdlet creates a front-end port for an Azure application gateway. + + + + New-AzureRMApplicationGatewayFrontendPort + + 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-AzureRMApplicationGatewayFrontendPort -Name “FrontEndPort01” –Port 80 + + + This command creates a front-end port on port 80 named FrontEndPort01. + + + + + + + + + + + + + Add-AzureRMApplicationGatewayFrontendPort + + + + Get-AzureRMApplicationGatewayFrontendPort + + + + Remove-AzureRMApplicationGatewayFrontendPort + + + + Set-AzureRMApplicationGatewayFrontendPort + + + + + + + New-AzureRMApplicationGatewayHttpListener + + Creates an HTTP listener for an application gateway. + + + + + New + AzureApplicationGatewayHttpListener + + + + The New-AzureRMApplicationGatewayHttpListener cmdlet creates an HTTP listener for an Azure application gateway. + + + + New-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGatewayHttpListener + + + + Get-AzureRMApplicationGatewayHttpListener + + + + Remove-AzureRMApplicationGatewayHttpListener + + + + Set-AzureRMApplicationGatewayHttpListener + + + + + + + New-AzureRMApplicationGatewayIPConfiguration + + Creates an IP configuration for an application gateway. + + + + + New + AzureApplicationGatewayIPConfiguration + + + + The New-AzureRMApplicationGatewayIPConfiguration cmdlet creates an IP configuration for an application gateway. The IP configuration contains the subnet in which application gateway is deployed. + + + + New-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\ $GatewayIpConfig = New-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGatewayIPConfiguration + + + + Get-AzureRMApplicationGatewayIPConfiguration + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + + + Set-AzureRMApplicationGatewayIPConfiguration + + + + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + Creates a request routing rule for an application gateway. + + + + + New + AzureApplicationGatewayRequestRoutingRule + + + + The Add-AzureRMApplicationGatewayRequestRoutingRule cmdlet creates a request routing rule for an Azure application gateway. + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGatewayRequestRoutingRule -Name "Rule01" -RuleType Basic -BackendHttpSettings $Setting -HttpListener $Listener -BackendAddressPool $Pool + + + This command creates a request routing rule. + + + + + + + + + + + + + Add-AzureRMApplicationGatewayRequestRoutingRule + + + + Get-AzureRMApplicationGatewayRequestRoutingRule + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + + + + + + New-AzureRMApplicationGatewaySku + + Creates a SKU for an application gateway. + + + + + New + AzureApplicationGatewaySku + + + + The New-AzureRMApplicationGatewaySku cmdlet creates a stock keeping unit (SKU) for an Azure application gateway. + + + + New-AzureRMApplicationGatewaySku + + 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-AzureRMApplicationGatewaySku -Name "Standard_Small" -Tier "Standard" -Capacity 2 + + + This command creates a SKU named Standard_Small for an Azure application gateway. + + + + + + + + + + + + + Get-AzureRMApplicationGatewaySku + + + + Set-AzureRMApplicationGatewaySku + + + + + + + New-AzureRMApplicationGatewaySslCertificate + + Creates an SSL certificate for an Azure application gateway. + + + + + New + AzureApplicationGatewaySslCertificate + + + + The New-AzureRMApplicationGatewaySslCertificate cmdlet creates an SSL certificate for an Azure application gateway. + + + + New-AzureRMApplicationGatewaySslCertificate + + 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-AzureRMApplicationGatewaySslCertificate -Name "Cert01" –CertificateFile "D:\cert01.pfx" –Password "Password01" + + + This command creates a SSL certificate named Cert01 for the default application gateway. + + + + + + + + + + + + + Add-AzureRMApplicationGatewaySslCertificate + + + + Get-AzureRMApplicationGatewaySslCertificate + + + + Remove-AzureRMApplicationGatewaySslCertificate + + + + Set-AzureRMApplicationGatewaySslCertificate + + + + + + + New-AzureRMApplicationGateway + + Creates an application gateway. + + + + + New + AzureApplicationGateway + + + + The New-AzureRMApplicationGateway 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-AzureRMApplicationGateway + + 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-AzureRMResourceGroup -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-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -AddressPrefix 10.0.0.0/24 +PS C:\> $VNet = New-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $Subnet +PS C:\> $VNet = Get-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -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-AzureRMPublicIpAddress. 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-AzureRMApplicationGatewayIPConfiguration -Name "GatewayIp01" -Subnet $Subnet +PS C:\> $Pool = New-AzureRMApplicationGatewayBackendAddressPool -Name "Pool01" -BackendIPAddresses 10.10.10.1, 10.10.10.2, 10.10.10.3 +PS C:\> $PoolSetting = New-AzureRMApplicationGatewayBackendHttpSettings -Name "PoolSetting01" -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled" +PS C:\> $FrontEndPort = New-AzureRMApplicationGatewayFrontendPort -Name "FrontEndPort01" -Port 80 +# Create a public IP address +PS C:\> $PublicIp = New-AzureRMPublicIpAddress -ResourceGroupName "ResourceGroup01" -Name $PublicIpName -Location "West US" -AllocationMethod "Dynamic" +PS C:\> $FrontEndIpConfig = New-AzureRMApplicationGatewayFrontendIPConfig -Name "FrontEndConfig01" -PublicIPAddress $PublicIp +PS C:\> $Listener = New-AzureRMApplicationGatewayHttpListener -Name $listenerName -Protocol "Http" -FrontendIpConfiguration $FrontEndIpConfig -FrontendPort $ FrontEndPort +PS C:\> $Rule = New-AzureRMApplicationGatewayRequestRoutingRule -Name "Rule01" -RuleType basic -BackendHttpSettings $PoolSetting -HttpListener $Listener -BackendAddressPool $Pool +PS C:\> $Sku = New-AzureRMApplicationGatewaySku -Name "Standard_Small" -Tier Standard -Capacity 2 +PS C:\> $Gateway = New-AzureRMApplicationGateway -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-AzureRMApplicationGatewayBackendAddressPool + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + + + New-AzureRMApplicationGatewayFrontendPort + + + + New-AzureRMApplicationGatewayHttpListener + + + + New-AzureRMApplicationGatewayIPConfiguration + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + + + New-AzureRMApplicationGatewaySku + + + + New-AzureRMVirtualNetwork + + + + New-AzureRMVirtualNetworkSubnetConfig + + + + + + + New-AzureRMLoadBalancerBackendAddressPoolConfig + + Creates a backend address pool configuration for a load balancer. + + + + + New + AzureLoadBalancerBackendAddressPoolConfig + + + + The New-AzureRMLoadBalancerBackendAddressPoolConfig cmdlet creates a backend address pool configuration for an Azure load balancer. + + + + New-AzureRMLoadBalancerBackendAddressPoolConfig + + 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-AzureRMLoadBalancerBackendAddressPoolConfig + + + + Get-AzureRMLoadBalancerBackendAddressPoolConfig + + + + Remove-AzureRMLoadBalancerBackendAddressPoolConfig + + + + + + + New-AzureRMLoadBalancerFrontendIpConfig + + Creates a front-end IP configuration for a load balancer. + + + + + New + AzureLoadBalancerFrontendIpConfig + + + + The New-AzureRMLoadBalancerFrontendIpConfig cmdlet creates a front-end IP configuration for an Azure load balancer. + + + + New-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + + + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + Creates an inbound NAT rule configuration for a load balancer. + + + + + New + AzureLoadBalancerInboundNatRuleConfig + + + + The New-AzureRMLoadBalancerInboundNatRuleConfig cmdlet creates an inbound network address translation (NAT) rule configuration for an Azure load balancer. + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + + + + + + New-AzureRMLoadBalancerProbeConfig + + Creates a probe configuration for a load balancer. + + + + + New + AzureLoadBalancerProbeConfig + + + + The New-AzureRMLoadBalancerProbeConfig cmdlet creates a probe configuration for an Azure load balancer. + + + + New-AzureRMLoadBalancerProbeConfig + + 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-AzureRMLoadBalancerProbeConfig + + + + Get-AzureRMLoadBalancerProbeConfig + + + + Remove-AzureRMLoadBalancerProbeConfig + + + + Set-AzureRMLoadBalancerProbeConfig + + + + + + + New-AzureRMLoadBalancerRuleConfig + + Creates a rule configuration for a load balancer. + + + + + New + AzureLoadBalancerRuleConfig + + + + The New-AzureRMLoadBalancerRuleConfig cmdlet creates a rule configuration for an Azure load balancer. + + + + New-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + + + Get-AzureRMLoadBalancerRuleConfig + + + + Remove-AzureRMLoadBalancerRuleConfig + + + + Set-AzureRMLoadBalancerRuleConfig + + + + + + + New-AzureRMLoadBalancer + + Creates a load balancer. + + + + + New + AzureLoadBalancer + + + + The New-AzureRMLoadBalancer cmdlet creates an Azure load balancer. + + + + New-AzureRMLoadBalancer + + 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-AzureRMLoadBalancer + + + + Remove-AzureRMLoadBalancer + + + + Set-AzureRMLoadBalancer + + + + + + + New-AzureRMLocalNetworkGateway + + + + + + + + New + AzureLocalNetworkGateway + + + + + + + New-AzureRMLocalNetworkGateway + + 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-AzureRMNetworkInterface + + Creates a network interface. + + + + + New + AzureNetworkInterface + + + + The New-AzureRMNetworkInterface cmdlet creates an Azure network interface. + + + + New-AzureRMNetworkInterface + + 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-AzureRMNetworkInterface + + 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-AzureRMNetworkInterface + + + + Remove-AzureRMNetworkInterface + + + + Set-AzureRMNetworkInterface + + + + + + + New-AzureRMNetworkSecurityGroup + + Creates a network security group. + + + + + New + AzureNetworkSecurityGroup + + + + The New-AzureRMNetworkSecurityGroup cmdlet creates an Azure network security group. + + + + New-AzureRMNetworkSecurityGroup + + 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-AzureRMNetworkSecurityGroup + + + + Remove-AzureRMNetworkSecurityGroup + + + + Set-AzureRMNetworkSecurityGroup + + + + + + + New-AzureRMNetworkSecurityRuleConfig + + Creates a network security rule configuration. + + + + + New + AzureNetworkSecurityRuleConfig + + + + The New-AzureRMNetworkSecurityRuleConfig cmdlet creates an Azure network security rule configuration for a network security group. + + + + New-AzureRMNetworkSecurityRuleConfig + + 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-AzureRMNetworkSecurityRuleConfig + + + + Get-AzureRMNetworkSecurityRuleConfig + + + + Remove-AzureRMNetworkSecurityRuleConfig + + + + Set-AzureRMNetworkSecurityRuleConfig + + + + + + + New-AzureRMPublicIpAddress + + Creates a public IP address. + + + + + New + AzurePublicIpAddress + + + + The New-AzureRMPublicIpAddress cmdlet creates a public IP address. + + + + New-AzureRMPublicIpAddress + + 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-AzureRMPublicIpAddress + + + + Remove-AzureRMPublicIpAddress + + + + Set-AzureRMPublicIpAddress + + + + + + + New-AzureRMRouteConfig + + Creates a route for a route table. + + + + + New + AzureRouteConfig + + + + The New-AzureRMRouteConfig cmdlet creates a route for an Azure route table. + + + + New-AzureRMRouteConfig + + 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-AzureRMRouteConfig -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-AzureRMRouteConfig + + + + Get-AzureRMRouteConfig + + + + Remove-AzureRMRouteConfig + + + + Set-AzureRMRouteConfig + + + + + + + New-AzureRMRouteTable + + Creates a route table. + + + + + New + AzureRouteTable + + + + The New-AzureRMRouteTable cmdlet creates an Azure route table. + + + + New-AzureRMRouteTable + + 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-AzureRMRouteConfig -Name "route07" -AddressPrefix 10.1.0.0/16 -NextHopType VnetLocal +PS C:\> New-AzureRMRouteTable -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-AzureRMRouteConfig 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-AzureRMRouteTable + + + + New-AzureRMRouteConfig + + + + Remove-AzureRMRouteTable + + + + Set-AzureRMRouteTable + + + + + + + New-AzureRMVirtualNetworkGatewayConnection + + + + + + + + New + AzureVirtualNetworkGatewayConnection + + + + + + + New-AzureRMVirtualNetworkGatewayConnection + + 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-AzureRMVirtualNetworkGatewayIpConfig + + + + + + + + New + AzureVirtualNetworkGatewayIpConfig + + + + + + + New-AzureRMVirtualNetworkGatewayIpConfig + + PrivateIpAddress + + + String + + + Profile + + + AzureProfile + + + PublicIpAddressId + + + String + + + SubnetId + + + String + + + Name + + + String + + + + New-AzureRMVirtualNetworkGatewayIpConfig + + 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-AzureRMVirtualNetworkGateway + + + + + + + + New + AzureVirtualNetworkGateway + + + + + + + New-AzureRMVirtualNetworkGateway + + 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-AzureRMVirtualNetworkSubnetConfig + + Creates a virtual network subnet configuration. + + + + + New + AzureVirtualNetworkSubnetConfig + + + + The New-AzureRMVirtualNetworkSubnetConfig cmdlet creates a virtual network subnet configuration. + + + + New-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + + + Get-AzureRMVirtualNetworkSubnetConfig + + + + Remove-AzureRMVirtualNetworkSubnetConfig + + + + Set-AzureRMVirtualNetworkSubnetConfig + + + + + + + New-AzureRMVirtualNetwork + + Creates a virtual network. + + + + + New + AzureVirtualNetwork + + + + The New-AzureRMVirtualNetwork cmdlet creates an Azure virtual network. + + + + New-AzureRMVirtualNetwork + + 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-AzureRMVirtualNetwork + + + + Remove-AzureRMVirtualNetwork + + + + Set-AzureRMVirtualNetwork + + + + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + Removes a back-end address pool from an application gateway. + + + + + Remove + AzureApplicationGatewayBackendAddressPool + + + + The Remove-AzureRMApplicationGatewayBackendAddressPool cmdlet removes a back-end address pool from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool + + + + Get-AzureRMApplicationGatewayBackendAddressPool + + + + New-AzureRMApplicationGatewayBackendAddressPool + + + + Set-AzureRMApplicationGatewayBackendAddressPool + + + + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + Removes back-end HTTP settings from an application gateway. + + + + + Remove + AzureApplicationGatewayBackendHttpSettings + + + + The Remove-AzureRMApplicationGatewayBackendHttpSettings cmdlet removes back-end Hypertext Transfer Protocol (HTTP) settings from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGatewayBackendHttpSettings + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + + + Get-AzureRMApplicationGatewayBackendHttpSettings + + + + Set-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + Removes a front-end IP configuration from an application gateway. + + + + + Remove + AzureApplicationGatewayFrontendIPConfig + + + + The Remove-AzureRMApplicationGatewayFrontendIPConfig cmdlet removes frontend IP from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGatewayFrontendIPConfig + + + + Get-AzureRMApplicationGatewayFrontendIPConfig + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + + + Set-AzureRMApplicationGatewayFrontendIPConfig + + + + + + + Remove-AzureRMApplicationGatewayFrontendPort + + Removes a front-end port from an application gateway. + + + + + Remove + AzureApplicationGatewayFrontendPort + + + + The Remove-AzureRMApplicationGatewayFrontendPort cmdlet removes a front-end port from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayFrontendPort + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayFrontendPort -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-AzureRMApplicationGatewayFrontendPort + + + + Get-AzureRMApplicationGatewayFrontendPort + + + + New-AzureRMApplicationGatewayFrontendPort + + + + Set-AzureRMApplicationGatewayFrontendPort + + + + + + + Remove-AzureRMApplicationGatewayHttpListener + + Removes an HTTP listener from an application gateway. + + + + + Remove + AzureApplicationGatewayHttpListener + + + + The Remove-AzureRMApplicationGatewayHttpListener cmdlet removes an HTTP listener from an Azureapplication gateway. + + + + Remove-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGatewayHttpListener + + + + Get-AzureRMApplicationGatewayHttpListener + + + + New-AzureRMApplicationGatewayHttpListener + + + + Set-AzureRMApplicationGatewayHttpListener + + + + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + Removes an IP configuration from an application gateway. + + + + + Remove + AzureApplicationGatewayIPConfiguration + + + + The Remove-AzureRMApplicationGatewayIPConfiguration cmdlet removes an IP configuration from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGatewayIPConfiguration + + + + Get-AzureRMApplicationGatewayIPConfiguration + + + + New-AzureRMApplicationGatewayIPConfiguration + + + + Set-AzureRMApplicationGatewayIPConfiguration + + + + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + Removes a request routing rule from an application gateway. + + + + + Remove + AzureApplicationGatewayRequestRoutingRule + + + + The Remove-AzureRMApplicationGatewayRequestRoutingRule cmdlet removes a request routing rule from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewayRequestRoutingRule -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-AzureRMApplicationGatewayRequestRoutingRule + + + + Get-AzureRMApplicationGatewayRequestRoutingRule + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + + + + + + Remove-AzureRMApplicationGatewaySslCertificate + + Removes an SSL certificate from an Azure application gateway. + + + + + Remove + AzureApplicationGatewaySslCertificate + + + + The Remove-AzureRMApplicationGatewaySslCertificate cmdlet removes a Secure Sockets Layer (SSL) certificate from an Azure application gateway. + + + + Remove-AzureRMApplicationGatewaySslCertificate + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> Remove-AzureRMApplicationGatewaySslCertificate -ApplicationGateway $AppGW -Name "Cert02" + + + This command removes the SSL certificate named Cert02 from the application gateway named ApplicationGateway01. + + + + + + + + + + + + + Add-AzureRMApplicationGatewaySslCertificate + + + + Get-AzureRMApplicationGatewaySslCertificate + + + + New-AzureRMApplicationGatewaySslCertificate + + + + Set-AzureRMApplicationGatewaySslCertificate + + + + + + + Remove-AzureRMApplicationGateway + + Removes an application gateway. + + + + + Remove + AzureApplicationGateway + + + + The Remove-AzureRMApplicationGateway cmdlet removes an application gateway. + + + + Remove-AzureRMApplicationGateway + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" + + + This command removes the application gateway named ApplicationGateway01 in the resource group named ResourceGroup01. + + + + + + + + + + + + + Set-AzureRMApplicationGateway + + + + + + + Remove-AzureRMLoadBalancerBackendAddressPoolConfig + + Removes a backend address pool configuration from a load balancer. + + + + + Remove + AzureLoadBalancerBackendAddressPoolConfig + + + + The Remove-AzureRMLoadBalancerBackendAddressPoolConfig cmdlet removes a backend address pool from a load balancer. + + + + Remove-AzureRMLoadBalancerBackendAddressPoolConfig + + 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-AzureRMLoadBalancerBackendAddressPoolConfig + + + + Get-AzureRMLoadBalancerBackendAddressPoolConfig + + + + New-AzureRMLoadBalancerBackendAddressPoolConfig + + + + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + Removes a front-end IP configuration from a load balancer. + + + + + Remove + AzureLoadBalancerFrontendIpConfig + + + + The Remove-AzureRMLoadBalancerFrontendIpConfig cmdlet removes a front-end IP configuration from an Azure load balancer. + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + + + New-AzureRMLoadBalancerFrontendIpConfig + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + + + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + Removes an inbound NAT rule configuration from a load balancer. + + + + + Remove + AzureLoadBalancerInboundNatRuleConfig + + + + The Remove-AzureRMLoadBalancerInboundNatRuleConfig cmdlet removes an inbound network address translation (NAT) rule configuration from an Azure load balancer. + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + + + + + + Remove-AzureRMLoadBalancerProbeConfig + + Removes a probe configuration from a load balancer. + + + + + Remove + AzureLoadBalancerProbeConfig + + + + The Remove-AzureRMLoadBalancerProbeConfig cmdlet removes a probe configuration from a load balancer. + + + + Remove-AzureRMLoadBalancerProbeConfig + + 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-AzureRMLoadBalancerProbeConfig + + + + Get-AzureRMLoadBalancerProbeConfig + + + + New-AzureRMLoadBalancerProbeConfig + + + + Set-AzureRMLoadBalancerProbeConfig + + + + + + + Remove-AzureRMLoadBalancerRuleConfig + + Removes a rule configuration for a load balancer. + + + + + Remove + AzureLoadBalancerRuleConfig + + + + The Remove-AzureRMLoadBalancerRuleConfig cmdlet removes a rule configuration for an Azure load balancer. + + + + Remove-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + + + Get-AzureRMLoadBalancerRuleConfig + + + + New-AzureRMLoadBalancerRuleConfig + + + + Set-AzureRMLoadBalancerRuleConfig + + + + + + + Remove-AzureRMLoadBalancer + + Removes a load balancer. + + + + + Remove + AzureLoadBalancer + + + + The Remove-AzureRMLoadBalancer cmdlet removes an Azure load balancer. + + + + Remove-AzureRMLoadBalancer + + 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-AzureRMLoadBalancer + + + + New-AzureRMLoadBalancer + + + + Set-AzureRMLoadBalancer + + + + + + + Remove-AzureRMLocalNetworkGateway + + + + + + + + Remove + AzureLocalNetworkGateway + + + + + + + Remove-AzureRMLocalNetworkGateway + + 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-AzureRMNetworkInterface + + Removes a network interface. + + + + + Remove + AzureNetworkInterface + + + + The Remove-AzureRMNetworkInterface cmdlet removes an Azure network interface. + + + + Remove-AzureRMNetworkInterface + + 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-AzureRMNetworkInterface + + + + New-AzureRMNetworkInterface + + + + Set-AzureRMNetworkInterface + + + + + + + Remove-AzureRMNetworkSecurityGroup + + Removes a network security group. + + + + + Remove + AzureNetworkSecurityGroup + + + + The Remove-AzureRMNetworkSecurityGroup cmdlet removes an Azure network security group. + + + + Remove-AzureRMNetworkSecurityGroup + + 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-AzureRMNetworkSecurityGroup + + + + New-AzureRMNetworkSecurityGroup + + + + Set-AzureRMNetworkSecurityGroup + + + + + + + Remove-AzureRMNetworkSecurityRuleConfig + + Removes a network security rule from a network security group. + + + + + Remove + AzureNetworkSecurityRuleConfig + + + + The Remove-AzureRMNetworkSecurityRuleConfig cmdlet removes a network security rule configuration from an Azure network security group. + + + + Remove-AzureRMNetworkSecurityRuleConfig + + 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-AzureRMNetworkSecurityRuleConfig + + + + Get-AzureRMNetworkSecurityRuleConfig + + + + New-AzureRMNetworkSecurityRuleConfig + + + + Set-AzureRMNetworkSecurityRuleConfig + + + + + + + Remove-AzureRMPublicIpAddress + + Removes a public IP address. + + + + + Remove + AzurePublicIpAddress + + + + The Remove-AzureRMPublicIpAddress cmdlet removes an Azure public IP address. + + + + Remove-AzureRMPublicIpAddress + + 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-AzureRMPublicIpAddress + + + + New-AzureRMPublicIpAddress + + + + Set-AzureRMPublicIpAddress + + + + + + + Remove-AzureRMRouteConfig + + Removes a route from a route table. + + + + + Remove + AzureRouteConfig + + + + The Remove-AzureRMRouteConfig cmdlet removes a route from an Azure route table. + + + + Remove-AzureRMRouteConfig + + 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Remove-AzureRMRouteConfig -Name "route02" | Set-AzureRMRouteTable +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-AzureRMRouteTable 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-AzureRMRouteTable cmdlet, which updates the table to reflect your changes. The table no longer contains the route named route02. + + + + + + + + + + + + + Add-AzureRMRouteConfig + + + + Get-AzureRMRouteConfig + + + + New-AzureRMRouteConfig + + + + Set-AzureRMRouteConfig + + + + + + + Remove-AzureRMRouteTable + + Removes a route table. + + + + + Remove + AzureRouteTable + + + + The Remove-AzureRMRouteTable cmdlet removes an Azure route table. + + + + Remove-AzureRMRouteTable + + 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-AzureRMRouteTable -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-AzureRMRouteTable + + + + New-AzureRMRouteTable + + + + Set-AzureRMRouteTable + + + + + + + Remove-AzureRMVirtualNetworkGatewayConnection + + + + + + + + Remove + AzureVirtualNetworkGatewayConnection + + + + + + + Remove-AzureRMVirtualNetworkGatewayConnection + + 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-AzureRMVirtualNetworkGateway + + + + + + + + Remove + AzureVirtualNetworkGateway + + + + + + + Remove-AzureRMVirtualNetworkGateway + + 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-AzureRMVirtualNetworkSubnetConfig + + Removes a subnet configuration from a virtual network. + + + + + Remove + AzureVirtualNetworkSubnetConfig + + + + The Remove-AzureRMVirtualNetworkSubnetConfig cmdlet removes a subnet from an Azure virtual network. + + + + Remove-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + + + Get-AzureRMVirtualNetworkSubnetConfig + + + + New-AzureRMVirtualNetworkSubnetConfig + + + + Set-AzureRMVirtualNetworkSubnetConfig + + + + + + + Remove-AzureRMVirtualNetwork + + Removes a virtual network. + + + + + Remove + AzureVirtualNetwork + + + + The Remove-AzureRMVirtualNetwork cmdlet removes an Azure virtual network. + + + + Remove-AzureRMVirtualNetwork + + 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-AzureRMVirtualNetwork + + + + New-AzureRMVirtualNetwork + + + + Set-AzureRMVirtualNetwork + + + + + + + Reset-AzureRMVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Reset + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Reset-AzureRMVirtualNetworkGatewayConnectionSharedKey + + 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-AzureRMVirtualNetworkGateway + + + + + + + + Reset + AzureVirtualNetworkGateway + + + + + + + Reset-AzureRMVirtualNetworkGateway + + Profile + + + AzureProfile + + + VirtualNetworkGateway + + + PSVirtualNetworkGateway + + + + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + VirtualNetworkGateway + + + PSVirtualNetworkGateway + + PSVirtualNetworkGateway + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureRMApplicationGatewayBackendAddressPool + + Updates a back-end address pool for an application gateway. + + + + + Set + AzureApplicationGatewayBackendAddressPool + + + + The Set-AzureRMApplicationGatewayBackendAddressPool 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGatewayBackendAddressPool + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMNetworkInterface -Name "Nic01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Nic02 = Get-AzureRMNetworkInterface -Name "Nic02" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayBackendAddressPool -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-AzureRMApplicationGatewayBackendAddressPool + + + + Get-AzureRMApplicationGatewayBackendAddressPool + + + + Get-AzureRMNetworkInterface + + + + New-AzureRMApplicationGatewayBackendAddressPool + + + + Remove-AzureRMApplicationGatewayBackendAddressPool + + + + + + + Set-AzureRMApplicationGatewayBackendHttpSettings + + Updates back-end HTTP settings for an application gateway. + + + + + Set + AzureApplicationGatewayBackendHttpSettings + + + + The Set-AzureRMApplicationGatewayBackendHttpSettings 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-AzureRMApplicationGatewayBackendHttpSettings + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayBackendHttpSettings -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-AzureRMApplicationGatewayBackendHttpSettings + + + + Get-AzureRMApplicationGatewayBackendHttpSettings + + + + New-AzureRMApplicationGatewayBackendHttpSettings + + + + Remove-AzureRMApplicationGatewayBackendHttpSettings + + + + + + + Set-AzureRMApplicationGatewayFrontendIPConfig + + Modifies a front-end IP address configuration. + + + + + Set + AzureApplicationGatewayFrontendIPConfig + + + + The Set-AzureRMApplicationGatewayFrontendIPConfig 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMApplicationGatewayFrontendIPConfig + + 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-AzureRMPublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIp01" -location "West US" -AllocationMethod Dynamic +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayFrontendIPConfig -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-AzureRMApplicationGatewayFrontendIPConfig + + + + Get-AzureRMApplicationGatewayFrontendIPConfig + + + + New-AzureRMApplicationGatewayFrontendIPConfig + + + + Remove-AzureRMApplicationGatewayFrontendIPConfig + + + + + + + Set-AzureRMApplicationGatewayFrontendPort + + Modifies a front-end port for an application gateway. + + + + + Set + AzureApplicationGatewayFrontendPort + + + + The Set-AzureRMApplicationGatewayFrontendPort cmdlet modifies a front-end port for an application gateway. + + + + Set-AzureRMApplicationGatewayFrontendPort + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +C:\> $ AppGw = Set-AzureRMApplicationGatewayFrontendPort -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-AzureRMApplicationGatewayFrontendPort + + + + Get-AzureRMApplicationGatewayFrontendPort + + + + New-AzureRMApplicationGatewayFrontendPort + + + + Remove-AzureRMApplicationGatewayFrontendPort + + + + + + + Set-AzureRMApplicationGatewayHttpListener + + Modifies an HTTP listener for an application gateway. + + + + + Set + AzureApplicationGatewayHttpListener + + + + The Set-AzureRMApplicationGatewayHttpListener cmdlet modifies an HTTP listener for an Azure application gateway. + + + + Set-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGatewayHttpListener + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayHttpListener -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-AzureRMApplicationGatewayHttpListener + + + + Get-AzureRMApplicationGatewayHttpListener + + + + New-AzureRMApplicationGatewayHttpListener + + + + Remove-AzureRMApplicationGatewayHttpListener + + + + + + + Set-AzureRMApplicationGatewayIPConfiguration + + Modifies an IP configuration for an application gateway. + + + + + Set + AzureApplicationGatewayIPConfiguration + + + + The Set-AzureRMApplicationGatewayIPConfiguration cmdlet modifies an IP configuration. An IP configuration contains the subnet in which an application gateway is deployed. + + + + Set-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMApplicationGatewayIPConfiguration + + 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-AzureRMVirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Subnet = Get-AzureRMVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $VNet +PS C:\> $AppGw = Get-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayIPConfiguration -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-AzureRMApplicationGatewayIPConfiguration + + + + Get-AzureRMApplicationGatewayIPConfiguration + + + + New-AzureRMApplicationGatewayIPConfiguration + + + + Remove-AzureRMApplicationGatewayIPConfiguration + + + + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + Modifies a request routing rule for an application gateway. + + + + + Set + AzureApplicationGatewayRequestRoutingRule + + + + The Set-AzureRMApplicationGatewayRequestRoutingRule cmdlet modifies a request routing rule. + + + + Set-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGatewayRequestRoutingRule + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewayRequestRoutingRule -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-AzureRMApplicationGatewayRequestRoutingRule + + + + Get-AzureRMApplicationGatewayRequestRoutingRule + + + + New-AzureRMApplicationGatewayRequestRoutingRule + + + + Remove-AzureRMApplicationGatewayRequestRoutingRule + + + + + + + Set-AzureRMApplicationGatewaySku + + Modifies the SKU of an application gateway. + + + + + Set + AzureApplicationGatewaySku + + + + The Set-AzureRMApplicationGatewaySku cmdlet modifies the stock keeping unit (SKU) of an application gateway. + + + + Set-AzureRMApplicationGatewaySku + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $AppGw = Set-AzureRMApplicationGatewaySku –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-AzureRMApplicationGatewaySku + + + + New-AzureRMApplicationGatewaySku + + + + + + + Set-AzureRMApplicationGatewaySslCertificate + + Sets the goal state of an SSL certificate. + + + + + Set + AzureApplicationGatewaySslCertificate + + + + The Set-AzureRMApplicationGatewaySslCertificate cmdlet sets the goal state of an SSL certificate. + + + + Set-AzureRMApplicationGatewaySslCertificate + + 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-AzureRMApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01" +PS C:\> $Cert = Set-AzureRMApplicationGatewaySslCertificate –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-AzureRMApplicationGatewaySslCertificate + + + + Get-AzureRMApplicationGatewaySslCertificate + + + + New-AzureRMApplicationGatewaySslCertificate + + + + Remove-AzureRMApplicationGatewaySslCertificate + + + + + + + Set-AzureRMApplicationGateway + + Updates an application gateway. + + + + + Set + AzureApplicationGateway + + + + The Set-AzureRMApplicationGateway cmdlet updates an Azure application gateway. + + + + Set-AzureRMApplicationGateway + + 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-AzureRMApplicationGateway -ApplicationGateway $AppGw + + + This command updates the application gateway with settings in the $AppGw variable and stores the updated gateway in the $UpdatedAppGw variable. + + + + + + + + + + + + + Start-AzureRMApplicationGateway + + + + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + Sets the goal state for a front-end IP configuration in a load balancer. + + + + + Set + AzureLoadBalancerFrontendIpConfig + + + + The Set-AzureRMLoadBalancerFrontendIpConfig cmdlet sets the goal state for a front-end IP configuration in an Azure load balancer. + + + + Set-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + 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-AzureRMLoadBalancerFrontendIpConfig + + + + Get-AzureRMLoadBalancerFrontendIpConfig + + + + New-AzureRMLoadBalancerFrontendIpConfig + + + + Remove-AzureRMLoadBalancerFrontendIpConfig + + + + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + Sets an inbound NAT rule configuration for a load balancer. + + + + + Set + AzureLoadBalancerInboundNatRuleConfig + + + + The Set-AzureRMLoadBalancerInboundNatRuleConfig cmdlet sets an inbound network address translation (NAT) rule configuration for an Azure load balancer. + + + + Set-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + 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-AzureRMLoadBalancerInboundNatRuleConfig + + + + Get-AzureRMLoadBalancerInboundNatRuleConfig + + + + New-AzureRMLoadBalancerInboundNatRuleConfig + + + + Remove-AzureRMLoadBalancerInboundNatRuleConfig + + + + + + + Set-AzureRMLoadBalancerProbeConfig + + Sets the goal state for a probe configuration. + + + + + Set + AzureLoadBalancerProbeConfig + + + + The Set-AzureRMLoadBalancerProbeConfig cmdlet sets the goal state for a probe configuration. + + + + Set-AzureRMLoadBalancerProbeConfig + + 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-AzureRMLoadBalancerProbeConfig + + + + Get-AzureRMLoadBalancerProbeConfig + + + + New-AzureRMLoadBalancerProbeConfig + + + + Remove-AzureRMLoadBalancerProbeConfig + + + + + + + Set-AzureRMLoadBalancerRuleConfig + + Sets the goal state for a load balancer rule configuration. + + + + + Set + AzureLoadBalancerRuleConfig + + + + The Set-AzureRMLoadBalancerRuleConfig cmdlet sets the goal state for a load balancer rule configuration. + + + + Set-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + 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-AzureRMLoadBalancerRuleConfig + + + + Get-AzureRMLoadBalancerRuleConfig + + + + New-AzureRMLoadBalancerRuleConfig + + + + Remove-AzureRMLoadBalancerRuleConfig + + + + + + + Set-AzureRMLoadBalancer + + Sets the goal state for a load balancer. + + + + + Set + AzureLoadBalancer + + + + The Set-AzureRMLoadBalancer cmdlet sets the goal state for an Azure load balancer. + + + + Set-AzureRMLoadBalancer + + 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-AzureRMLoadBalancer + + + + New-AzureRMLoadBalancer + + + + Remove-AzureRMLoadBalancer + + + + + + + Set-AzureRMLocalNetworkGateway + + + + + + + + Set + AzureLocalNetworkGateway + + + + + + + Set-AzureRMLocalNetworkGateway + + 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-AzureRMNetworkInterface + + Sets the goal state for a network interface. + + + + + Set + AzureNetworkInterface + + + + The Set-AzureRMNetworkInterface sets the goal state for an Azure network interface. + + + + Set-AzureRMNetworkInterface + + 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-AzureRMNetworkInterface + + + + New-AzureRMNetworkInterface + + + + Remove-AzureRMNetworkInterface + + + + + + + Set-AzureRMNetworkSecurityGroup + + Sets the goal state for a network security group. + + + + + Set + AzureNetworkSecurityGroup + + + + The Set-AzureRMNetworkSecurityGroup cmdlet sets the goal state for an Azure network security group. + + + + Set-AzureRMNetworkSecurityGroup + + 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-AzureRMNetworkSecurityGroup + + + + New-AzureRMNetworkSecurityGroup + + + + Remove-AzureRMNetworkSecurityGroup + + + + + + + Set-AzureRMNetworkSecurityRuleConfig + + Sets the goal state for a network security rule configuration. + + + + + Set + AzureNetworkSecurityRuleConfig + + + + The Set-AzureRMNetworkSecurityRuleConfig cmdlet sets the goal state for an Azure network security rule configuration. + + + + Set-AzureRMNetworkSecurityRuleConfig + + 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-AzureRMNetworkSecurityRuleConfig + + + + Get-AzureRMNetworkSecurityRuleConfig + + + + New-AzureRMNetworkSecurityRuleConfig + + + + Remove-AzureRMNetworkSecurityRuleConfig + + + + + + + Set-AzureRMPublicIpAddress + + Sets the goal state for a public IP address. + + + + + Set + AzurePublicIpAddress + + + + The Set-AzureRMPublicIpAddress cmdlet sets the goal state for a public IP address. + + + + Set-AzureRMPublicIpAddress + + 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-AzureRMPublicIpAddress + + + + New-AzureRMPublicIpAddress + + + + Remove-AzureRMPublicIpAddress + + + + + + + Set-AzureRMRouteConfig + + Sets the goal state for a route. + + + + + Set + AzureRouteConfig + + + + The Set-AzureRMRouteConfig cmdlet sets the goal state for an Azure route. + + + + Set-AzureRMRouteConfig + + 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Set-AzureRMRouteConfig -Name "route02" -AddressPrefix 10.4.0.0/16 -NextHopType VnetLocal | Set-AzureRMRouteTable +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-AzureRMRouteTable 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-AzureRMRouteTable cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Add-AzureRMRouteConfig + + + + Get-AzureRMRouteConfig + + + + Get-AzureRMRouteTable + + + + New-AzureRMRouteConfig + + + + Remove-AzureRMRouteConfig + + + + Set-AzureRMRouteTable + + + + + + + Set-AzureRMRouteTable + + Sets the goal state for a route table. + + + + + Set + AzureRouteTable + + + + The Set-AzureRMRouteTable cmdlet sets the goal state for an Azure route table. + + + + Set-AzureRMRouteTable + + 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-AzureRMRouteTable -ResourceGroupName "ResourceGroup11" -Name "routetable01" | Add-AzureRMRouteConfig -Name "route02" -AddressPrefix 10.2.0.0/16 -NextHopType VnetLocal | Set-AzureRMRouteTable +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-AzureRMRouteTable cmdlet. The command passes that table to the Add-AzureRMRouteConfig cmdlet by using the pipeline operator. + Add-AzureRMRouteConfig adds the route named route02, and then passes the result to the current cmdlet, which updates the table to reflect your changes. + + + + + + + + + + + + + Add-AzureRMRouteConfig + + + + Get-AzureRMRouteTable + + + + New-AzureRMRouteTable + + + + Remove-AzureRMRouteTable + + + + + + + Set-AzureRMVirtualNetworkGatewayConnectionSharedKey + + + + + + + + Set + AzureVirtualNetworkGatewayConnectionSharedKey + + + + + + + Set-AzureRMVirtualNetworkGatewayConnectionSharedKey + + 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-AzureRMVirtualNetworkGatewayConnection + + + + + + + + Set + AzureVirtualNetworkGatewayConnection + + + + + + + Set-AzureRMVirtualNetworkGatewayConnection + + Force + + + + + Profile + + + AzureProfile + + + VirtualNetworkGatewayConnection + + + PSVirtualNetworkGatewayConnection + + + + + + Force + + + SwitchParameter + + SwitchParameter + + + none + + + Profile + + + AzureProfile + + AzureProfile + + + none + + + VirtualNetworkGatewayConnection + + + PSVirtualNetworkGatewayConnection + + PSVirtualNetworkGatewayConnection + + + none + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1: + + + + + PS C:\> + + + + + + + + + + + + + + + + + + + + Set-AzureRMVirtualNetworkSubnetConfig + + Sets the goal state for a subnet configuration in a virtual network. + + + + + Set + AzureVirtualNetworkSubnetConfig + + + + The Set-AzureRMVirtualNetworkSubnetConfig cmdlet sets the goal state for a subnet configuration in an Azure virtual network. + + + + Set-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + 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-AzureRMVirtualNetworkSubnetConfig + + + + Get-AzureRMVirtualNetworkSubnetConfig + + + + New-AzureRMVirtualNetworkSubnetConfig + + + + Remove-AzureRMVirtualNetworkSubnetConfig + + + + + + + Set-AzureRMVirtualNetwork + + Sets the goal state for a virtual network. + + + + + Set + AzureVirtualNetwork + + + + The Set-AzureRMVirtualNetwork cmdlet sets the goal state for an Azure virtual network. + + + + Set-AzureRMVirtualNetwork + + 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-AzureRMVirtualNetwork + + + + New-AzureRMVirtualNetwork + + + + Remove-AzureRMVirtualNetwork + + + + + + + Start-AzureRMApplicationGateway + + Starts an application gateway. + + + + + Start + AzureApplicationGateway + + + + The Start-AzureRMApplicationGateway cmdlet starts an Azure application gateway + + + + Start-AzureRMApplicationGateway + + 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-AzureRMApplicationGateway -ApplicationGateway $AppGw + + + This command starts the application gateway stored in the $AppGw variable. + + + + + + + + + + + + + Stop-AzureRMApplicationGateway + + + + + + + Stop-AzureRMApplicationGateway + + Stops an application gateway + + + + + Stop + AzureApplicationGateway + + + + + + + Stop-AzureRMApplicationGateway + + 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-AzureRMApplicationGateway -ApplicationGateway $AppGw + + + This command stops the application gateway stored in the $AppGw variable. + + + + + + + + + + + + + + + + Test-AzureRMDnsAvailability + + + + + + + + Test + AzureDnsAvailability + + + + + + + Test-AzureRMDnsAvailability + + 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/Network/Commands.Network/Microsoft.Azure.Commands.Network.format.ps1xml b/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.format.ps1xml index fec2277b5e33..3780f673f47d 100644 --- a/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.format.ps1xml +++ b/src/ResourceManager/Network/Commands.Network/Microsoft.Azure.Commands.Network.format.ps1xml @@ -30,6 +30,10 @@ Etag + + + ResourceGuid + ProvisioningState @@ -134,6 +138,10 @@ Etag + + + ResourceGuid + ProvisioningState @@ -196,6 +204,10 @@ Etag + + + ResourceGuid + ProvisioningState @@ -316,6 +328,10 @@ Etag + + + ResourceGuid + ProvisioningState @@ -440,6 +456,10 @@ Etag + + + ResourceGuid + ProvisioningState diff --git a/src/ResourceManager/Network/Commands.Network/Models/PSTopLevelResource.cs b/src/ResourceManager/Network/Commands.Network/Models/PSTopLevelResource.cs index 0ed67c797673..8e6a9fafc64a 100644 --- a/src/ResourceManager/Network/Commands.Network/Models/PSTopLevelResource.cs +++ b/src/ResourceManager/Network/Commands.Network/Models/PSTopLevelResource.cs @@ -23,6 +23,8 @@ public class PSTopLevelResource : PSChildResource public string Location { get; set; } + public string ResourceGuid { get; set; } + public Hashtable[] Tag { get; set; } public string TagsTable diff --git a/src/ResourceManager/Network/Commands.Network/NetworkInterface/GetAzureNetworkInterfaceCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkInterface/GetAzureNetworkInterfaceCommand.cs index bec2773a9c3d..e8bd70680168 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkInterface/GetAzureNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkInterface/GetAzureNetworkInterfaceCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureNetworkInterface"), OutputType(typeof(PSNetworkInterface))] + [Cmdlet(VerbsCommon.Get, "AzureRMNetworkInterface"), OutputType(typeof(PSNetworkInterface))] public class GetAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet { [Alias("ResourceName")] @@ -40,9 +40,9 @@ public class GetAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs index b7a22030e811..9091c9dd7752 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs @@ -26,7 +26,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureNetworkInterface"), OutputType(typeof(PSNetworkInterface))] + [Cmdlet(VerbsCommon.New, "AzureRMNetworkInterface"), OutputType(typeof(PSNetworkInterface))] public class NewAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet { [Alias("ResourceName")] @@ -165,9 +165,9 @@ public class NewAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsNetworkInterfacePresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/NetworkInterface/RemoveAzureNetworkInterfaceCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkInterface/RemoveAzureNetworkInterfaceCommand.cs index 3533091af3b6..0daab6f6b542 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkInterface/RemoveAzureNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkInterface/RemoveAzureNetworkInterfaceCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureNetworkInterface")] + [Cmdlet(VerbsCommon.Remove, "AzureRMNetworkInterface")] public class RemoveAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet { [Alias("ResourceName")] @@ -46,9 +46,9 @@ public class RemoveAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/NetworkInterface/SetAzureNetworkInterfaceCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkInterface/SetAzureNetworkInterfaceCommand.cs index e412d3563561..e6a00f4ffbcb 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkInterface/SetAzureNetworkInterfaceCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkInterface/SetAzureNetworkInterfaceCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureNetworkInterface"), OutputType(typeof(PSNetworkInterface))] + [Cmdlet(VerbsCommon.Set, "AzureRMNetworkInterface"), OutputType(typeof(PSNetworkInterface))] public class SetAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet { [Parameter( @@ -32,9 +32,9 @@ public class SetAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet HelpMessage = "The NetworkInterface")] public PSNetworkInterface NetworkInterface { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsNetworkInterfacePresent(this.NetworkInterface.ResourceGroupName, this.NetworkInterface.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/GetAzureNetworkSecurityGroupCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/GetAzureNetworkSecurityGroupCommand.cs index 57ba0ce1dbd4..1b566219a1e7 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/GetAzureNetworkSecurityGroupCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/GetAzureNetworkSecurityGroupCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.Get, "AzureRMNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] public class GetAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdle [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var nsg = this.GetNetworkSecurityGroup(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/AddAzureNetworkSecurityRuleConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/AddAzureNetworkSecurityRuleConfigCommand.cs index a01fad19245a..1cc854e1b3cc 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/AddAzureNetworkSecurityRuleConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/AddAzureNetworkSecurityRuleConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Add, "AzureNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.Add, "AzureRMNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] public class AddAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRuleConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class AddAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRule HelpMessage = "The NetworkSecurityGroup")] public PSNetworkSecurityGroup NetworkSecurityGroup { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the NetworkSecurityGroup var rule = this.NetworkSecurityGroup.SecurityRules.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/GetAzureNetworkSecurityRuleConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/GetAzureNetworkSecurityRuleConfigCommand.cs index 2d2efe594c9a..63cdf6ec2efd 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/GetAzureNetworkSecurityRuleConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/GetAzureNetworkSecurityRuleConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureNetworkSecurityRuleConfig"), OutputType(typeof(PSSecurityRule))] + [Cmdlet(VerbsCommon.Get, "AzureRMNetworkSecurityRuleConfig"), OutputType(typeof(PSSecurityRule))] public class GetAzureNetworkSecurityRuleConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -36,9 +36,9 @@ public class GetAzureNetworkSecurityRuleConfigCommand : NetworkBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter DefaultRules { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var rules = this.DefaultRules ? this.NetworkSecurityGroup.DefaultSecurityRules diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/NewAzureNetworkSecurityRuleConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/NewAzureNetworkSecurityRuleConfigCommand.cs index ac751443cbb1..05bc14ddf70b 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/NewAzureNetworkSecurityRuleConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/NewAzureNetworkSecurityRuleConfigCommand.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureNetworkSecurityRuleConfig"), OutputType(typeof(PSSecurityRule))] + [Cmdlet(VerbsCommon.New, "AzureRMNetworkSecurityRuleConfig"), OutputType(typeof(PSSecurityRule))] public class NewAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRuleConfigBase { [Parameter( @@ -26,9 +26,9 @@ public class NewAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRule [ValidateNotNullOrEmpty] public override string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var rule = new PSSecurityRule(); diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/RemoveAzureNetworkSecurityRuleConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/RemoveAzureNetworkSecurityRuleConfigCommand.cs index 744153a54299..f620ea01be6a 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/RemoveAzureNetworkSecurityRuleConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/RemoveAzureNetworkSecurityRuleConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.Remove, "AzureRMNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] public class RemoveAzureNetworkSecurityRuleConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -33,9 +33,9 @@ public class RemoveAzureNetworkSecurityRuleConfigCommand : NetworkBaseCmdlet HelpMessage = "The NetworkSecurityGroup")] public PSNetworkSecurityGroup NetworkSecurityGroup { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the rule exists in the NetworkSecurityGroup var rule = this.NetworkSecurityGroup.SecurityRules.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/SetAzureNetworkSecurityRuleConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/SetAzureNetworkSecurityRuleConfigCommand.cs index 74df2f89e68b..79ffdb5346f8 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/SetAzureNetworkSecurityRuleConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NetworkSecurityRule/SetAzureNetworkSecurityRuleConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.Set, "AzureRMNetworkSecurityRuleConfig"), OutputType(typeof(PSNetworkSecurityGroup))] public class SetAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRuleConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class SetAzureNetworkSecurityRuleConfigCommand : AzureNetworkSecurityRule HelpMessage = "The NetworkSecurityGroup")] public PSNetworkSecurityGroup NetworkSecurityGroup { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the NetworkSecurityGroup var rule = this.NetworkSecurityGroup.SecurityRules.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NewAzureNetworkSecurityGroupCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NewAzureNetworkSecurityGroupCommand.cs index 647e89fc0ac5..91cafd5ef638 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NewAzureNetworkSecurityGroupCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/NewAzureNetworkSecurityGroupCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.New, "AzureRMNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] public class NewAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdlet { [Alias("ResourceName")] @@ -66,9 +66,9 @@ public class NewAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdle HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsNetworkSecurityGroupPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/RemoveAzureNetworkSecurityGroupCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/RemoveAzureNetworkSecurityGroupCommand.cs index 5c74f04fa55e..b4a1755c0017 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/RemoveAzureNetworkSecurityGroupCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/RemoveAzureNetworkSecurityGroupCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureNetworkSecurityGroup")] + [Cmdlet(VerbsCommon.Remove, "AzureRMNetworkSecurityGroup")] public class RemoveAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdlet { [Alias("ResourceName")] @@ -44,9 +44,9 @@ public class RemoveAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCm [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/SetAzureNetworkSecurityGroupCommand.cs b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/SetAzureNetworkSecurityGroupCommand.cs index 6011d9761270..ef3efb5d74d8 100644 --- a/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/SetAzureNetworkSecurityGroupCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/NetworkSecurityGroup/SetAzureNetworkSecurityGroupCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] + [Cmdlet(VerbsCommon.Set, "AzureRMNetworkSecurityGroup"), OutputType(typeof(PSNetworkSecurityGroup))] public class SetAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdlet { [Parameter( @@ -31,9 +31,9 @@ public class SetAzureNetworkSecurityGroupCommand : NetworkSecurityGroupBaseCmdle HelpMessage = "The NetworkSecurityGroup")] public PSNetworkSecurityGroup NetworkSecurityGroup { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsNetworkSecurityGroupPresent(this.NetworkSecurityGroup.ResourceGroupName, this.NetworkSecurityGroup.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/ProviderWideCmdlets/TestAzureDnsAvailabilityCmdlet.cs b/src/ResourceManager/Network/Commands.Network/ProviderWideCmdlets/TestAzureDnsAvailabilityCmdlet.cs index 833559a54fe6..f41d39a9a2ed 100644 --- a/src/ResourceManager/Network/Commands.Network/ProviderWideCmdlets/TestAzureDnsAvailabilityCmdlet.cs +++ b/src/ResourceManager/Network/Commands.Network/ProviderWideCmdlets/TestAzureDnsAvailabilityCmdlet.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsDiagnostic.Test, "AzureDnsAvailability"), OutputType(typeof(bool))] + [Cmdlet(VerbsDiagnostic.Test, "AzureRMDnsAvailability"), OutputType(typeof(bool))] public class TestAzureDnsAvailabilityCmdlet : NetworkBaseCmdlet { [Parameter( @@ -32,7 +32,7 @@ public class TestAzureDnsAvailabilityCmdlet : NetworkBaseCmdlet [ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.Location = this.Location.Replace(" ", string.Empty); var result = this.NetworkClient.NetworkResourceProviderClient.CheckDnsNameAvailability(this.Location, this.DomainQualifiedName); diff --git a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/GetAzurePublicIpAddressCommand.cs b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/GetAzurePublicIpAddressCommand.cs index a7e369b40316..14c7fd1200eb 100644 --- a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/GetAzurePublicIpAddressCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/GetAzurePublicIpAddressCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzurePublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] + [Cmdlet(VerbsCommon.Get, "AzureRMPublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] public class GetAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var publicIp = this.GetPublicIpAddress(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/NewAzurePublicIpAddressCommand.cs b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/NewAzurePublicIpAddressCommand.cs index 2ec80a49b048..bf300e9f7969 100644 --- a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/NewAzurePublicIpAddressCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/NewAzurePublicIpAddressCommand.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzurePublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] + [Cmdlet(VerbsCommon.New, "AzureRMPublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] public class NewAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet { [Alias("ResourceName")] @@ -90,9 +90,9 @@ public class NewAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsPublicIpAddressPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/RemoveAzurePublicIpAddressCommand.cs b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/RemoveAzurePublicIpAddressCommand.cs index 084def953026..58f5e3e65964 100644 --- a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/RemoveAzurePublicIpAddressCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/RemoveAzurePublicIpAddressCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzurePublicIpAddress")] + [Cmdlet(VerbsCommon.Remove, "AzureRMPublicIpAddress")] public class RemoveAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet { [Alias("ResourceName")] @@ -46,9 +46,9 @@ public class RemoveAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/SetAzurePublicIpAddressCommand.cs b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/SetAzurePublicIpAddressCommand.cs index 79969c8084e2..8ff220894c29 100644 --- a/src/ResourceManager/Network/Commands.Network/PublicIpAddress/SetAzurePublicIpAddressCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/PublicIpAddress/SetAzurePublicIpAddressCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzurePublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] + [Cmdlet(VerbsCommon.Set, "AzureRMPublicIpAddress"), OutputType(typeof(PSPublicIpAddress))] public class SetAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet { [Parameter( @@ -32,9 +32,9 @@ public class SetAzurePublicIpAddressCommand : PublicIpAddressBaseCmdlet HelpMessage = "The PublicIpAddress")] public PSPublicIpAddress PublicIpAddress { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsPublicIpAddressPresent(this.PublicIpAddress.ResourceGroupName, this.PublicIpAddress.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/GetAzureRouteTableCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/GetAzureRouteTableCommand.cs index ecb29f42c33c..70c9db60a9ee 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/GetAzureRouteTableCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/GetAzureRouteTableCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureRouteTable"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.Get, "AzureRMRouteTable"), OutputType(typeof(PSRouteTable))] public class GetAzureRouteTableCommand : RouteTableBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureRouteTableCommand : RouteTableBaseCmdlet [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var routeTable = this.GetRouteTable(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/NewAzureRouteTableCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/NewAzureRouteTableCommand.cs index e5a734f74a1d..190638fae1d3 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/NewAzureRouteTableCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/NewAzureRouteTableCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureRouteTable"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.New, "AzureRMRouteTable"), OutputType(typeof(PSRouteTable))] public class NewAzureRouteTableCommand : RouteTableBaseCmdlet { [Alias("ResourceName")] @@ -66,9 +66,9 @@ public class NewAzureRouteTableCommand : RouteTableBaseCmdlet HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsRouteTablePresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/RemoveAzureRouteTableCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/RemoveAzureRouteTableCommand.cs index a0e3162a6221..65810b9df3c7 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/RemoveAzureRouteTableCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/RemoveAzureRouteTableCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureRouteTable")] + [Cmdlet(VerbsCommon.Remove, "AzureRMRouteTable")] public class RemoveAzureRouteTableCommand : RouteTableBaseCmdlet { [Alias("ResourceName")] @@ -44,9 +44,9 @@ public class RemoveAzureRouteTableCommand : RouteTableBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/AddAzureRouteConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/AddAzureRouteConfigCommand.cs index a4ec27d53b36..7ab9ac767ff3 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/AddAzureRouteConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/AddAzureRouteConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Add, "AzureRouteConfig"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.Add, "AzureRMRouteConfig"), OutputType(typeof(PSRouteTable))] public class AddAzureRouteConfigCommand : AzureRouteConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class AddAzureRouteConfigCommand : AzureRouteConfigBase HelpMessage = "The RouteTable")] public PSRouteTable RouteTable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the Route exists in the RouteTable var route = this.RouteTable.Routes.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/GetAzureRouteConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/GetAzureRouteConfigCommand.cs index f0c73e792006..fa30c7fb4ba6 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/GetAzureRouteConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/GetAzureRouteConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureRouteConfig"), OutputType(typeof(PSRoute))] + [Cmdlet(VerbsCommon.Get, "AzureRMRouteConfig"), OutputType(typeof(PSRoute))] public class GetAzureRouteConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -33,9 +33,9 @@ public class GetAzureRouteConfigCommand : NetworkBaseCmdlet HelpMessage = "The RouteTable")] public PSRouteTable RouteTable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var routes = this.RouteTable.Routes; diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/NewAzureRouteConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/NewAzureRouteConfigCommand.cs index a7682a462001..f5be419fcf14 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/NewAzureRouteConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/NewAzureRouteConfigCommand.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureRouteConfig"), OutputType(typeof(PSRoute))] + [Cmdlet(VerbsCommon.New, "AzureRMRouteConfig"), OutputType(typeof(PSRoute))] public class NewAzureRouteConfigCommand : AzureRouteConfigBase { [Parameter( @@ -26,9 +26,9 @@ public class NewAzureRouteConfigCommand : AzureRouteConfigBase [ValidateNotNullOrEmpty] public override string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var route = new PSRoute(); diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/RemoveAzureRouteConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/RemoveAzureRouteConfigCommand.cs index 25319cecaa39..f345e80d864c 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/RemoveAzureRouteConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/RemoveAzureRouteConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureRouteConfig"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.Remove, "AzureRMRouteConfig"), OutputType(typeof(PSRouteTable))] public class RemoveAzurReouteConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -33,9 +33,9 @@ public class RemoveAzurReouteConfigCommand : NetworkBaseCmdlet HelpMessage = "The RouteTable")] public PSRouteTable RouteTable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the route exists in the RouteTable var route = this.RouteTable.Routes.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/SetAzureRouteConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/SetAzureRouteConfigCommand.cs index 77041ae07150..3372737dd416 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/Route/SetAzureRouteConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/Route/SetAzureRouteConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureRouteConfig"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.Set, "AzureRMRouteConfig"), OutputType(typeof(PSRouteTable))] public class SetAzureRouteConfigCommand : AzureRouteConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class SetAzureRouteConfigCommand : AzureRouteConfigBase HelpMessage = "The RouteTable")] public PSRouteTable RouteTable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the NetworkSecurityGroup var route = this.RouteTable.Routes.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/RouteTable/SetAzureRouteTableCommand.cs b/src/ResourceManager/Network/Commands.Network/RouteTable/SetAzureRouteTableCommand.cs index da3b09124ecb..d39e8daa6dd8 100644 --- a/src/ResourceManager/Network/Commands.Network/RouteTable/SetAzureRouteTableCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/RouteTable/SetAzureRouteTableCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureRouteTable"), OutputType(typeof(PSRouteTable))] + [Cmdlet(VerbsCommon.Set, "AzureRMRouteTable"), OutputType(typeof(PSRouteTable))] public class SetAzureRouteTableCommand : RouteTableBaseCmdlet { [Parameter( @@ -31,9 +31,9 @@ public class SetAzureRouteTableCommand : RouteTableBaseCmdlet HelpMessage = "The RouteTable")] public PSRouteTable RouteTable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsRouteTablePresent(this.RouteTable.ResourceGroupName, this.RouteTable.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/GetAzureVirtualNetworkCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/GetAzureVirtualNetworkCommand.cs index f236c936da26..c91b0a93d6c5 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/GetAzureVirtualNetworkCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/GetAzureVirtualNetworkCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.Get, "AzureRMVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] public class GetAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var vnet = this.GetVirtualNetwork(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/NewAzureVirtualNetworkCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/NewAzureVirtualNetworkCommand.cs index 4df8f2893d40..915e685f8590 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/NewAzureVirtualNetworkCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/NewAzureVirtualNetworkCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.New, "AzureRMVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] public class NewAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet { [Alias("ResourceName")] @@ -79,9 +79,9 @@ public class NewAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsVirtualNetworkPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/RemoveAzureVirtualNetworkCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/RemoveAzureVirtualNetworkCommand.cs index 7afe658ee605..2d17eede27ff 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/RemoveAzureVirtualNetworkCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/RemoveAzureVirtualNetworkCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureVirtualNetwork")] + [Cmdlet(VerbsCommon.Remove, "AzureRMVirtualNetwork")] public class RemoveAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet { [Alias("ResourceName")] @@ -44,9 +44,9 @@ public class RemoveAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/SetAzureVirtualNetworkCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/SetAzureVirtualNetworkCommand.cs index 8a3ae8cd4a75..bf480a1bc50e 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/SetAzureVirtualNetworkCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/SetAzureVirtualNetworkCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.Set, "AzureRMVirtualNetwork"), OutputType(typeof(PSVirtualNetwork))] public class SetAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet { [Parameter( @@ -32,9 +32,9 @@ public class SetAzureVirtualNetworkCommand : VirtualNetworkBaseCmdlet HelpMessage = "The virtualNetwork")] public PSVirtualNetwork VirtualNetwork { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsVirtualNetworkPresent(this.VirtualNetwork.ResourceGroupName, this.VirtualNetwork.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/AddAzureVirtualNetworkSubnetConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/AddAzureVirtualNetworkSubnetConfigCommand.cs index 4240d56a1f17..5c80fa80c8f5 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/AddAzureVirtualNetworkSubnetConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/AddAzureVirtualNetworkSubnetConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Add, "AzureVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.Add, "AzureRMVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSVirtualNetwork))] public class AddAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubnetConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class AddAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubn HelpMessage = "The virtualNetwork")] public PSVirtualNetwork VirtualNetwork { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the VirtualNetwork var subnet = this.VirtualNetwork.Subnets.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/GetAzureVirtualNetworkSubnetConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/GetAzureVirtualNetworkSubnetConfigCommand.cs index 458ef576092e..4cc4817f113a 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/GetAzureVirtualNetworkSubnetConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/GetAzureVirtualNetworkSubnetConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureVirtualNetworkSubnetConfig"), OutputType(typeof(PSSubnet))] + [Cmdlet(VerbsCommon.Get, "AzureRMVirtualNetworkSubnetConfig"), OutputType(typeof(PSSubnet))] public class GetAzureVirtualNetworkSubnetConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -32,9 +32,9 @@ public class GetAzureVirtualNetworkSubnetConfigCommand : NetworkBaseCmdlet HelpMessage = "The virtualNetwork")] public PSVirtualNetwork VirtualNetwork { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/NewAzureVirtualNetworkSubnetConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/NewAzureVirtualNetworkSubnetConfigCommand.cs index 971687e4c087..07eb03654568 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/NewAzureVirtualNetworkSubnetConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/NewAzureVirtualNetworkSubnetConfigCommand.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSSubnet))] + [Cmdlet(VerbsCommon.New, "AzureRMVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSSubnet))] public class NewAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubnetConfigBase { [Parameter( @@ -26,9 +26,9 @@ public class NewAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubn [ValidateNotNullOrEmpty] public override string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (string.Equals(ParameterSetName, Microsoft.Azure.Commands.Network.Properties.Resources.SetByResource)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/RemoveAzureVirtualNetworkSubnetConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/RemoveAzureVirtualNetworkSubnetConfigCommand.cs index ab52d8c96003..802f0194d1cf 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/RemoveAzureVirtualNetworkSubnetConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/RemoveAzureVirtualNetworkSubnetConfigCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureVirtualNetworkSubnetConfig"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.Remove, "AzureRMVirtualNetworkSubnetConfig"), OutputType(typeof(PSVirtualNetwork))] public class RemoveAzureVirtualNetworkSubnetConfigCommand : NetworkBaseCmdlet { [Parameter( @@ -33,9 +33,9 @@ public class RemoveAzureVirtualNetworkSubnetConfigCommand : NetworkBaseCmdlet HelpMessage = "The virtualNetwork")] public PSVirtualNetwork VirtualNetwork { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the VirtualNetwork var subnet = this.VirtualNetwork.Subnets.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/SetAzureVirtualNetworkSubnetConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/SetAzureVirtualNetworkSubnetConfigCommand.cs index 0f0237c016eb..bcf784de2e08 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/SetAzureVirtualNetworkSubnetConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetwork/Subnet/SetAzureVirtualNetworkSubnetConfigCommand.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSVirtualNetwork))] + [Cmdlet(VerbsCommon.Set, "AzureRMVirtualNetworkSubnetConfig", DefaultParameterSetName = "SetByResource"), OutputType(typeof(PSVirtualNetwork))] public class SetAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubnetConfigBase { [Parameter( @@ -34,9 +34,9 @@ public class SetAzureVirtualNetworkSubnetConfigCommand : AzureVirtualNetworkSubn HelpMessage = "The virtualNetwork")] public PSVirtualNetwork VirtualNetwork { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Verify if the subnet exists in the VirtualNetwork var subnet = this.VirtualNetwork.Subnets.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, StringComparison.CurrentCultureIgnoreCase)); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/GetAzureVirtualNetworkGatewayCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/GetAzureVirtualNetworkGatewayCommand.cs index fe0daa2edd44..742c767ae048 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/GetAzureVirtualNetworkGatewayCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/GetAzureVirtualNetworkGatewayCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] + [Cmdlet(VerbsCommon.Get, "AzureRMVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] public class GetAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmd [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var vnetGateway = this.GetVirtualNetworkGateway(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayCommand.cs index d9dee559809c..413a9f028d3b 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] + [Cmdlet(VerbsCommon.New, "AzureRMVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] public class NewAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmdlet { [Alias("ResourceName")] @@ -91,9 +91,9 @@ public class NewAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmd HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsVirtualNetworkGatewayPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayIpConfigCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayIpConfigCommand.cs index 1f3ffc1f5615..a238976ed348 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayIpConfigCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/NewAzureVirtualNetworkGatewayIpConfigCommand.cs @@ -17,7 +17,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureVirtualNetworkGatewayIpConfig"), OutputType(typeof(PSVirtualNetworkGatewayIpConfiguration))] + [Cmdlet(VerbsCommon.New, "AzureRMVirtualNetworkGatewayIpConfig"), OutputType(typeof(PSVirtualNetworkGatewayIpConfiguration))] public class NewAzureVirtualNetworkGatewayIpConfigCommand : AzureLoadBalancerFrontendIpConfigBase { [Parameter( @@ -26,9 +26,9 @@ public class NewAzureVirtualNetworkGatewayIpConfigCommand : AzureLoadBalancerFro [ValidateNotNullOrEmpty] public override string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); // Get the subnetId and publicIpAddressId from the objects if specified if (string.Equals(ParameterSetName, "object")) diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/RemoveAzureVirtualNetworkGatewayCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/RemoveAzureVirtualNetworkGatewayCommand.cs index 8c2d6de91a35..8bc898fe52fb 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/RemoveAzureVirtualNetworkGatewayCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/RemoveAzureVirtualNetworkGatewayCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureVirtualNetworkGateway")] + [Cmdlet(VerbsCommon.Remove, "AzureRMVirtualNetworkGateway")] public class RemoveAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmdlet { [Alias("ResourceName")] @@ -44,9 +44,9 @@ public class RemoveAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBase [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/ResetAzureVirtualNetworkGatewayCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/ResetAzureVirtualNetworkGatewayCommand.cs index 8c336a8ebda2..c72fede3f148 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/ResetAzureVirtualNetworkGatewayCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGateway/ResetAzureVirtualNetworkGatewayCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Reset, "AzureVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] + [Cmdlet(VerbsCommon.Reset, "AzureRMVirtualNetworkGateway"), OutputType(typeof(PSVirtualNetworkGateway))] public class ResetAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseCmdlet { [Parameter( @@ -32,9 +32,9 @@ public class ResetAzureVirtualNetworkGatewayCommand : VirtualNetworkGatewayBaseC HelpMessage = "The virtualNetworkGateway")] public PSVirtualNetworkGateway VirtualNetworkGateway { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsVirtualNetworkGatewayPresent(this.VirtualNetworkGateway.ResourceGroupName, this.VirtualNetworkGateway.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionCommand.cs index e11759556d18..ecb98e0fbb65 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] + [Cmdlet(VerbsCommon.Get, "AzureRMVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] public class GetAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGate [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var vnetGatewayConnection = this.GetVirtualNetworkGatewayConnection(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs index 8acc65b0661f..22f3e88d807d 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Get, "AzureVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.Get, "AzureRMVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] public class GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -38,9 +38,9 @@ public class GetAzureVirtualNetworkGatewayConnectionSharedKeyCommand : VirtualNe [ValidateNotNullOrEmpty] public virtual string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!string.IsNullOrEmpty(this.Name)) { var vnetGatewayConnection = this.GetVirtualNetworkGatewayConnectionSharedKey(this.ResourceGroupName, this.Name); diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/NewAzureVirtualNetworkGatewayConnectionCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/NewAzureVirtualNetworkGatewayConnectionCommand.cs index 0a11150c348c..b3f98166a881 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/NewAzureVirtualNetworkGatewayConnectionCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/NewAzureVirtualNetworkGatewayConnectionCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.New, "AzureVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] + [Cmdlet(VerbsCommon.New, "AzureRMVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] public class NewAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -103,9 +103,9 @@ public class NewAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGate HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsVirtualNetworkGatewayConnectionPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/RemoveAzureVirtualNetworkGatewayConnectionCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/RemoveAzureVirtualNetworkGatewayConnectionCommand.cs index de79bef0a142..bf5691cce53b 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/RemoveAzureVirtualNetworkGatewayConnectionCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/RemoveAzureVirtualNetworkGatewayConnectionCommand.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Remove, "AzureVirtualNetworkGatewayConnection")] + [Cmdlet(VerbsCommon.Remove, "AzureRMVirtualNetworkGatewayConnection")] public class RemoveAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -44,9 +44,9 @@ public class RemoveAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkG [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs index 8cc952734169..6752b8579a98 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Reset, "AzureVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.Reset, "AzureRMVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] public class ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -52,9 +52,9 @@ public class ResetAzureVirtualNetworkGatewayConnectionSharedKeyCommand : Virtual HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsVirtualNetworkGatewayConnectionSharedKeyPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/SetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/SetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs index 242d6297f8a7..7d372985c23e 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/SetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/SetAzureVirtualNetworkGatewayConnectionSharedKeyCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.Set, "AzureRMVirtualNetworkGatewayConnectionSharedKey"), OutputType(typeof(string))] public class NewAzureVirtualNetworkGatewayConnectionSharedKeyCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Alias("ResourceName")] @@ -53,9 +53,9 @@ public class NewAzureVirtualNetworkGatewayConnectionSharedKeyCommand : VirtualNe HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (this.IsVirtualNetworkGatewayConnectionSharedKeyPresent(this.ResourceGroupName, this.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/UpdateAzureVirtualNetworkGatewayConnectionCommand.cs b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/UpdateAzureVirtualNetworkGatewayConnectionCommand.cs index 8361d655fa80..ed719f254420 100644 --- a/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/UpdateAzureVirtualNetworkGatewayConnectionCommand.cs +++ b/src/ResourceManager/Network/Commands.Network/VirtualNetworkGatewayConnection/UpdateAzureVirtualNetworkGatewayConnectionCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Network { - [Cmdlet(VerbsCommon.Set, "AzureVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] + [Cmdlet(VerbsCommon.Set, "AzureRMVirtualNetworkGatewayConnection"), OutputType(typeof(PSVirtualNetworkGatewayConnection))] public class SetAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGatewayConnectionBaseCmdlet { [Parameter( @@ -38,9 +38,9 @@ public class SetAzureVirtualNetworkGatewayConnectionCommand : VirtualNetworkGate HelpMessage = "Do not ask for confirmation if you want to overrite a resource")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (!this.IsVirtualNetworkGatewayConnectionPresent(this.VirtualNetworkGatewayConnection.ResourceGroupName, this.VirtualNetworkGatewayConnection.Name)) { diff --git a/src/ResourceManager/Network/Commands.Network/packages.config b/src/ResourceManager/Network/Commands.Network/packages.config index be09a0a4e404..e2d291758307 100644 --- a/src/ResourceManager/Network/Commands.Network/packages.config +++ b/src/ResourceManager/Network/Commands.Network/packages.config @@ -3,12 +3,13 @@ - + - - + + + @@ -23,4 +24,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/OperationalInsights/AzureRM.OperationalInsights.psd1 b/src/ResourceManager/OperationalInsights/AzureRM.OperationalInsights.psd1 new file mode 100644 index 000000000000..88631a18c9cd --- /dev/null +++ b/src/ResourceManager/OperationalInsights/AzureRM.OperationalInsights.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.OperationalInsights' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'e827799a-7abf-4538-a61f-94dc52a48bd4' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - OperationalInsights' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.OperationalInsights.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.OperationalInsights.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 2debaea91b7d..ffa69b696d5a 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights.Test/Commands.OperationalInsights.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,6 +15,7 @@ 512 ..\..\..\ true + 07d4b600 true @@ -47,15 +48,14 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.OperationalInsights.0.9.0-preview\lib\net40\Microsoft.Azure.Management.OperationalInsights.dll @@ -69,11 +69,11 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll @@ -131,29 +131,22 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common - - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {bc420543-c04e-4bf3-96e1-cd81b823bdd7} - Commands.Test.Utilities + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common @@ -200,13 +193,9 @@ 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}. - + - - - - - Get-AzureOperationalInsightsLinkTargets + Get-AzureRMOperationalInsightsLinkTargets Lists existing accounts that are not associated with an Azure subscription. @@ -14,11 +14,11 @@ - The Get-AzureOperationalInsightsLinkTargets cmdlet lists existing accounts that are not associated with an Azure subscription. To link a new workspace to an existing account, use a customer id returned by this operation in the customer id property of a new workspace. + The Get-AzureRMOperationalInsightsLinkTargets cmdlet lists existing accounts that are not associated with an Azure subscription. To link a new workspace to an existing account, use a customer id returned by this operation in the customer id property of a new workspace. - Get-AzureOperationalInsightsLinkTargets + Get-AzureRMOperationalInsightsLinkTargets Profile @@ -84,7 +84,7 @@ - Get-AzureOperationalInsightsStorageInsight + Get-AzureRMOperationalInsightsStorageInsight Gets information about an existing storage insight @@ -96,11 +96,11 @@ - The Get-AzureOperationalInsightsStorageInsight cmdlet gets information about an existing storage insight. If a storage insight name is specified, this cmdlet gets information about that Storage Insight. If you do not specify a name, this cmdlet gets information about all storage insights in a workspace. + The Get-AzureRMOperationalInsightsStorageInsight cmdlet gets information about an existing storage insight. If a storage insight name is specified, this cmdlet gets information about that Storage Insight. If you do not specify a name, this cmdlet gets information about all storage insights in a workspace. - Get-AzureOperationalInsightsStorageInsight + Get-AzureRMOperationalInsightsStorageInsight ResourceGroupName @@ -131,7 +131,7 @@ - Get-AzureOperationalInsightsStorageInsight + Get-AzureRMOperationalInsightsStorageInsight Workspace @@ -259,7 +259,7 @@ - Get-AzureOperationalInsightsWorkspace + Get-AzureRMOperationalInsightsWorkspace Gets information about an existing workspace @@ -271,11 +271,11 @@ - The Get-AzureOperationalInsightsWorkspace cmdlet gets information about an existing workspace. If a workspace name is specified, this cmdlet gets information about that workspace. If you do not specify a name, this cmdlet gets information about all workspaces in a resource group. If you do not specify a name and resource group, this cmdlet gets information about all workspaces in a subscription. + The Get-AzureRMOperationalInsightsWorkspace cmdlet gets information about an existing workspace. If a workspace name is specified, this cmdlet gets information about that workspace. If you do not specify a name, this cmdlet gets information about all workspaces in a resource group. If you do not specify a name and resource group, this cmdlet gets information about all workspaces in a subscription. - Get-AzureOperationalInsightsWorkspace + Get-AzureRMOperationalInsightsWorkspace ResourceGroupName @@ -379,7 +379,7 @@ - Get-AzureOperationalInsightsWorkspaceManagementGroups + Get-AzureRMOperationalInsightsWorkspaceManagementGroups Gets information about the management groups connected to a workspace @@ -391,11 +391,11 @@ - The Get-AzureOperationalInsightsWorkspaceManagementGroups cmdlet lists the management groups that are connected to a workspace. + The Get-AzureRMOperationalInsightsWorkspaceManagementGroups cmdlet lists the management groups that are connected to a workspace. - Get-AzureOperationalInsightsWorkspaceManagementGroups + Get-AzureRMOperationalInsightsWorkspaceManagementGroups ResourceGroupName @@ -499,7 +499,7 @@ - Get-AzureOperationalInsightsWorkspaceSharedKeys + Get-AzureRMOperationalInsightsWorkspaceSharedKeys Gets the shared keys for a workspace @@ -511,11 +511,11 @@ - The Get-AzureOperationalInsightsWorkspaceSharedKeys cmdlet lists the shared keys for a workspace. The keys are used to connect Operational Insights agents to the workspace. + The Get-AzureRMOperationalInsightsWorkspaceSharedKeys cmdlet lists the shared keys for a workspace. The keys are used to connect Operational Insights agents to the workspace. - Get-AzureOperationalInsightsWorkspaceSharedKeys + Get-AzureRMOperationalInsightsWorkspaceSharedKeys ResourceGroupName @@ -619,7 +619,7 @@ - Get-AzureOperationalInsightsWorkspaceUsage + Get-AzureRMOperationalInsightsWorkspaceUsage Gets the usage data for a workspace @@ -631,11 +631,11 @@ - The Get-AzureOperationalInsightsWorkspaceUsage cmdlet retrieves the usage data for a workspace. This exposes how much data has been analyzed by the workspace over a certain period. + The Get-AzureRMOperationalInsightsWorkspaceUsage cmdlet retrieves the usage data for a workspace. This exposes how much data has been analyzed by the workspace over a certain period. - Get-AzureOperationalInsightsWorkspaceUsage + Get-AzureRMOperationalInsightsWorkspaceUsage ResourceGroupName @@ -739,7 +739,7 @@ - New-AzureOperationalInsightsStorageInsight + New-AzureRMOperationalInsightsStorageInsight Creates a new storage insight inside a workspace @@ -751,11 +751,11 @@ - The New-AzureOperationalInsightsStorageInsight cmdlet creates a new storage insight in an existing workspace. + The New-AzureRMOperationalInsightsStorageInsight cmdlet creates a new storage insight in an existing workspace. - New-AzureOperationalInsightsStorageInsight + New-AzureRMOperationalInsightsStorageInsight ResourceGroupName @@ -780,7 +780,7 @@ StorageAccountResourceId - Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureStorageAccount cmdlet and accessing the Id parameter of the result. + Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureRMStorageAccount cmdlet and accessing the Id parameter of the result. String @@ -821,7 +821,7 @@ - New-AzureOperationalInsightsStorageInsight + New-AzureRMOperationalInsightsStorageInsight Workspace @@ -839,7 +839,7 @@ StorageAccountResourceId - Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureStorageAccount cmdlet and accessing the Id parameter of the result. + Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureRMStorageAccount cmdlet and accessing the Id parameter of the result. String @@ -920,7 +920,7 @@ StorageAccountResourceId - Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureStorageAccount cmdlet and accessing the Id parameter of the result. + Specifies the Azure resource if of a storage account. This can be retrieved by executing the Get-AzureRMStorageAccount cmdlet and accessing the Id parameter of the result. String @@ -1044,7 +1044,7 @@ - New-AzureOperationalInsightsWorkspace + New-AzureRMOperationalInsightsWorkspace Creates a new workspace @@ -1056,11 +1056,11 @@ - The New-AzureOperationalInsightsWorkspace cmdlet creates a new workspace in the specifies resource group and location. + The New-AzureRMOperationalInsightsWorkspace cmdlet creates a new workspace in the specifies resource group and location. - New-AzureOperationalInsightsWorkspace + New-AzureRMOperationalInsightsWorkspace ResourceGroupName @@ -1092,7 +1092,7 @@ CustomerId - Specifies an existing account that this workspace will be linked to. The Get-AzureOperationalInsightsLinkTargets cmdlet can be used to list the potential accounts. + Specifies an existing account that this workspace will be linked to. The Get-AzureRMOperationalInsightsLinkTargets cmdlet can be used to list the potential accounts. Nullable`1[Guid] @@ -1171,7 +1171,7 @@ CustomerId - Specifies an existing account that this workspace will be linked to. The Get-AzureOperationalInsightsLinkTargets cmdlet can be used to list the potential accounts. + Specifies an existing account that this workspace will be linked to. The Get-AzureRMOperationalInsightsLinkTargets cmdlet can be used to list the potential accounts. Nullable`1[Guid] @@ -1259,7 +1259,7 @@ - Remove-AzureOperationalInsightsStorageInsight + Remove-AzureRMOperationalInsightsStorageInsight Deletes an existing storage insight @@ -1271,11 +1271,11 @@ - The Remove-AzureOperationalInsightsStorageInsight cmdlet deletes an existing storage insight from a workspace. + The Remove-AzureRMOperationalInsightsStorageInsight cmdlet deletes an existing storage insight from a workspace. - Remove-AzureOperationalInsightsStorageInsight + Remove-AzureRMOperationalInsightsStorageInsight ResourceGroupName @@ -1313,7 +1313,7 @@ - Remove-AzureOperationalInsightsStorageInsight + Remove-AzureRMOperationalInsightsStorageInsight Workspace @@ -1460,7 +1460,7 @@ - Remove-AzureOperationalInsightsWorkspace + Remove-AzureRMOperationalInsightsWorkspace Deletes an existing workspace @@ -1472,11 +1472,11 @@ - The Remove-AzureOperationalInsightsWorkspace cmdlet deletes an existing workspace. If this workspace was linked to an existing account via the CustomerId parameter at creation time the original account will not be deleted in the Operational Insights portal. + The Remove-AzureRMOperationalInsightsWorkspace cmdlet deletes an existing workspace. If this workspace was linked to an existing account via the CustomerId parameter at creation time the original account will not be deleted in the Operational Insights portal. - Remove-AzureOperationalInsightsWorkspace + Remove-AzureRMOperationalInsightsWorkspace ResourceGroupName @@ -1599,7 +1599,7 @@ - Set-AzureOperationalInsightsStorageInsight + Set-AzureRMOperationalInsightsStorageInsight Updates an existing storage insight @@ -1611,11 +1611,11 @@ - The Set-AzureOperationalInsightsStorageInsight cmdlet allows the configuration of an existing storage insight to be changed. + The Set-AzureRMOperationalInsightsStorageInsight cmdlet allows the configuration of an existing storage insight to be changed. - Set-AzureOperationalInsightsStorageInsight + Set-AzureRMOperationalInsightsStorageInsight ResourceGroupName @@ -1667,7 +1667,7 @@ - Set-AzureOperationalInsightsStorageInsight + Set-AzureRMOperationalInsightsStorageInsight Workspace @@ -1852,7 +1852,7 @@ - Set-AzureOperationalInsightsWorkspace + Set-AzureRMOperationalInsightsWorkspace Updates an existing workspace @@ -1864,11 +1864,11 @@ - The Set-AzureOperationalInsightsWorkspace cmdlet allows the configuration of an existing workspace to be changed. + The Set-AzureRMOperationalInsightsWorkspace cmdlet allows the configuration of an existing workspace to be changed. - Set-AzureOperationalInsightsWorkspace + Set-AzureRMOperationalInsightsWorkspace ResourceGroupName @@ -1906,7 +1906,7 @@ - Set-AzureOperationalInsightsWorkspace + Set-AzureRMOperationalInsightsWorkspace Workspace @@ -2053,7 +2053,7 @@ - Get-AzureProvider + Get-AzureRMResourceProvider diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/OperationalInsightsBaseCmdlet.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/OperationalInsightsBaseCmdlet.cs index ee523cb3e54d..05992a38d09d 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/OperationalInsightsBaseCmdlet.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/OperationalInsightsBaseCmdlet.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.OperationalInsights { - public abstract class OperationalInsightsBaseCmdlet : AzurePSCmdlet + public abstract class OperationalInsightsBaseCmdlet : ResourceManager.Common.AzureRMCmdlet { protected const string ByWorkspaceName = "ByWorkspaceName"; protected const string ByWorkspaceObject = "ByWorkspaceObject"; @@ -34,7 +34,7 @@ internal OperationalInsightsClient OperationalInsightsClient { if (this.operationalInsightsClient == null) { - this.operationalInsightsClient = new OperationalInsightsClient(Profile.Context); + this.operationalInsightsClient = new OperationalInsightsClient(DefaultProfile.Context); } return this.operationalInsightsClient; diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/GetAzureOperationalInsightsStorageInsightCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/GetAzureOperationalInsightsStorageInsightCommand.cs index df611b6b5577..e3977929f3ac 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/GetAzureOperationalInsightsStorageInsightCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/GetAzureOperationalInsightsStorageInsightCommand.cs @@ -41,7 +41,7 @@ public class GetAzureOperationalInsightsStorageInsightCommand : OperationalInsig [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByWorkspaceObject) { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/NewAzureOperationalInsightsStorageInsightCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/NewAzureOperationalInsightsStorageInsightCommand.cs index 40695e1e1356..71aa648abb08 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/NewAzureOperationalInsightsStorageInsightCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/NewAzureOperationalInsightsStorageInsightCommand.cs @@ -62,7 +62,7 @@ public class NewAzureOperationalInsightsStorageInsightCommand : OperationalInsig [Parameter(Mandatory = false, HelpMessage = "Don't ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { CreatePSStorageInsightParameters parameters = new CreatePSStorageInsightParameters() { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/RemoveAzureOperationalInsightsStorageInsightCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/RemoveAzureOperationalInsightsStorageInsightCommand.cs index 11572ec45528..4b38d1f2ce46 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/RemoveAzureOperationalInsightsStorageInsightCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/RemoveAzureOperationalInsightsStorageInsightCommand.cs @@ -47,7 +47,7 @@ public class RemoveAzureOperationalInsightsStorageInsightCommand : OperationalIn [Parameter(Mandatory = false, HelpMessage = "Don't ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByWorkspaceObject) { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/SetAzureOperationalInsightsStorageInsightCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/SetAzureOperationalInsightsStorageInsightCommand.cs index c9c8ff21340e..e6d18c2b292e 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/SetAzureOperationalInsightsStorageInsightCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/StorageInsights/SetAzureOperationalInsightsStorageInsightCommand.cs @@ -54,7 +54,7 @@ public class SetAzureOperationalInsightsStorageInsightCommand : OperationalInsig HelpMessage = "The Azure Storage blob containers that the storage insight will read data from.")] public string[] Containers { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByWorkspaceObject) { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsLinkTargetsCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsLinkTargetsCommand.cs index f310fb7ad4ac..8671f4e1952e 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsLinkTargetsCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsLinkTargetsCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.OperationalInsights [Cmdlet(VerbsCommon.Get, Constants.LinkTargets), OutputType(typeof(List))] public class GetAzureOperationalInsightsLinkTargetsCommand : OperationalInsightsBaseCmdlet { - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(OperationalInsightsClient.GetLinkTargets(), true); } diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceCommand.cs index cb60a42886c3..df9ec4b3cd96 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceCommand.cs @@ -31,7 +31,7 @@ public class GetAzureOperationalInsightsWorkspaceCommand : OperationalInsightsBa [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(OperationalInsightsClient.FilterPSWorkspaces(ResourceGroupName, Name), true); } diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceManagementGroupsCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceManagementGroupsCommand.cs index 0175cf395ced..b260e13e7afe 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceManagementGroupsCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceManagementGroupsCommand.cs @@ -31,7 +31,7 @@ public class GetAzureOperationalInsightsWorkspaceManagementGroupsCommand : Opera [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(OperationalInsightsClient.GetWorkspaceManagementGroups(ResourceGroupName, Name), true); } diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceSharedKeysCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceSharedKeysCommand.cs index d599bfffb668..b8d46f0b7102 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceSharedKeysCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceSharedKeysCommand.cs @@ -30,7 +30,7 @@ public class GetAzureOperationalInsightsWorkspaceSharedKeysCommand : Operational [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(OperationalInsightsClient.GetWorkspaceKeys(ResourceGroupName, Name)); } diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceUsageCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceUsageCommand.cs index 686a5d5ec69c..44da9100b2a6 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceUsageCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/GetAzureOperationalInsightsWorkspaceUsageCommand.cs @@ -31,7 +31,7 @@ public class GetAzureOperationalInsightsWorkspaceUsageCommand : OperationalInsig [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(OperationalInsightsClient.GetWorkspaceUsage(ResourceGroupName, Name), true); } diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/NewAzureOperationalInsightsWorkspaceCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/NewAzureOperationalInsightsWorkspaceCommand.cs index abc8a5c0caa4..907e1b5a59d5 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/NewAzureOperationalInsightsWorkspaceCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/NewAzureOperationalInsightsWorkspaceCommand.cs @@ -53,7 +53,7 @@ public class NewAzureOperationalInsightsWorkspaceCommand : OperationalInsightsBa [Parameter(Mandatory = false, HelpMessage = "Don't ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { CreatePSWorkspaceParameters parameters = new CreatePSWorkspaceParameters() { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/RemoveAzureOperationalInsightsWorkspaceCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/RemoveAzureOperationalInsightsWorkspaceCommand.cs index d37fdbb6e49d..723847af3512 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/RemoveAzureOperationalInsightsWorkspaceCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/RemoveAzureOperationalInsightsWorkspaceCommand.cs @@ -35,7 +35,7 @@ public class RemoveAzureOperationalInsightsWorkspaceCommand : OperationalInsight [Parameter(Mandatory = false, HelpMessage = "Don't ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/SetAzureOperationalInsightsWorkspaceCommand.cs b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/SetAzureOperationalInsightsWorkspaceCommand.cs index fb0c0032f255..bff2e831e5dc 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/SetAzureOperationalInsightsWorkspaceCommand.cs +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/Workspaces/SetAzureOperationalInsightsWorkspaceCommand.cs @@ -45,7 +45,7 @@ public class SetAzureOperationalInsightsWorkspaceCommand : OperationalInsightsBa HelpMessage = "The resource tags for the workspace.")] public Hashtable Tags { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ParameterSetName == ByObject) { diff --git a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/packages.config b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/packages.config index b13cfe99dba7..2724561ee814 100644 --- a/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/packages.config +++ b/src/ResourceManager/OperationalInsights/Commands.OperationalInsights/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ResourceManager/Profile/AzureRM.Profile.psd1 b/src/ResourceManager/Profile/AzureRM.Profile.psd1 new file mode 100644 index 000000000000..c7ea821c2ed1 --- /dev/null +++ b/src/ResourceManager/Profile/AzureRM.Profile.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Profile' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '342714fc-4009-4863-8afb-a9067e3db04b' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Profile' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Profile.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Profile.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/AzureRMProfileTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/AzureRMProfileTests.cs new file mode 100644 index 000000000000..8ca2d32b944a --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/AzureRMProfileTests.cs @@ -0,0 +1,135 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Common.Authentication.Models; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using System.Collections.Generic; +using Microsoft.WindowsAzure.Commands.ScenarioTest; + +namespace Microsoft.Azure.Commands.ResourceManager.Common.Test +{ + + public class AzureRMProfileTests + { + private const string DefaultAccount = "admin@contoso.com"; + private static Guid DefaultSubscription = Guid.NewGuid(); + private static string DefaultSubscriptionName = "Contoso Subscription"; + private static string DefaultDomain = "contoso.com"; + private static Guid DefaultTenant = Guid.NewGuid(); + + private static RMProfileClient SetupTestEnvironment(List tenants, params List[] subscriptionLists) + { + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(DefaultAccount, + Guid.NewGuid().ToString(), DefaultTenant.ToString()); + var subscriptionList = new Queue>(subscriptionLists); + var clientFactory = new MockSubscriptionClientFactory(tenants, subscriptionList); + var mock = new MockClientFactory(new List + { + clientFactory.GetSubscriptionClient() + }, true); + mock.MoqClients = true; + AzureSession.ClientFactory = mock; + var context = new AzureContext(new AzureSubscription() + { + Account = DefaultAccount, + Environment = EnvironmentName.AzureCloud, + Id = DefaultSubscription, + Name = DefaultSubscriptionName + }, + new AzureAccount() { Id = DefaultAccount, Type = AzureAccount.AccountType.User }, + AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud], + new AzureTenant() { Domain = DefaultDomain, Id = DefaultTenant }); + var profile = new AzureRMProfile(); + profile.Context = context; + return new RMProfileClient(profile); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void MultipleTenantsAndSubscriptionsSucceed() + { + var tenants = new List {Guid.NewGuid().ToString(), DefaultTenant.ToString()}; + var firstList = new List { DefaultSubscription.ToString(), Guid.NewGuid().ToString() }; + var secondList = new List { Guid.NewGuid().ToString()}; + var client = SetupTestEnvironment(tenants, firstList, secondList); + var subResults = new List(client.ListSubscriptions()); + Assert.Equal(3, subResults.Count); + var tenantResults = client.ListTenants(); + Assert.Equal(2, tenantResults.Count()); + tenantResults = client.ListTenants(DefaultTenant.ToString()); + Assert.Equal(1, tenantResults.Count()); + AzureSubscription subValue; + Assert.True(client.TryGetSubscription(DefaultTenant.ToString(), DefaultSubscription.ToString(), out subValue)); + Assert.Equal(DefaultSubscription.ToString(), subValue.Id.ToString()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SingleTenantAndSubscriptionSucceeds() + { + var tenants = new List {DefaultTenant.ToString()}; + var subscriptions = new List {DefaultSubscription.ToString()}; + var client = SetupTestEnvironment(tenants, subscriptions); + var subResults = new List(client.ListSubscriptions()); + Assert.Equal(1, subResults.Count); + var tenantResults = client.ListTenants(); + Assert.Equal(1, tenantResults.Count()); + tenantResults = client.ListTenants(DefaultTenant.ToString()); + Assert.Equal(1, tenantResults.Count()); + AzureSubscription subValue; + Assert.True(client.TryGetSubscription(DefaultTenant.ToString(), DefaultSubscription.ToString(), out subValue)); + Assert.Equal(DefaultSubscription.ToString(), subValue.Id.ToString()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SubscriptionNotFoundDoesNotThrow() + { + var tenants = new List { DefaultTenant.ToString() }; + var subscriptions = new List { Guid.NewGuid().ToString() }; + var client = SetupTestEnvironment(tenants, subscriptions); + var subResults = new List(client.ListSubscriptions()); + Assert.Equal(1, subResults.Count); + AzureSubscription subValue; + Assert.False(client.TryGetSubscription(DefaultTenant.ToString(), DefaultSubscription.ToString(), out subValue)); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void NoTenantsDoesNotThrow() + { + var tenants = new List { }; + var subscriptions = new List { Guid.NewGuid().ToString() }; + var client = SetupTestEnvironment(tenants, subscriptions); + Assert.Equal(0, client.ListSubscriptions().Count()); + Assert.Equal(0, client.ListTenants().Count()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void NoSubscriptionsInListThrows() + { + var tenants = new List { DefaultTenant.ToString() }; + var subscriptions = new List () ; + var client = SetupTestEnvironment(tenants, subscriptions); + Assert.Equal(0, client.ListSubscriptions().Count()); + AzureSubscription subValue; + Assert.False(client.TryGetSubscription(DefaultTenant.ToString(), DefaultSubscription.ToString(), out subValue)); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/Commands.Profile.Test.csproj b/src/ResourceManager/Profile/Commands.Profile.Test/Commands.Profile.Test.csproj new file mode 100644 index 000000000000..28ac587d6253 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/Commands.Profile.Test.csproj @@ -0,0 +1,225 @@ + + + + + + + Debug + AnyCPU + {152D78F0-A642-4D0E-B3A8-2FC64FFA9714} + Library + Properties + Microsoft.Azure.Commands.Profile.Test + Microsoft.Azure.Commands.Profile.Test + v4.5 + 512 + + ..\..\..\ + true + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 98e53b12 + + + true + full + false + bin\Debug + DEBUG;TRACE + prompt + 4 + true + true + false + + + bin\Release + TRACE;SIGN + true + pdbonly + AnyCPU + bin\Release\Microsoft.Azure.Commands.Profile.Test.dll.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;$(ProgramFiles)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\Rule Sets + ;$(ProgramFiles)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\Rules + true + MSSharedLibKey.snk + true + true + false + + + + ..\..\..\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 + + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True + + + ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + + + 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 + True + + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + True + + + False + ..\..\..\packages\Microsoft.Data.Edm.5.6.4\lib\net40\Microsoft.Data.Edm.dll + + + False + ..\..\..\packages\Microsoft.Data.OData.5.6.4\lib\net40\Microsoft.Data.OData.dll + + + False + ..\..\..\packages\Microsoft.Data.Services.Client.5.6.4\lib\net40\Microsoft.Data.Services.Client.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.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + True + + + ..\..\..\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 + + + False + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + + ..\..\..\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.3\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll + + + ..\..\..\packages\Microsoft.WindowsAzure.Management.4.1.1\lib\net40\Microsoft.WindowsAzure.Management.dll + + + ..\..\..\packages\Microsoft.WindowsAzure.Management.Compute.12.3.1\lib\net40\Microsoft.WindowsAzure.Management.Compute.dll + + + ..\..\..\packages\Microsoft.WindowsAzure.Management.Storage.5.1.1\lib\net40\Microsoft.WindowsAzure.Management.Storage.dll + + + ..\..\..\packages\WindowsAzure.Storage.5.0.0\lib\net40\Microsoft.WindowsAzure.Storage.dll + + + False + ..\..\..\packages\Moq.4.2.1402.2112\lib\net40\Moq.dll + + + ..\..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.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 + + + + + False + ..\..\..\packages\System.Spatial.5.6.4\lib\net40\System.Spatial.dll + + + + + + + + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True + + + + + + + + + + + + + + + + + PreserveNewest + + + + + PreserveNewest + + + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + {142d7b0b-388a-4ceb-a228-7f6d423c5c2e} + Commands.Profile + + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.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/ResourceManager/Profile/Commands.Profile.Test/ContextCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/ContextCmdletTests.cs new file mode 100644 index 000000000000..4af66377caf0 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/ContextCmdletTests.cs @@ -0,0 +1,142 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; + +namespace Microsoft.Azure.Commands.ResourceManager.Profile.Test +{ + public class ContextCmdletTests : RMTestBase + { + private MemoryDataStore dataStore; + private MockCommandRuntime commandRuntimeMock; + + public ContextCmdletTests() + { + dataStore = new MemoryDataStore(); + AzureSession.DataStore = dataStore; + commandRuntimeMock = new MockCommandRuntime(); + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void GetAzureContext() + { + var cmdlt = new GetAzureRMContextCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); + var context = (AzureContext) commandRuntimeMock.OutputPipeline[0]; + Assert.Equal("test", context.Subscription.Name); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureContextWithSubscriptionAndTenant() + { + var cmdlt = new SetAzureRMContextCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = "db1ab6f0-4769-4b27-930e-01e2ef9c123c"; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); + var context = (AzureContext)commandRuntimeMock.OutputPipeline[0]; + Assert.Equal("db1ab6f0-4769-4b27-930e-01e2ef9c123c", context.Subscription.Id.ToString()); + Assert.Equal("72f988bf-86f1-41af-91ab-2d7cd011db47", context.Tenant.Id.ToString()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureContextWithSubscriptionAndNoTenant() + { + var cmdlt = new SetAzureRMContextCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = "db1ab6f0-4769-4b27-930e-01e2ef9c123c"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); + var context = (AzureContext)commandRuntimeMock.OutputPipeline[0]; + Assert.Equal("db1ab6f0-4769-4b27-930e-01e2ef9c123c", context.Subscription.Id.ToString()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureContextWithNoSubscriptionAndTenant() + { + var cmdlt = new SetAzureRMContextCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); + var context = (AzureContext)commandRuntimeMock.OutputPipeline[0]; + Assert.Equal("72f988bf-86f1-41af-91ab-2d7cd011db47", context.Tenant.Id.ToString()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureContextWithNoSubscriptionAndNoTenant() + { + var cmdlt = new SetAzureRMContextCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(commandRuntimeMock.OutputPipeline.Count == 1); + var context = (AzureContext)commandRuntimeMock.OutputPipeline[0]; + Assert.NotNull(context); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/EnvironmentCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/EnvironmentCmdletTests.cs new file mode 100644 index 000000000000..e477f071f432 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/EnvironmentCmdletTests.cs @@ -0,0 +1,363 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; +using Moq; +using System.Management.Automation; +using System.Collections.Generic; + +namespace Microsoft.Azure.Commands.ResourceManager.Profile.Test +{ + public class EnvironmentCmdletTests : RMTestBase + { + private MemoryDataStore dataStore; + + public EnvironmentCmdletTests() + { + dataStore = new MemoryDataStore(); + AzureSession.DataStore = dataStore; + } + + public void Cleanup() + { + currentProfile = null; + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void AddsAzureEnvironment() + { + Mock commandRuntimeMock = new Mock(); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "Katal", + PublishSettingsFileUrl = "http://microsoft.com", + ServiceEndpoint = "endpoint.net", + ManagementPortalUrl = "management portal url", + StorageEndpoint = "endpoint.net", + GalleryEndpoint = "http://galleryendpoint.com", + }; + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny()), Times.Once()); + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + AzureEnvironment env = AzureRMCmdlet.DefaultProfile.Environments["KaTaL"]; + Assert.Equal(env.Name, cmdlet.Name); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl], cmdlet.PublishSettingsFileUrl); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ServiceManagement], cmdlet.ServiceEndpoint); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl], cmdlet.ManagementPortalUrl); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.Gallery], "http://galleryendpoint.com"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void AddsEnvironmentWithMinimumInformation() + { + Mock commandRuntimeMock = new Mock(); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "Katal", + PublishSettingsFileUrl = "http://microsoft.com", + EnableAdfsAuthentication = true, + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny()), Times.Once()); + AzureEnvironment env = AzureRMCmdlet.DefaultProfile.Environments["KaTaL"]; + Assert.Equal(env.Name, cmdlet.Name); + Assert.True(env.OnPremise); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl], cmdlet.PublishSettingsFileUrl); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void IgnoresAddingDuplicatedEnvironment() + { + var profile = new AzureSMProfile(); + var commandRuntimeMock = new Mock(); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "Katal", + PublishSettingsFileUrl = "http://microsoft.com", + ServiceEndpoint = "endpoint.net", + ManagementPortalUrl = "management portal url", + StorageEndpoint = "endpoint.net" + }; + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + ProfileClient client = new ProfileClient(profile); + int count = client.Profile.Environments.Count; + + // Add again + cmdlet.Name = "kAtAl"; + cmdlet.ExecuteCmdlet(); + AzureEnvironment env = AzureRMCmdlet.DefaultProfile.Environments["KaTaL"]; + Assert.Equal(env.Name, cmdlet.Name); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void IgnoresAddingPublicEnvironment() + { + var commandRuntimeMock = new Mock(); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = EnvironmentName.AzureCloud, + PublishSettingsFileUrl = "http://microsoft.com" + }; + + Assert.Throws(() => cmdlet.ExecuteCmdlet()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void AddsEnvironmentWithStorageEndpoint() + { + Mock commandRuntimeMock = new Mock(); + PSAzureEnvironment actual = null; + commandRuntimeMock.Setup(f => f.WriteObject(It.IsAny())) + .Callback((object output) => actual = (PSAzureEnvironment)output); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "Katal", + PublishSettingsFileUrl = "http://microsoft.com", + StorageEndpoint = "core.windows.net", + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny()), Times.Once()); + AzureEnvironment env = AzureRMCmdlet.DefaultProfile.Environments["KaTaL"]; + Assert.Equal(env.Name, cmdlet.Name); + Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix], actual.StorageEndpointSuffix); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void CanCreateEnvironmentWithAllProperties() + { + Mock commandRuntimeMock = new Mock(); + PSAzureEnvironment actual = null; + commandRuntimeMock.Setup(f => f.WriteObject(It.IsAny())) + .Callback((object output) => actual = (PSAzureEnvironment)output); + var cmdlet = new AddAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "Katal", + ActiveDirectoryEndpoint = "ActiveDirectoryEndpoint", + AdTenant = "AdTenant", + AzureKeyVaultDnsSuffix = "AzureKeyVaultDnsSuffix", + ActiveDirectoryServiceEndpointResourceId = "ActiveDirectoryServiceEndpointResourceId", + AzureKeyVaultServiceEndpointResourceId = "AzureKeyVaultServiceEndpointResourceId", + EnableAdfsAuthentication = true, + GalleryEndpoint = "GalleryEndpoint", + GraphEndpoint = "GraphEndpoint", + ManagementPortalUrl = "ManagementPortalUrl", + PublishSettingsFileUrl = "PublishSettingsFileUrl", + ResourceManagerEndpoint = "ResourceManagerEndpoint", + ServiceEndpoint = "ServiceEndpoint", + StorageEndpoint = "StorageEndpoint", + SqlDatabaseDnsSuffix = "SqlDatabaseDnsSuffix", + TrafficManagerDnsSuffix = "TrafficManagerDnsSuffix" + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + Assert.Equal(cmdlet.Name, actual.Name); + Assert.Equal(cmdlet.EnableAdfsAuthentication.ToBool(), actual.EnableAdfsAuthentication); + Assert.Equal(cmdlet.ActiveDirectoryEndpoint, actual.ActiveDirectoryAuthority); + Assert.Equal(cmdlet.ActiveDirectoryServiceEndpointResourceId, + actual.ActiveDirectoryServiceEndpointResourceId); + Assert.Equal(cmdlet.AdTenant, actual.AdTenant); + Assert.Equal(cmdlet.AzureKeyVaultDnsSuffix, actual.AzureKeyVaultDnsSuffix); + Assert.Equal(cmdlet.AzureKeyVaultServiceEndpointResourceId, actual.AzureKeyVaultServiceEndpointResourceId); + Assert.Equal(cmdlet.GalleryEndpoint, actual.GalleryUrl); + Assert.Equal(cmdlet.GraphEndpoint, actual.GraphUrl); + Assert.Equal(cmdlet.ManagementPortalUrl, actual.ManagementPortalUrl); + Assert.Equal(cmdlet.PublishSettingsFileUrl, actual.PublishSettingsFileUrl); + Assert.Equal(cmdlet.ResourceManagerEndpoint, actual.ResourceManagerUrl); + Assert.Equal(cmdlet.ServiceEndpoint, actual.ServiceManagementUrl); + Assert.Equal(cmdlet.StorageEndpoint, actual.StorageEndpointSuffix); + Assert.Equal(cmdlet.SqlDatabaseDnsSuffix, actual.SqlDatabaseDnsSuffix); + Assert.Equal( cmdlet.TrafficManagerDnsSuffix , actual.TrafficManagerDnsSuffix); + commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny()), Times.Once()); + AzureEnvironment env = AzureRMCmdlet.DefaultProfile.Environments["KaTaL"]; + Assert.Equal(env.Name, cmdlet.Name); + } + + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void GetsAzureEnvironments() + { + List environments = null; + Mock commandRuntimeMock = new Mock(); + commandRuntimeMock.Setup(c => c.WriteObject(It.IsAny(), It.IsAny())) + .Callback((e, _) => environments = (List)e); + + var cmdlet = new GetAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + Assert.Equal(2, environments.Count); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void GetsAzureEnvironment() + { + List environments = null; + Mock commandRuntimeMock = new Mock(); + commandRuntimeMock.Setup(c => c.WriteObject(It.IsAny(), It.IsAny())) + .Callback((e, _) => environments = (List)e); + + var cmdlet = new GetAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = EnvironmentName.AzureChinaCloud + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + Assert.Equal(1, environments.Count); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void ThrowsWhenSettingPublicEnvironment() + { + Mock commandRuntimeMock = new Mock(); + + foreach (string name in AzureEnvironment.PublicEnvironments.Keys) + { + var cmdlet = new SetAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = name, + PublishSettingsFileUrl = "http://microsoft.com" + }; + var savedValue = AzureEnvironment.PublicEnvironments[name].GetEndpoint(AzureEnvironment.Endpoint.PublishSettingsFileUrl); + cmdlet.InvokeBeginProcessing(); + Assert.Throws(() => cmdlet.ExecuteCmdlet()); + var newValue = AzureRMCmdlet.DefaultProfile.Environments[name].GetEndpoint(AzureEnvironment.Endpoint.PublishSettingsFileUrl); + Assert.Equal(savedValue, newValue); + Assert.NotEqual(cmdlet.PublishSettingsFileUrl, newValue); + } + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void RemovesAzureEnvironment() + { + var commandRuntimeMock = new Mock(); + commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny(), It.IsAny())).Returns(true); + + const string name = "test"; + RMProfileClient client = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + client.AddOrSetEnvironment(new AzureEnvironment + { + Name = name + }); + + var cmdlet = new RemoveAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Force = true, + Name = name + }; + + cmdlet.InvokeBeginProcessing(); + cmdlet.ExecuteCmdlet(); + cmdlet.InvokeEndProcessing(); + + Assert.False(AzureRMCmdlet.DefaultProfile.Environments.ContainsKey(name)); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void ThrowsForUnknownEnvironment() + { + Mock commandRuntimeMock = new Mock(); + commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny(), It.IsAny())).Returns(true); + + var cmdlet = new RemoveAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Name = "test2", + Force = true + }; + + cmdlet.InvokeBeginProcessing(); + Assert.Throws(() => cmdlet.ExecuteCmdlet()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void ThrowsForPublicEnvironment() + { + Mock commandRuntimeMock = new Mock(); + commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny(), It.IsAny())).Returns(true); + + foreach (string name in AzureEnvironment.PublicEnvironments.Keys) + { + var cmdlet = new RemoveAzureRMEnvironmentCommand() + { + CommandRuntime = commandRuntimeMock.Object, + Force = true, + Name = name + }; + + cmdlet.InvokeBeginProcessing(); + Assert.Throws(() => cmdlet.ExecuteCmdlet()); + } + } + + + public void Dispose() + { + Cleanup(); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/LoginCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/LoginCmdletTests.cs new file mode 100644 index 000000000000..119ec1ed5dcb --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/LoginCmdletTests.cs @@ -0,0 +1,132 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; +using Hyak.Common; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile.Test +{ + public class LoginCmdletTests + { + private MemoryDataStore dataStore; + private MockCommandRuntime commandRuntimeMock; + + public LoginCmdletTests() + { + dataStore = new MemoryDataStore(); + AzureSession.DataStore = dataStore; + commandRuntimeMock = new MockCommandRuntime(); + AzureRMCmdlet.DefaultProfile = new AzureRMProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void LoginWithSubscriptionAndTenant() + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = "2c224e7e-3ef5-431d-a57b-e71f4662e3a6"; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.NotNull(AzureRMCmdlet.DefaultProfile.Context); + Assert.Equal("microsoft.com", AzureRMCmdlet.DefaultProfile.Context.Tenant.Domain); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void LoginWithInvalidSubscriptionAndTenantThrowsCloudException() + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = "2c224e7e-3ef5-431d-a57b-e71f4662e3a5"; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + cmdlt.InvokeBeginProcessing(); + Assert.Throws(() => cmdlt.ExecuteCmdlet()); + cmdlt.InvokeEndProcessing(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void LoginWithSubscriptionAndNoTenant() + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = "2c224e7e-3ef5-431d-a57b-e71f4662e3a6"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.NotNull(AzureRMCmdlet.DefaultProfile.Context); + Assert.Equal("microsoft.com", AzureRMCmdlet.DefaultProfile.Context.Tenant.Domain); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void LoginWithNoSubscriptionAndNoTenant() + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.NotNull(AzureRMCmdlet.DefaultProfile.Context); + Assert.Equal("microsoft.com", AzureRMCmdlet.DefaultProfile.Context.Tenant.Domain); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void LoginWithNoSubscriptionAndTenant() + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.NotNull(AzureRMCmdlet.DefaultProfile.Context); + Assert.Equal("microsoft.com", AzureRMCmdlet.DefaultProfile.Context.Tenant.Domain); + } + } +} diff --git a/src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/MSSharedLibKey.snk b/src/ResourceManager/Profile/Commands.Profile.Test/MSSharedLibKey.snk similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.StorageTestLib/MSSharedLibKey.snk rename to src/ResourceManager/Profile/Commands.Profile.Test/MSSharedLibKey.snk diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/MockSubscriptionClientFactory.cs b/src/ResourceManager/Profile/Commands.Profile.Test/MockSubscriptionClientFactory.cs new file mode 100644 index 000000000000..6ae2407c865f --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/MockSubscriptionClientFactory.cs @@ -0,0 +1,120 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Net; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Azure.Subscriptions; +using Microsoft.Azure.Subscriptions.Models; +using Moq; + +namespace Microsoft.Azure.Commands.ResourceManager.Common.Test +{ + public class MockSubscriptionClientFactory + { + private IList _tenants; + private Queue> _subscriptions; + private HashSet _subscriptionSet; + public MockSubscriptionClientFactory(List tenants, Queue> subscriptions) + { + _tenants = tenants; + _subscriptions = new Queue>(); + _subscriptionSet = new HashSet(); + foreach (var subscriptionList in subscriptions) + { + _subscriptions.Enqueue(subscriptionList); + foreach (var subscription in subscriptionList) + { + _subscriptionSet.Add(subscription); + } + } + } + + public SubscriptionClient GetSubscriptionClient() + { + var tenantMock = new Mock(); + tenantMock.Setup(t => t.ListAsync(It.IsAny())) + .Returns( + (CancellationToken token) => + Task.FromResult(new TenantListResult() + { + StatusCode = HttpStatusCode.OK, + RequestId = Guid.NewGuid().ToString(), + TenantIds = _tenants.Select((k) => new TenantIdDescription() { Id = k, TenantId = k }).ToList() + })); + var subscriptionMock = new Mock(); + subscriptionMock.Setup( + s => s.GetAsync(It.IsAny(), It.IsAny())).Returns( + (string subId, CancellationToken token) => + { + GetSubscriptionResult result = new GetSubscriptionResult + { + RequestId = Guid.NewGuid().ToString(), + StatusCode = HttpStatusCode.NotFound + }; + if (_subscriptionSet.Contains(subId)) + { + result.StatusCode = HttpStatusCode.OK; + result.Subscription = + new Subscription + { + DisplayName = "Returned Subscription", + Id = subId, + State = "Active", + SubscriptionId = subId + }; + + } + + return Task.FromResult(result); + }); + subscriptionMock.Setup( + (s) => s.ListAsync(It.IsAny())).Returns( + (CancellationToken token) => + { + SubscriptionListResult result = null; + if (_subscriptions.Count > 0) + { + var subscriptionList = _subscriptions.Dequeue(); + result = new SubscriptionListResult + { + StatusCode = HttpStatusCode.OK, + RequestId = Guid.NewGuid().ToString(), + Subscriptions = + new List( + subscriptionList.Select( + sub => + new Subscription + { + DisplayName = "Contoso Subscription", + Id = sub, + State = "Active", + SubscriptionId = sub + })) + }; + } + + return Task.FromResult(result); + }); + var client = new Mock(); + client.SetupGet(c => c.Subscriptions).Returns(subscriptionMock.Object); + client.SetupGet(c => c.Tenants).Returns(tenantMock.Object); + return client.Object; + } + } + +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/ProfileCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/ProfileCmdletTests.cs new file mode 100644 index 000000000000..64f4344771c8 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/ProfileCmdletTests.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 Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; + +namespace Microsoft.Azure.Commands.ResourceManager.Profile.Test +{ + public class ProfileCmdletTests : RMTestBase + { + private MemoryDataStore dataStore; + private MockCommandRuntime commandRuntimeMock; + + public ProfileCmdletTests() + { + dataStore = new MemoryDataStore(); + AzureSession.DataStore = dataStore; + commandRuntimeMock = new MockCommandRuntime(); + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureProfileInMemory() + { + var profile = new AzureRMProfile(); + profile.Environments.Add("foo", AzureEnvironment.PublicEnvironments.Values.FirstOrDefault()); + SelectAzureRMProfileCommand cmdlt = new SelectAzureRMProfileCommand(); + // Setup + cmdlt.Profile = profile; + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(AzureRMCmdlet.DefaultProfile.Environments.ContainsKey("foo")); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureProfileNull() + { + SelectAzureRMProfileCommand cmdlt = new SelectAzureRMProfileCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + Assert.Throws(() => cmdlt.ExecuteCmdlet()); + cmdlt.InvokeEndProcessing(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SelectAzureProfileFromDisk() + { + var profile = new AzureRMProfile(); + profile.Environments.Add("foo", AzureEnvironment.PublicEnvironments.Values.FirstOrDefault()); + profile.Save("X:\\foo.json"); + SelectAzureRMProfileCommand cmdlt = new SelectAzureRMProfileCommand(); + // Setup + cmdlt.Path = "X:\\foo.json"; + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(AzureRMCmdlet.DefaultProfile.Environments.ContainsKey("foo")); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SaveAzureProfileInMemory() + { + var profile = new AzureRMProfile(); + profile.Environments.Add("foo", AzureEnvironment.PublicEnvironments.Values.FirstOrDefault()); + SaveAzureRMProfileCommand cmdlt = new SaveAzureRMProfileCommand(); + // Setup + cmdlt.Profile = profile; + cmdlt.Path = "X:\\foo.json"; + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(AzureSession.DataStore.FileExists("X:\\foo.json")); + var profile2 = new AzureRMProfile("X:\\foo.json"); + Assert.True(profile2.Environments.ContainsKey("foo")); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SaveAzureProfileNull() + { + SaveAzureRMProfileCommand cmdlt = new SaveAzureRMProfileCommand(); + // Setup + AzureRMCmdlet.DefaultProfile = null; + cmdlt.Path = "X:\\foo.json"; + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + Assert.Throws(() => cmdlt.ExecuteCmdlet()); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void SaveAzureProfileFromDefault() + { + var profile = new AzureRMProfile(); + profile.Environments.Add("foo", AzureEnvironment.PublicEnvironments.Values.FirstOrDefault()); + profile.Context = new AzureContext(new AzureSubscription(), new AzureAccount(), profile.Environments["foo"]); + AzureRMCmdlet.DefaultProfile = profile; + SaveAzureRMProfileCommand cmdlt = new SaveAzureRMProfileCommand(); + // Setup + cmdlt.Path = "X:\\foo.json"; + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + // Verify + Assert.True(AzureSession.DataStore.FileExists("X:\\foo.json")); + var profile2 = new AzureRMProfile("X:\\foo.json"); + Assert.True(profile2.Environments.ContainsKey("foo")); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/ProfileController.cs b/src/ResourceManager/Profile/Commands.Profile.Test/ProfileController.cs new file mode 100644 index 000000000000..a9eee14788cd --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/ProfileController.cs @@ -0,0 +1,135 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Net.Http; +using System.Net.Http.Headers; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Management.Resources; +using Microsoft.Azure.Subscriptions; +using Microsoft.Azure.Test; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; + +namespace Microsoft.Azure.Commands.Resources.Test.ScenarioTests +{ + public sealed class ProfileController + { + private CSMTestEnvironmentFactory csmTestFactory; + private EnvironmentSetupHelper helper; + private const string TenantIdKey = "TenantId"; + private const string DomainKey = "Domain"; + private const string SubscriptionIdKey = "SubscriptionId"; + + + public SubscriptionClient SubscriptionClient { get; private set; } + + public string UserDomain { get; private set; } + + public static ProfileController NewInstance + { + get { return new ProfileController(); } + } + + public ProfileController() + { + helper = new EnvironmentSetupHelper(); + } + + public void RunPsTest(string tenant, params string[] scripts) + { + var callingClassType = TestUtilities.GetCallingClass(2); + var mockName = TestUtilities.GetCurrentMethodName(2); + + RunPsTestWorkflow( + () => scripts, + // no custom initializer + null, + // no custom cleanup + null, + callingClassType, + mockName, tenant); + } + + public void RunPsTestWorkflow( + Func scriptBuilder, + Action initialize, + Action cleanup, + string callingClassType, + string mockName, string tenant) + { + using (UndoContext context = UndoContext.Current) + { + context.Start(callingClassType, mockName); + + this.csmTestFactory = new CSMTestEnvironmentFactory(); + + if (initialize != null) + { + initialize(this.csmTestFactory); + } + + SetupManagementClients(); + + helper.SetupEnvironment(AzureModule.AzureResourceManager); + var oldFactory = AzureSession.AuthenticationFactory as MockTokenAuthenticationFactory; + AzureSession.AuthenticationFactory = new MockTokenAuthenticationFactory(oldFactory.Token.UserId, oldFactory.Token.AccessToken, tenant); + + var callingClassName = callingClassType + .Split(new[] {"."}, StringSplitOptions.RemoveEmptyEntries) + .Last(); + helper.SetupModules( + AzureModule.AzureResourceManager, + callingClassName + ".ps1"); + + try + { + if (scriptBuilder != null) + { + var psScripts = scriptBuilder(); + + if (psScripts != null) + { + helper.RunPowerShellTest(psScripts); + } + } + } + finally + { + if (cleanup != null) + { + cleanup(); + } + } + } + } + + private void SetupManagementClients() + { + SubscriptionClient = GetSubscriptionClient(); + + helper.SetupManagementClients(SubscriptionClient); + } + + + private SubscriptionClient GetSubscriptionClient() + { + return TestBase.GetServiceClient(this.csmTestFactory); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/Profile/Commands.Profile.Test/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..419035319ef3 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Xunit; + +[assembly: AssemblyTitle("Microsoft Azure Powershell - Common ResourceManager Profile Test")] +[assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)] +[assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)] +[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] + +[assembly: ComVisible(false)] +[assembly: CLSCompliant(false)] +[assembly: AssemblyVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] +[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/SessionRecords/Microsoft.Azure.Commands.Profile.Test.SubscriptionCmdletTests/AllParameterSetsSucceed.json b/src/ResourceManager/Profile/Commands.Profile.Test/SessionRecords/Microsoft.Azure.Commands.Profile.Test.SubscriptionCmdletTests/AllParameterSetsSucceed.json new file mode 100644 index 000000000000..6e40e34f6a17 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/SessionRecords/Microsoft.Azure.Commands.Profile.Test.SubscriptionCmdletTests/AllParameterSetsSucceed.json @@ -0,0 +1,392 @@ +{ + "Entries": [ + { + "RequestUri": "/tenants?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3RlbmFudHM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/tenants/72f988bf-86f1-41af-91ab-2d7cd011db47\",\r\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\r\n },\r\n {\r\n \"id\": \"/tenants/54826b22-38d6-4fb2-bad9-b7b93a3e9c5a\",\r\n \"tenantId\": \"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a\"\r\n },\r\n {\r\n \"id\": \"/tenants/d5f34e25-06f2-42eb-bbe1-0efebece6ed5\",\r\n \"tenantId\": \"d5f34e25-06f2-42eb-bbe1-0efebece6ed5\"\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "326" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14994" + ], + "x-ms-request-id": [ + "dfbcb8b4-79bd-4b49-98cd-2f48f03ab959" + ], + "x-ms-correlation-request-id": [ + "dfbcb8b4-79bd-4b49-98cd-2f48f03ab959" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092920Z:dfbcb8b4-79bd-4b49-98cd-2f48f03ab959" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:19 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"subscriptionId\": \"279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"displayName\": \"Azure SDK CI\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"subscriptionId\": \"2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"displayName\": \"Node CLI Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"subscriptionId\": \"69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"displayName\": \"WebStackAndEF_TestInfra\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"subscriptionId\": \"6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"displayName\": \"Azure SDK Infrastructure\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"subscriptionId\": \"9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"displayName\": \"FISMA Pen Testing Subscription\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"subscriptionId\": \"c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"displayName\": \"Azure SDK Powershell Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"subscriptionId\": \"d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"displayName\": \"Test Subscription 1 for Migration\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"subscriptionId\": \"db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"displayName\": \"Azure SDK sandbox\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"subscriptionId\": \"3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"displayName\": \"WindowsOnDevices\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"subscriptionId\": \"b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"displayName\": \"XFD Data Systems - Public\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "3016" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14993" + ], + "x-ms-request-id": [ + "3bf4c9ed-5a95-47ad-b574-3d3bab512da2" + ], + "x-ms-correlation-request-id": [ + "3bf4c9ed-5a95-47ad-b574-3d3bab512da2" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092921Z:3bf4c9ed-5a95-47ad-b574-3d3bab512da2" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:20 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"subscriptionId\": \"279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"displayName\": \"Azure SDK CI\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"subscriptionId\": \"2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"displayName\": \"Node CLI Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"subscriptionId\": \"69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"displayName\": \"WebStackAndEF_TestInfra\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"subscriptionId\": \"6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"displayName\": \"Azure SDK Infrastructure\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"subscriptionId\": \"9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"displayName\": \"FISMA Pen Testing Subscription\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"subscriptionId\": \"c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"displayName\": \"Azure SDK Powershell Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"subscriptionId\": \"d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"displayName\": \"Test Subscription 1 for Migration\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"subscriptionId\": \"db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"displayName\": \"Azure SDK sandbox\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"subscriptionId\": \"3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"displayName\": \"WindowsOnDevices\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"subscriptionId\": \"b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"displayName\": \"XFD Data Systems - Public\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "3016" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14992" + ], + "x-ms-request-id": [ + "f59628b0-b505-47bd-8662-b362f1585fcc" + ], + "x-ms-correlation-request-id": [ + "f59628b0-b505-47bd-8662-b362f1585fcc" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092922Z:f59628b0-b505-47bd-8662-b362f1585fcc" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:21 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"subscriptionId\": \"279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"displayName\": \"Azure SDK CI\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"subscriptionId\": \"2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"displayName\": \"Node CLI Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"subscriptionId\": \"69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"displayName\": \"WebStackAndEF_TestInfra\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"subscriptionId\": \"6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"displayName\": \"Azure SDK Infrastructure\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"subscriptionId\": \"9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"displayName\": \"FISMA Pen Testing Subscription\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"subscriptionId\": \"c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"displayName\": \"Azure SDK Powershell Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"subscriptionId\": \"d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"displayName\": \"Test Subscription 1 for Migration\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"subscriptionId\": \"db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"displayName\": \"Azure SDK sandbox\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"subscriptionId\": \"3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"displayName\": \"WindowsOnDevices\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"subscriptionId\": \"b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"displayName\": \"XFD Data Systems - Public\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "3016" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14991" + ], + "x-ms-request-id": [ + "c6440f00-0988-475d-94da-24d45117ed6f" + ], + "x-ms-correlation-request-id": [ + "c6440f00-0988-475d-94da-24d45117ed6f" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092923Z:c6440f00-0988-475d-94da-24d45117ed6f" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:23 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"subscriptionId\": \"279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"displayName\": \"Azure SDK CI\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"subscriptionId\": \"2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"displayName\": \"Node CLI Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"subscriptionId\": \"69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"displayName\": \"WebStackAndEF_TestInfra\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"subscriptionId\": \"6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"displayName\": \"Azure SDK Infrastructure\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"subscriptionId\": \"9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"displayName\": \"FISMA Pen Testing Subscription\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"subscriptionId\": \"c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"displayName\": \"Azure SDK Powershell Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"subscriptionId\": \"d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"displayName\": \"Test Subscription 1 for Migration\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"subscriptionId\": \"db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"displayName\": \"Azure SDK sandbox\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"subscriptionId\": \"3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"displayName\": \"WindowsOnDevices\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"subscriptionId\": \"b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"displayName\": \"XFD Data Systems - Public\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "3016" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14990" + ], + "x-ms-request-id": [ + "821067d5-0dda-4c06-896c-d05adda670be" + ], + "x-ms-correlation-request-id": [ + "821067d5-0dda-4c06-896c-d05adda670be" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092941Z:821067d5-0dda-4c06-896c-d05adda670be" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:40 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"subscriptionId\": \"279b0675-cf67-467f-98f0-67ae31eb540f\",\r\n \"displayName\": \"Azure SDK CI\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"subscriptionId\": \"2c224e7e-3ef5-431d-a57b-e71f4662e3a6\",\r\n \"displayName\": \"Node CLI Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"subscriptionId\": \"69801886-4b2b-493b-ba5b-3b26dabadadc\",\r\n \"displayName\": \"WebStackAndEF_TestInfra\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"subscriptionId\": \"6b085460-5f21-477e-ba44-1035046e9101\",\r\n \"displayName\": \"Azure SDK Infrastructure\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"subscriptionId\": \"9ed7cca5-c306-4f66-9d1c-2766e67013d8\",\r\n \"displayName\": \"FISMA Pen Testing Subscription\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"subscriptionId\": \"c9cbd920-c00c-427c-852b-8aaf38badaeb\",\r\n \"displayName\": \"Azure SDK Powershell Test\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"subscriptionId\": \"d1e52cbc-b073-42e2-a0a0-c2f547118a6e\",\r\n \"displayName\": \"Test Subscription 1 for Migration\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"subscriptionId\": \"db1ab6f0-4769-4b27-930e-01e2ef9c123c\",\r\n \"displayName\": \"Azure SDK sandbox\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"subscriptionId\": \"3028579c-d25b-4ab8-87fc-455abc9bb7fb\",\r\n \"displayName\": \"WindowsOnDevices\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"subscriptionId\": \"b6b78feb-3074-4129-8748-42cee6c73020\",\r\n \"displayName\": \"XFD Data Systems - Public\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n }\r\n ]\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "3016" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14989" + ], + "x-ms-request-id": [ + "41377497-013c-4147-a578-899a8c738e7c" + ], + "x-ms-correlation-request-id": [ + "41377497-013c-4147-a578-899a8c738e7c" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092941Z:41377497-013c-4147-a578-899a8c738e7c" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:41 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDA5NzdjZGItMTYzZi00MzVmLTljMzItMzllYzhhZTYxZjRkP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "256" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "14998" + ], + "x-ms-request-id": [ + "0b257a33-7f01-4a98-8d98-1bc654be1159" + ], + "x-ms-correlation-request-id": [ + "0b257a33-7f01-4a98-8d98-1bc654be1159" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092923Z:0b257a33-7f01-4a98-8d98-1bc654be1159" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:23 GMT" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d?api-version=2014-04-01-preview", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMDA5NzdjZGItMTYzZi00MzVmLTljMzItMzllYzhhZTYxZjRkP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "Microsoft.Azure.Subscriptions.SubscriptionClient/2.0.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"subscriptionId\": \"00977cdb-163f-435f-9c32-39ec8ae61f4d\",\r\n \"displayName\": \"node\",\r\n \"state\": \"Enabled\",\r\n \"subscriptionPolicies\": {\r\n \"locationPlacementId\": \"Internal_2014-09-01\",\r\n \"quotaId\": \"Internal_2014-09-01\"\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "256" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "14997" + ], + "x-ms-request-id": [ + "ad76a94a-cb03-494f-853e-7c0a68a7766a" + ], + "x-ms-correlation-request-id": [ + "ad76a94a-cb03-494f-853e-7c0a68a7766a" + ], + "x-ms-routing-request-id": [ + "WESTUS:20150917T092936Z:ad76a94a-cb03-494f-853e-7c0a68a7766a" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 17 Sep 2015 09:29:36 GMT" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.cs new file mode 100644 index 000000000000..19c5917699ad --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.cs @@ -0,0 +1,41 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; +using Hyak.Common; +using System.Management.Automation; +using Microsoft.Azure.Commands.Resources.Test.ScenarioTests; + +namespace Microsoft.Azure.Commands.Profile.Test +{ + public class SubscriptionCmdletTests + { + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void AllParameterSetsSucceed() + { + ProfileController.NewInstance.RunPsTest("72f988bf-86f1-41af-91ab-2d7cd011db47", "Test-GetSubscriptionsEndToEnd"); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.ps1 b/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.ps1 new file mode 100644 index 000000000000..6b439945edb5 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/SubscriptionCmdletTests.ps1 @@ -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. +# ---------------------------------------------------------------------------------- + +<# +.SYNOPSIS +Tests each of the major parts of retrieving subscriptions in ARM mode +#> +function Test-GetSubscriptionsEndToEnd +{ + $allSubscriptions = Get-AzureRMSubscription -All + $firstSubscription = $allSubscriptions[0] + $id = $firstSubscription.Id + $tenant = $firstSubscription.GetProperty([Microsoft.Azure.Common.Authentication.Models.AzureSubscription+Property]::Tenants) + $subscription = Get-AzureRMSubscription -SubscriptionId $id -Tenant $tenant + Assert-True { $subscription -ne $null } + Assert-AreEqual $id $subscription.Id + $subscription = Get-AzureRMSubscription -SubscriptionId $id + Assert-True { $subscription -ne $null } + Assert-AreEqual $id $subscription.Id + $mostSubscriptions = Get-AzureRMSubscription + Assert-True {$mostSubscriptions.Count -gt 0} + $tenantSubscriptions = Get-AzureRMSubscription -Tenant $tenant + Assert-True {$tenantSubscriptions.Count -gt 0} +} \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile.Test/TenantCmdletTests.cs b/src/ResourceManager/Profile/Commands.Profile.Test/TenantCmdletTests.cs new file mode 100644 index 000000000000..db1595c9d6e2 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile.Test/TenantCmdletTests.cs @@ -0,0 +1,119 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Profile; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; +using Microsoft.WindowsAzure.Commands.Common.Test.Mocks; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using System.Linq; +using Xunit; +using System; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; +using Hyak.Common; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile.Test +{ + public class TenantCmdletTests + { + private MemoryDataStore dataStore; + private MockCommandRuntime commandRuntimeMock; + + public TenantCmdletTests() + { + dataStore = new MemoryDataStore(); + AzureSession.DataStore = dataStore; + commandRuntimeMock = new MockCommandRuntime(); + AzureRMCmdlet.DefaultProfile = new AzureRMProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void GetTenantWithTenantParameter() + { + var cmdlt = new GetAzureRMTenantCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.Tenant = "72f988bf-86f1-41af-91ab-2d7cd011db47"; + + // Act + Login("2c224e7e-3ef5-431d-a57b-e71f4662e3a6", null); + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.True(commandRuntimeMock.OutputPipeline.Count == 2); + Assert.Equal("72f988bf-86f1-41af-91ab-2d7cd011db47", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Id.ToString()); + Assert.Equal("microsoft.com", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Domain); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void GetTenantWithDomainParameter() + { + var cmdlt = new GetAzureRMTenantCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.Tenant = "microsoft.com"; + + // Act + Login("2c224e7e-3ef5-431d-a57b-e71f4662e3a6", null); + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.True(commandRuntimeMock.OutputPipeline.Count == 2); + Assert.Equal("72f988bf-86f1-41af-91ab-2d7cd011db47", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Id.ToString()); + Assert.Equal("microsoft.com", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Domain); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.LiveOnly)] + public void GetTenantWithoutParameters() + { + var cmdlt = new GetAzureRMTenantCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + + // Act + Login("2c224e7e-3ef5-431d-a57b-e71f4662e3a6", null); + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.True(commandRuntimeMock.OutputPipeline.Count == 2); + Assert.Equal("72f988bf-86f1-41af-91ab-2d7cd011db47", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Id.ToString()); + Assert.Equal("microsoft.com", ((AzureTenant)commandRuntimeMock.OutputPipeline[1]).Domain); + } + + private void Login(string subscriptionId, string tenantId) + { + var cmdlt = new LoginAzureRMAccountCommand(); + // Setup + cmdlt.CommandRuntime = commandRuntimeMock; + cmdlt.SubscriptionId = subscriptionId; + cmdlt.Tenant = tenantId; + + // Act + cmdlt.InvokeBeginProcessing(); + cmdlt.ExecuteCmdlet(); + cmdlt.InvokeEndProcessing(); + + Assert.NotNull(AzureRMCmdlet.DefaultProfile.Context); + } + } +} diff --git a/src/Common/Commands.Common.Test/packages.config b/src/ResourceManager/Profile/Commands.Profile.Test/packages.config similarity index 83% rename from src/Common/Commands.Common.Test/packages.config rename to src/ResourceManager/Profile/Commands.Profile.Test/packages.config index 705bcc0a0611..86e2df0e8f89 100644 --- a/src/Common/Commands.Common.Test/packages.config +++ b/src/ResourceManager/Profile/Commands.Profile.Test/packages.config @@ -2,10 +2,12 @@ - + + - + + @@ -25,5 +27,6 @@ - - + + + \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile/Account/LoginAzureRMAccount.cs b/src/ResourceManager/Profile/Commands.Profile/Account/LoginAzureRMAccount.cs new file mode 100644 index 000000000000..af96dc1e24c6 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Account/LoginAzureRMAccount.cs @@ -0,0 +1,112 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using System.Management.Automation; +using Microsoft.Azure.Common.Authentication.Models; +using System.Security; +using Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.IdentityModel.Clients.ActiveDirectory; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to log into an environment and download the subscriptions + /// + [Cmdlet("Login", "AzureRMAccount", DefaultParameterSetName = "User")] + [OutputType(typeof(AzureRMProfile))] + public class LoginAzureRMAccountCommand : AzureRMCmdlet + { + [Parameter(Mandatory = false, HelpMessage = "Environment containing the account to log into")] + [ValidateNotNullOrEmpty] + public AzureEnvironment Environment { get; set; } + + [Parameter(ParameterSetName = "User", Mandatory = false, HelpMessage = "Optional credential")] + [Parameter(ParameterSetName = "ServicePrincipal", Mandatory = true, HelpMessage = "Credential")] + public PSCredential Credential { get; set; } + + [Parameter(ParameterSetName = "ServicePrincipal", Mandatory = true)] + public SwitchParameter ServicePrincipal { get; set; } + + [Parameter(ParameterSetName = "User", Mandatory = false, HelpMessage = "Optional tenant name or ID")] + [Parameter(ParameterSetName = "ServicePrincipal", Mandatory = true, HelpMessage = "Tenant name or ID")] + [Parameter(ParameterSetName = "AccessToken", Mandatory = false, HelpMessage = "Tenant name or ID")] + [ValidateNotNullOrEmpty] + public string Tenant { get; set; } + + [Parameter(ParameterSetName = "AccessToken", Mandatory = true, HelpMessage = "AccessToken")] + [ValidateNotNullOrEmpty] + public string AccessToken { get; set; } + + [Parameter(Mandatory = false, HelpMessage = "Subscription")] + [ValidateNotNullOrEmpty] + public string SubscriptionId { get; set; } + + protected override AzureContext DefaultContext + { + get + { + return null; + } + } + + protected override void BeginProcessing() + { + base.BeginProcessing(); + if (Environment == null) + { + Environment = AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud]; + } + } + + protected override void ProcessRecord() + { + AzureAccount azureAccount = new AzureAccount(); + + if (!string.IsNullOrEmpty(AccessToken)) + { + azureAccount.Type = AzureAccount.AccountType.AccessToken; + } + else if (ServicePrincipal.IsPresent) + { + azureAccount.Type = AzureAccount.AccountType.ServicePrincipal; + } + else + { + azureAccount.Type = AzureAccount.AccountType.User; + } + + SecureString password = null; + if (Credential != null) + { + azureAccount.Id = Credential.UserName; + password = Credential.Password; + } + + if (!string.IsNullOrEmpty(Tenant)) + { + azureAccount.SetProperty(AzureAccount.Property.Tenants, new[] { Tenant }); + } + + if( AzureRMCmdlet.DefaultProfile == null) + { + AzureRMCmdlet.DefaultProfile = new AzureRMProfile(); + } + + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + WriteObject(profileClient.Login(azureAccount, Environment, Tenant, SubscriptionId, password)); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Commands.Profile.csproj b/src/ResourceManager/Profile/Commands.Profile/Commands.Profile.csproj new file mode 100644 index 000000000000..c51f9614f841 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Commands.Profile.csproj @@ -0,0 +1,188 @@ + + + + Debug + AnyCPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E} + Library + Properties + Microsoft.Azure.Commands.Profile + Microsoft.Azure.Commands.Profile + v4.5 + 512 + + ..\..\..\ + true + /assemblyCompareMode:StrongNameIgnoringVersion + + + true + full + false + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.Profile\ + DEBUG;TRACE + prompt + 4 + true + true + false + + + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.Profile\ + TRACE;SIGN + true + pdbonly + AnyCPU + bin\Release\Commands.Profile.dll.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;$(ProgramFiles)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\Rule Sets + ;$(ProgramFiles)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\Rules + true + true + MSSharedLibKey.snk + true + false + + + + ..\..\..\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 + + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True + + + ..\..\..\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.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + True + + + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.18.206251556\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + True + + + ..\..\..\packages\Microsoft.Rest.ClientRuntime.1.2.0\lib\net45\Microsoft.Rest.ClientRuntime.dll + True + + + ..\..\..\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 + + + False + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + + False + ..\lib\Microsoft.Web.Deployment.dll + + + False + ..\..\..\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 + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + + + + Designer + Always + + + AzureRM.Profile.psd1 + PreserveNewest + + + + + + + Designer + PreserveNewest + + + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile/Context/GetAzureRMContext.cs b/src/ResourceManager/Profile/Commands.Profile/Context/GetAzureRMContext.cs new file mode 100644 index 000000000000..fbd2b5260b56 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Context/GetAzureRMContext.cs @@ -0,0 +1,33 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to get current context. + /// + [Cmdlet(VerbsCommon.Get, "AzureRMContext")] + [OutputType(typeof(AzureContext))] + public class GetAzureRMContextCommand : AzureRMCmdlet + { + protected override void ProcessRecord() + { + WriteObject(AzureRMCmdlet.DefaultProfile.Context); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Context/SetAzureRMContext.cs b/src/ResourceManager/Profile/Commands.Profile/Context/SetAzureRMContext.cs new file mode 100644 index 000000000000..444b9eccaf08 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Context/SetAzureRMContext.cs @@ -0,0 +1,51 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to change current Azure context. + /// + [Cmdlet(VerbsCommon.Set, "AzureRMContext")] + [OutputType(typeof(AzureContext))] + public class SetAzureRMContextCommand : AzureRMCmdlet + { + private const string TenantParameterSet = "Tenant"; + private const string SubscriptionParameterSet = "Subscription"; + private const string TenantAndSubscriptionParameterSet = "TenantAndSubscription"; + + [Parameter(ParameterSetName = TenantParameterSet, Mandatory = true, HelpMessage = "Tenant name or ID")] + [Parameter(ParameterSetName = TenantAndSubscriptionParameterSet, Mandatory = true, HelpMessage = "Tenant name or ID")] + [ValidateNotNullOrEmpty] + public string Tenant { get; set; } + + [Parameter(ParameterSetName = SubscriptionParameterSet, Mandatory = true, HelpMessage = "Subscription")] + [Parameter(ParameterSetName = TenantAndSubscriptionParameterSet, Mandatory = true, HelpMessage = "Subscription")] + [ValidateNotNullOrEmpty] + public string SubscriptionId { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + AzureRMCmdlet.DefaultProfile.Context = profileClient.SetCurrentContext(SubscriptionId, Tenant); + + WriteObject(AzureRMCmdlet.DefaultProfile.Context); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Environment/AddAzureRMEnvironment.cs b/src/ResourceManager/Profile/Commands.Profile/Environment/AddAzureRMEnvironment.cs new file mode 100644 index 000000000000..ed6a70c778d5 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Environment/AddAzureRMEnvironment.cs @@ -0,0 +1,118 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to add Azure Environment to Profile. + /// + [Cmdlet(VerbsCommon.Add, "AzureRMEnvironment")] + [OutputType(typeof(PSAzureEnvironment))] + public class AddAzureRMEnvironmentCommand : AzureRMCmdlet + { + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true)] + public string Name { get; set; } + + [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true)] + public string PublishSettingsFileUrl { get; set; } + + [Parameter(Position = 2, Mandatory = false, ValueFromPipelineByPropertyName = true)] + [Alias("ServiceManagement", "ServiceManagementUrl")] + public string ServiceEndpoint { get; set; } + + [Parameter(Position = 3, Mandatory = false, ValueFromPipelineByPropertyName = true)] + public string ManagementPortalUrl { get; set; } + + [Parameter(Position = 4, Mandatory = false, HelpMessage = "The storage endpoint")] + [Alias("StorageEndpointSuffix")] + public string StorageEndpoint { get; set; } + + [Parameter(Position = 5, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The URI for the Active Directory service for this environment")] + [Alias("AdEndpointUrl", "ActiveDirectory", "ActiveDirectoryAuthority")] + public string ActiveDirectoryEndpoint { get; set; } + + [Parameter(Position = 6, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The cloud service endpoint")] + [Alias("ResourceManager", "ResourceManagerUrl")] + public string ResourceManagerEndpoint { get; set; } + + [Parameter(Position = 7, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The public gallery endpoint")] + [Alias("Gallery", "GalleryUrl")] + public string GalleryEndpoint { get; set; } + + [Parameter(Position = 8, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Identifier of the target resource that is the recipient of the requested token.")] + public string ActiveDirectoryServiceEndpointResourceId { get; set; } + + [Parameter(Position = 9, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "The AD Graph Endpoint.")] + [Alias("Graph", "GraphUrl")] + public string GraphEndpoint { get; set; } + + [Parameter(Position = 10, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net")] + public string AzureKeyVaultDnsSuffix { get; set; } + + [Parameter(Position = 11, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Resource identifier of Azure Key Vault data service that is the recipient of the requested token.")] + public string AzureKeyVaultServiceEndpointResourceId { get; set; } + + [Parameter(Position = 12, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Traffic Manager service.")] + public string TrafficManagerDnsSuffix { get; set; } + + [Parameter(Position = 13, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Sql databases created in this environment.")] + public string SqlDatabaseDnsSuffix { get; set; } + + [Parameter(Position = 14, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Enable ADFS authentication by disabling the authority validation")] + [Alias("OnPremise")] + public SwitchParameter EnableAdfsAuthentication { get; set; } + + [Parameter(Position = 15, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "The default tenant for this environment.")] + public string AdTenant { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + var newEnvironment = new AzureEnvironment + { + Name = Name, + OnPremise = EnableAdfsAuthentication + }; + + newEnvironment.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl] = PublishSettingsFileUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = ServiceEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = ResourceManagerEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl] = ManagementPortalUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix] = StorageEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory] = ActiveDirectoryEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId] = ActiveDirectoryServiceEndpointResourceId; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.Gallery] = GalleryEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.Graph] = GraphEndpoint; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix] = AzureKeyVaultDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId] = AzureKeyVaultServiceEndpointResourceId; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.TrafficManagerDnsSuffix] = TrafficManagerDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix] = SqlDatabaseDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AdTenant] = AdTenant; + WriteObject((PSAzureEnvironment)profileClient.AddOrSetEnvironment(newEnvironment)); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Environment/GetAzureRMEnvironment.cs b/src/ResourceManager/Profile/Commands.Profile/Environment/GetAzureRMEnvironment.cs new file mode 100644 index 000000000000..1213ee3403eb --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Environment/GetAzureRMEnvironment.cs @@ -0,0 +1,42 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System; +using System.Linq; +using System.Collections.Generic; +using System.Globalization; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to get current Azure Environment from Profile. + /// + [Cmdlet(VerbsCommon.Get, "AzureRMEnvironment")] + [OutputType(typeof(List))] + public class GetAzureRMEnvironmentCommand : AzureRMCmdlet + { + [Parameter(Position = 0, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The environment name")] + public string Name { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + var result = profileClient.ListEnvironments(Name).Select(s => (PSAzureEnvironment)s).ToList(); + WriteObject(result, enumerateCollection: true); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Environment/PSAzureEnvironment.cs b/src/ResourceManager/Profile/Commands.Profile/Environment/PSAzureEnvironment.cs new file mode 100644 index 000000000000..1c1250616102 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Environment/PSAzureEnvironment.cs @@ -0,0 +1,270 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Models; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Settings and endpoints for management of Azure or Azure Stack services. + /// + public class PSAzureEnvironment + { + /// + /// Convert the PowerShell representation of environment to the internal representation. + /// + /// The PowerShell environment to convert. + /// The internal representation of the Azure environment, as used by .Net authentication libraries. + public static implicit operator AzureEnvironment(PSAzureEnvironment environment) + { + var newEnvironment = new AzureEnvironment + { + Name = environment.Name, + OnPremise = environment.EnableAdfsAuthentication + }; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId] = + environment.ActiveDirectoryServiceEndpointResourceId; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AdTenant] = environment.AdTenant; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.Gallery] = environment.GalleryUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl] = environment.ManagementPortalUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = environment.ServiceManagementUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl] = + environment.PublishSettingsFileUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = environment.ResourceManagerUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix] = environment.SqlDatabaseDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix] = + environment.StorageEndpointSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.Graph] = environment.GraphUrl; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.TrafficManagerDnsSuffix] = + environment.TrafficManagerDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix] = + environment.AzureKeyVaultDnsSuffix; + newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId] = + environment.AzureKeyVaultServiceEndpointResourceId; + return newEnvironment; + } + + /// + /// Convert the internal representation of Azure libraries to a representation that is more readable for PowerShell. + /// + /// The internal representation fo the Azure environment. + /// The PowerShell;-friendly representation of the environment. + public static implicit operator PSAzureEnvironment(AzureEnvironment environment) + { + return new PSAzureEnvironment(environment); + } + + /// + /// Initializes a new azure environment. + /// + public PSAzureEnvironment() + { + } + + /// + /// Initializes a new Azure environment from the given internal representation. + /// + /// The internal representation of the environment. + public PSAzureEnvironment(AzureEnvironment environment) + { + Name = environment.Name; + EnableAdfsAuthentication = environment.OnPremise; + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId)) + { + ActiveDirectoryServiceEndpointResourceId = + environment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.AdTenant)) + { + AdTenant = environment.Endpoints[AzureEnvironment.Endpoint.AdTenant]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.Gallery)) + { + GalleryUrl = + environment.Endpoints[AzureEnvironment.Endpoint.Gallery]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.ManagementPortalUrl)) + { + ManagementPortalUrl = + environment.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.ServiceManagement)) + { + ServiceManagementUrl = + environment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.PublishSettingsFileUrl)) + { + PublishSettingsFileUrl = + environment.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.ResourceManager)) + { + ResourceManagerUrl = + environment.Endpoints[AzureEnvironment.Endpoint.ResourceManager]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix)) + { + SqlDatabaseDnsSuffix = + environment.Endpoints[AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.StorageEndpointSuffix)) + { + StorageEndpointSuffix = + environment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.ActiveDirectory)) + { + ActiveDirectoryAuthority = + environment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.Graph)) + { + GraphUrl = + environment.Endpoints[AzureEnvironment.Endpoint.Graph]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.TrafficManagerDnsSuffix)) + { + TrafficManagerDnsSuffix = + environment.Endpoints[AzureEnvironment.Endpoint.TrafficManagerDnsSuffix]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix)) + { + AzureKeyVaultDnsSuffix = + environment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix]; + } + if (environment.IsEndpointSet(AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId)) + { + AzureKeyVaultServiceEndpointResourceId = + environment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId]; + } + } + + /// + /// Gets or sets the name of the environment. + /// + public string Name { get; set; } + + /// + /// Gets or sets a value indicating whether ADFS authentication should be allowed . + /// Generally, this is only used in Azure Stack environments. + /// + public bool EnableAdfsAuthentication { get; set; } + + /// + /// Gets or sets the expected token audience for authenticating management requests. + /// + public string ActiveDirectoryServiceEndpointResourceId { get; set; } + + /// + /// Gets or sets the default tenant Id. + /// + public string AdTenant { get; set; } + + /// + /// Gets or sets the Uri of the Template Gallery service. + /// + public string GalleryUrl { get; set; } + + /// + /// Gets or sets the Uri of the management portal. + /// + public string ManagementPortalUrl { get; set; } + + /// + /// Get or sets the Uri of the service management (RDFE) service. + /// + public string ServiceManagementUrl { get; set; } + + /// + /// Gets or sets the endpoint of the publish settings download service. + /// + public string PublishSettingsFileUrl { get; set; } + + /// + /// Gets or sets the Uri of the Azure Resource Manager (ARM) service. + /// + public string ResourceManagerUrl { get; set; } + + /// + /// Gets or sets the Dns suffix used for Sql database servers. + /// + public string SqlDatabaseDnsSuffix { get; set; } + + /// + /// Gets or sets the dns suffix of storage services. + /// + public string StorageEndpointSuffix { get; set; } + + /// + /// Gets or sets the Uri of the Active Directory authentication endpoint. + /// + public string ActiveDirectoryAuthority { get; set; } + + /// + /// Gets or sets the Uri of the Active Directory metadata (Graph) endpoint. + /// + public string GraphUrl { get; set; } + + /// + /// Gets or sets the domain name suffix for traffic manager services. + /// + public string TrafficManagerDnsSuffix { get; set; } + + /// + /// Gets or sets the domain name suffix for key vault services. + /// + public string AzureKeyVaultDnsSuffix { get; set; } + + /// + /// Gets or sets the expected token audience for authenticating requests to the key vault service. + /// + public string AzureKeyVaultServiceEndpointResourceId { get; set; } + + /// + /// Determine equality of two PSAzureEnvironment instances. + /// + /// The instance to compare. + /// True if the instances are equivalent, false otherwise. + public override bool Equals(object obj) + { + var other = obj as PSAzureEnvironment; + if (other != null) + { + return Name == other.Name && EnableAdfsAuthentication == other.EnableAdfsAuthentication + && ActiveDirectoryAuthority == other.ActiveDirectoryAuthority + && ActiveDirectoryServiceEndpointResourceId == other.ActiveDirectoryServiceEndpointResourceId + && AdTenant == other.AdTenant + && AzureKeyVaultDnsSuffix == other.AzureKeyVaultDnsSuffix + && AzureKeyVaultServiceEndpointResourceId == other.AzureKeyVaultServiceEndpointResourceId + && GalleryUrl == other.GalleryUrl + && GraphUrl == other.GraphUrl + && ManagementPortalUrl == other.ManagementPortalUrl + && PublishSettingsFileUrl == other.PublishSettingsFileUrl + && ResourceManagerUrl == other.ResourceManagerUrl + && ServiceManagementUrl == other.ServiceManagementUrl + && StorageEndpointSuffix == other.StorageEndpointSuffix + && SqlDatabaseDnsSuffix == other.SqlDatabaseDnsSuffix + && TrafficManagerDnsSuffix == other.TrafficManagerDnsSuffix; + } + + return false; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Environment/RemoveAzureRMEnvironment.cs b/src/ResourceManager/Profile/Commands.Profile/Environment/RemoveAzureRMEnvironment.cs new file mode 100644 index 000000000000..4bc5af5134d6 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Environment/RemoveAzureRMEnvironment.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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to remove Azure Environment from Profile. + /// + [Cmdlet(VerbsCommon.Remove, "AzureRMEnvironment")] + [OutputType(typeof(PSAzureEnvironment))] + public class RemoveAzureRMEnvironmentCommand : AzureRMCmdlet + { + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, + HelpMessage = "The environment name")] + public string Name { get; set; } + + [Parameter(Position = 1, HelpMessage = "Do not confirm deletion of subscription")] + public SwitchParameter Force { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + ConfirmAction( + Force.IsPresent, + string.Format( + "Removing an environment will remove all associated subscriptions and accounts. Are you sure you want to remove an environment '{0}'?", + Name), + "Removing environment", + Name, + () => WriteObject((PSAzureEnvironment) profileClient.RemoveEnvironment(Name))); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Environment/SetAzureRMEnvironment.cs b/src/ResourceManager/Profile/Commands.Profile/Environment/SetAzureRMEnvironment.cs new file mode 100644 index 000000000000..2a03a33038d7 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Environment/SetAzureRMEnvironment.cs @@ -0,0 +1,137 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System; +using System.Globalization; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to set Azure Environment in Profile. + /// + [Cmdlet(VerbsCommon.Set, "AzureRMEnvironment")] + [OutputType(typeof(PSAzureEnvironment))] + public class SetAzureRMEnvironmentCommand : AzureRMCmdlet + { + [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true)] + public string Name { get; set; } + + [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true)] + public string PublishSettingsFileUrl { get; set; } + + [Parameter(Position = 2, Mandatory = false, ValueFromPipelineByPropertyName = true)] + [Alias("ServiceManagement", "ServiceManagementUrl")] + public string ServiceEndpoint { get; set; } + + [Parameter(Position = 3, Mandatory = false, ValueFromPipelineByPropertyName = true)] + public string ManagementPortalUrl { get; set; } + + [Parameter(Position = 4, Mandatory = false, HelpMessage = "The storage endpoint")] + [Alias("StorageEndpointSuffix")] + public string StorageEndpoint { get; set; } + + [Parameter(Position = 5, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Active directory endpoint")] + [Alias("AdEndpointUrl", "ActiveDirectory", "ActiveDirectoryAuthority")] + public string ActiveDirectoryEndpoint { get; set; } + + [Parameter(Position = 6, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The cloud service endpoint")] + [Alias("ResourceManager", "ResourceManagerUrl")] + public string ResourceManagerEndpoint { get; set; } + + [Parameter(Position = 7, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The public gallery endpoint")] + [Alias("Gallery", "GalleryUrl")] + public string GalleryEndpoint { get; set; } + + [Parameter(Position = 8, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Identifier of the target resource that is the recipient of the requested token.")] + public string ActiveDirectoryServiceEndpointResourceId { get; set; } + + [Parameter(Position = 9, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "The AD Graph Endpoint.")] + [Alias("Graph", "GraphUrl")] + public string GraphEndpoint { get; set; } + + [Parameter(Position = 10, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Azure Key Vault service. Example is vault-int.azure-int.net")] + public string AzureKeyVaultDnsSuffix { get; set; } + + [Parameter(Position = 11, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Resource identifier of Azure Key Vault data service that is the recipient of the requested token.")] + public string AzureKeyVaultServiceEndpointResourceId { get; set; } + + [Parameter(Position = 12, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Traffic Manager service.")] + public string TrafficManagerDnsSuffix { get; set; } + + [Parameter(Position = 13, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Dns suffix of Sql databases created in this environment.")] + public string SqlDatabaseDnsSuffix { get; set; } + + [Parameter(Position = 14, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "Determines whether to enable ADFS authentication, or to use AAD authentication instead. This value is normally true only for Azure Stack endpoints.")] + [Alias("OnPremise")] + public SwitchParameter EnableAdfsAuthentication { get; set; } + + [Parameter(Position = 15, Mandatory = false, ValueFromPipelineByPropertyName = true, + HelpMessage = "The default tenant for this environment.")] + public string AdTenant { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + + if ((Name == "AzureCloud") || (Name == "AzureChinaCloud")) + { + throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, + "Cannot change built-in environment {0}.", Name)); + } + + var newEnvironment = new AzureEnvironment { Name = Name, OnPremise = EnableAdfsAuthentication }; + if (AzureRMCmdlet.DefaultProfile.Environments.ContainsKey(Name)) + { + newEnvironment = AzureRMCmdlet.DefaultProfile.Environments[Name]; + } + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.PublishSettingsFileUrl, PublishSettingsFileUrl); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ServiceManagement, ServiceEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ResourceManager, ResourceManagerEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ManagementPortalUrl, ManagementPortalUrl); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.StorageEndpointSuffix, StorageEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectory, ActiveDirectoryEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId, ActiveDirectoryServiceEndpointResourceId); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Gallery, GalleryEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Graph, GraphEndpoint); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix, AzureKeyVaultDnsSuffix); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId, AzureKeyVaultServiceEndpointResourceId); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.TrafficManagerDnsSuffix, TrafficManagerDnsSuffix); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix, SqlDatabaseDnsSuffix); + SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AdTenant, AdTenant); + + profileClient.AddOrSetEnvironment(newEnvironment); + + WriteObject((PSAzureEnvironment)newEnvironment); + } + + private void SetEndpointIfProvided(AzureEnvironment newEnvironment, AzureEnvironment.Endpoint endpoint, string property) + { + if (!string.IsNullOrEmpty(property)) + { + newEnvironment.Endpoints[endpoint] = property; + } + } + } +} diff --git a/src/ServiceManagement/Storage/Commands.Storage.Test/MSSharedLibKey.snk b/src/ResourceManager/Profile/Commands.Profile/MSSharedLibKey.snk similarity index 100% rename from src/ServiceManagement/Storage/Commands.Storage.Test/MSSharedLibKey.snk rename to src/ResourceManager/Profile/Commands.Profile/MSSharedLibKey.snk diff --git a/src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.dll-Help.psd1 b/src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.dll-Help.psd1 similarity index 100% rename from src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.dll-Help.psd1 rename to src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.dll-Help.psd1 diff --git a/src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.dll-Help.xml b/src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.dll-Help.xml similarity index 100% rename from src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.dll-Help.xml rename to src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.dll-Help.xml diff --git a/src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.format.ps1xml b/src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.format.ps1xml similarity index 100% rename from src/Common/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.format.ps1xml rename to src/ResourceManager/Profile/Commands.Profile/Microsoft.Azure.Commands.Profile.format.ps1xml diff --git a/src/ResourceManager/Profile/Commands.Profile/Profile/SaveAzureRMProfile.cs b/src/ResourceManager/Profile/Commands.Profile/Profile/SaveAzureRMProfile.cs new file mode 100644 index 000000000000..fef739b115a8 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Profile/SaveAzureRMProfile.cs @@ -0,0 +1,53 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Profile.Properties; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Saves Microsoft Azure profile. + /// + [Cmdlet(VerbsData.Save, "AzureRMProfile"), OutputType(typeof(AzureRMProfile))] + public class SaveAzureRMProfileCommand : AzureRMCmdlet + { + [Parameter(Mandatory = false, Position = 0, ValueFromPipelineByPropertyName = true)] + public AzureRMProfile Profile { get; set; } + + [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true)] + public string Path { get; set; } + + protected override void ProcessRecord() + { + if (Profile != null) + { + Profile.Save(Path); + } + else + { + if (AzureRMCmdlet.DefaultProfile == null) + { + throw new ArgumentException(Resources.AzureProfileMustNotBeNull); + } + AzureRMCmdlet.DefaultProfile.Save(Path); + } + + WriteVerbose(string.Format("Profile saved to: {0}.", Path)); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Profile/SelectAzureRMProfile.cs b/src/ResourceManager/Profile/Commands.Profile/Profile/SelectAzureRMProfile.cs new file mode 100644 index 000000000000..f31fdfcab16f --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Profile/SelectAzureRMProfile.cs @@ -0,0 +1,62 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Profile.Properties; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Selects Microsoft Azure profile. + /// + [Cmdlet(VerbsCommon.Select, "AzureRMProfile"), OutputType(typeof(AzureRMProfile))] + public class SelectAzureRMProfileCommand : AzureRMCmdlet + { + internal const string InMemoryProfileParameterSet = "InMemoryProfile"; + internal const string ProfileFromDiskParameterSet = "ProfileFromDisk"; + + [Parameter(ParameterSetName = InMemoryProfileParameterSet, Mandatory = true, Position = 0, ValueFromPipelineByPropertyName = true)] + public AzureRMProfile Profile { get; set; } + + [Parameter(ParameterSetName = ProfileFromDiskParameterSet, Mandatory = true, Position = 0, ValueFromPipelineByPropertyName = true)] + public string Path { get; set; } + + protected override void BeginProcessing() + { + // Do not access the DefaultContext when loading a profile + } + + protected override void ProcessRecord() + { + if (!string.IsNullOrEmpty(Path)) + { + AzureRMCmdlet.DefaultProfile = new AzureRMProfile(Path); + } + else + { + AzureRMCmdlet.DefaultProfile = Profile; + } + + if (AzureRMCmdlet.DefaultProfile == null) + { + throw new ArgumentException(Resources.AzureProfileMustNotBeNull); + } + + WriteObject(AzureRMCmdlet.DefaultProfile); + } + } +} diff --git a/src/Common/Commands.Profile/Properties/AssemblyInfo.cs b/src/ResourceManager/Profile/Commands.Profile/Properties/AssemblyInfo.cs similarity index 100% rename from src/Common/Commands.Profile/Properties/AssemblyInfo.cs rename to src/ResourceManager/Profile/Commands.Profile/Properties/AssemblyInfo.cs diff --git a/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.Designer.cs b/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.Designer.cs new file mode 100644 index 000000000000..074f68f865e5 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.Designer.cs @@ -0,0 +1,117 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Microsoft.Azure.Commands.Profile.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [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 { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + 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 { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.Commands.Profile.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Selected profile must not be null.. + /// + internal static string AzureProfileMustNotBeNull { + get { + return ResourceManager.GetString("AzureProfileMustNotBeNull", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not authenticate your user account {0} with the common tenant. Please login again using Login-AzureRMAccount.. + /// + internal static string CommonTenantAuthFailed { + get { + return ResourceManager.GetString("CommonTenantAuthFailed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to (no account provided). + /// + internal static string NoAccountProvided { + get { + return ResourceManager.GetString("NoAccountProvided", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide a valid tenant Id on the command line or execute Login-AzureRMAccount.. + /// + internal static string NoValidTenant { + get { + return ResourceManager.GetString("NoValidTenant", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Subscription {0} was not found in tenant {1}. Please verify that the subscription exists in this tenant.. + /// + internal static string SubscriptionNotFoundError { + get { + return ResourceManager.GetString("SubscriptionNotFoundError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not authenticate with tenant {0}. Please ensure that your account has access to this tenant and log in with Login-AzureRMAccount. + /// + internal static string TenantAuthFailed { + get { + return ResourceManager.GetString("TenantAuthFailed", resourceCulture); + } + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.resx b/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.resx new file mode 100644 index 000000000000..59a19b8d2483 --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Properties/Resources.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Selected profile must not be null. + + + Could not authenticate your user account {0} with the common tenant. Please login again using Login-AzureRMAccount. + + + (no account provided) + + + Please provide a valid tenant Id on the command line or execute Login-AzureRMAccount. + + + Subscription {0} was not found in tenant {1}. Please verify that the subscription exists in this tenant. + + + Could not authenticate with tenant {0}. Please ensure that your account has access to this tenant and log in with Login-AzureRMAccount + + \ No newline at end of file diff --git a/src/ResourceManager/Profile/Commands.Profile/Subscription/GetAzureRMSubscription.cs b/src/ResourceManager/Profile/Commands.Profile/Subscription/GetAzureRMSubscription.cs new file mode 100644 index 000000000000..8a42352a407e --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Subscription/GetAzureRMSubscription.cs @@ -0,0 +1,120 @@ +// +// 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.ResourceManager.Common; +using System.Management.Automation; +using Microsoft.Azure.Commands.Profile.Properties; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; + +namespace Microsoft.Azure.Commands.Profile +{ + [Cmdlet(VerbsCommon.Get, "AzureRMSubscription", DefaultParameterSetName = ListInTenantParameterSet), + OutputType(typeof(AzureSubscription))] + public class GetAzureRMSubscriptionCommand : AzureRMCmdlet + { + public const string ListInTenantParameterSet = "ListInTenant"; + public const string ListAllParameterSet = "ListAll"; + + private RMProfileClient _client; + + [Parameter(ParameterSetName= ListInTenantParameterSet, ValueFromPipelineByPropertyName = true, Mandatory=false)] + public string SubscriptionId { get; set; } + + [Parameter(ParameterSetName = ListInTenantParameterSet, ValueFromPipelineByPropertyName = true, Mandatory = false)] + public string Tenant { get; set; } + + [Parameter(ParameterSetName = ListAllParameterSet, Mandatory = true)] + public SwitchParameter All { get; set; } + + protected override void BeginProcessing() + { + base.BeginProcessing(); + _client = new RMProfileClient(DefaultProfile); + _client.WarningLog = (s) => WriteWarning(s); + } + + protected override void ProcessRecord() + { + if (this.ParameterSetName == ListAllParameterSet) + { + try + { + WriteObject(_client.ListSubscriptions(), enumerateCollection: true); + } + catch (AadAuthenticationException exception) + { + var account = DefaultContext.Account == null || DefaultContext.Account.Id == null + ? Resources.NoAccountProvided + : DefaultContext.Account.Id; + throw new PSInvalidOperationException(string.Format(Resources.CommonTenantAuthFailed, account), exception); + } + } + else if (!string.IsNullOrWhiteSpace(this.SubscriptionId)) + { + var tenant = EnsureValidTenant(); + AzureSubscription result; + try + { + if (!this._client.TryGetSubscription(tenant, this.SubscriptionId, out result)) + { + ThrowSubscriptionNotFoundError(this.Tenant, this.SubscriptionId); + } + + WriteObject(result); + } + catch (AadAuthenticationException exception) + { + ThrowTenantAuthenticationError(tenant, exception); + throw; + } + + } + else + { + var tenant = EnsureValidTenant(); + try + { + WriteObject(_client.ListSubscriptions(tenant), enumerateCollection: true); + } + catch (AadAuthenticationException exception) + { + ThrowTenantAuthenticationError(tenant, exception); + throw; + } + } + } + + private void ThrowSubscriptionNotFoundError(string tenant, string subscription) + { + throw new PSArgumentException(string.Format(Resources.SubscriptionNotFoundError, subscription, tenant)); + } + + private void ThrowTenantAuthenticationError(string tenant, AadAuthenticationException exception) + { + throw new PSArgumentException(string.Format(Resources.TenantAuthFailed, tenant), exception); + } + + private string EnsureValidTenant() + { + var tenant = this.Tenant; + if (string.IsNullOrWhiteSpace(tenant) && (DefaultContext.Tenant == null || + DefaultContext.Tenant.Id == null)) + { + throw new PSArgumentException(Resources.NoValidTenant); + } + + return tenant ?? DefaultContext.Tenant.Id.ToString(); + } + } +} diff --git a/src/ResourceManager/Profile/Commands.Profile/Tenant/GetAzureRMTenant.cs b/src/ResourceManager/Profile/Commands.Profile/Tenant/GetAzureRMTenant.cs new file mode 100644 index 000000000000..bc86ea0e656f --- /dev/null +++ b/src/ResourceManager/Profile/Commands.Profile/Tenant/GetAzureRMTenant.cs @@ -0,0 +1,42 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ResourceManager.Common; +using Microsoft.Azure.Common.Authentication.Models; +using System.Collections.Generic; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Profile +{ + /// + /// Cmdlet to get user tenant information. + /// + [Cmdlet(VerbsCommon.Get, "AzureRMTenant")] + [Alias("Get-AzureRMDomain")] + [OutputType(typeof(List))] + public class GetAzureRMTenantCommand : AzureRMCmdlet + { + [Parameter(Mandatory = false, Position = 0, ValueFromPipelineByPropertyName = true)] + [Alias("Domain")] + [ValidateNotNullOrEmpty] + public string Tenant { get; set; } + + protected override void ProcessRecord() + { + var profileClient = new RMProfileClient(AzureRMCmdlet.DefaultProfile); + + WriteObject(profileClient.ListTenants(Tenant), enumerateCollection: true); + } + } +} diff --git a/src/Common/Commands.Profile/packages.config b/src/ResourceManager/Profile/Commands.Profile/packages.config similarity index 96% rename from src/Common/Commands.Profile/packages.config rename to src/ResourceManager/Profile/Commands.Profile/packages.config index 653d89f6ed0b..7b3702039384 100644 --- a/src/Common/Commands.Profile/packages.config +++ b/src/ResourceManager/Profile/Commands.Profile/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ResourceManager/RedisCache/AzureRM.RedisCache.psd1 b/src/ResourceManager/RedisCache/AzureRM.RedisCache.psd1 new file mode 100644 index 000000000000..b7e3b1b1bd57 --- /dev/null +++ b/src/ResourceManager/RedisCache/AzureRM.RedisCache.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.RedisCache' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '820628d7-6938-488a-8760-43373a5ffce6' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - RedisCache' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.RedisCache.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.RedisCache.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 0b1c78317647..16004dad69ee 100644 --- a/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj +++ b/src/ResourceManager/RedisCache/Commands.RedisCache.Test/Commands.RedisCache.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ ..\..\..\ true - 28230e8c + 7d30c2c1 true @@ -50,8 +50,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -64,13 +64,13 @@ False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -134,12 +134,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -148,17 +148,13 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {c972e3ef-4461-4758-ba31-93e0947b1253} @@ -191,15 +187,11 @@ - - - - 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}. - + - Get-AzureResource + Get-AzureRMResource Gets existing resources. @@ -19,7 +19,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceName @@ -155,7 +155,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceId @@ -228,7 +228,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceName @@ -336,7 +336,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceName @@ -472,7 +472,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceName @@ -594,7 +594,7 @@ - Get-AzureResource + Get-AzureRMResource ResourceName @@ -1015,7 +1015,7 @@ PS C:\> - Get-AzureResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName myWebsite + Get-AzureRMResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName myWebsite Gets resource of type microsoft.web/sites and name myWebsite under myResourceGroup @@ -1035,7 +1035,7 @@ PS C:\> - Get-AzureResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName myWebsite -OutputObjectFormat New + Get-AzureRMResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName myWebsite -OutputObjectFormat New Gets resource of type microsoft.web/sites and name myWebsite under myResourceGroup. The output object format for Properties of the resource will be the new format @@ -1057,7 +1057,7 @@ - Get-AzureResourceGroupDeploymentOperation + Get-AzureRMResourceGroupDeploymentOperation Gets the resource group deployment operation @@ -1073,7 +1073,7 @@ - Get-AzureResourceGroupDeploymentOperation + Get-AzureRMResourceGroupDeploymentOperation DeploymentName @@ -1270,7 +1270,7 @@ PS C:\> - Get-AzureResourceGroupDeploymentOperation -DeploymentName test -ResourceGroupName test + Get-AzureRMResourceGroupDeploymentOperation -DeploymentName test -ResourceGroupName test Gets deployment operation with name "test" under resource group "test" @@ -1292,7 +1292,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock Gets the azure resource lock. @@ -1308,7 +1308,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1367,7 +1367,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1447,7 +1447,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1520,7 +1520,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1586,7 +1586,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1645,7 +1645,7 @@ - Get-AzureResourceLock + Get-AzureRMResourceLock AtScope @@ -1909,7 +1909,7 @@ PS C:\> - Get-AzureResourceLock -LockName test -ResourceName myResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup + Get-AzureRMResourceLock -LockName test -ResourceName myResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup Gets the resource lock "test" @@ -1931,7 +1931,7 @@ - Move-AzureResource + Move-AzureRMResource Moves existing resources to a new resource group or subscription. @@ -1947,7 +1947,7 @@ - Move-AzureResource + Move-AzureRMResource DestinationResourceGroupName @@ -2220,8 +2220,8 @@ PS C:\> - $r = Get-AzureResource -Name test -ResourceType Microsoft.ClassicCompute/storageAccounts -ResourceName mystorageaccount - Move-AzureResource -ResourceId $r.ResourceId -DestinationResourceGroupName test + $r = Get-AzureRMResource -Name test -ResourceType Microsoft.ClassicCompute/storageAccounts -ResourceName mystorageaccount + Move-AzureRMResource -ResourceId $r.ResourceId -DestinationResourceGroupName test Moves the existing resource into "test" resource group @@ -2243,7 +2243,7 @@ - New-AzureResource + New-AzureRMResource Create a new azure resource. @@ -2259,7 +2259,7 @@ - New-AzureResource + New-AzureRMResource Location @@ -2381,7 +2381,7 @@ - New-AzureResource + New-AzureRMResource Location @@ -2545,7 +2545,7 @@ - New-AzureResource + New-AzureRMResource Location @@ -3037,7 +3037,7 @@ PS C:\> - New-AzureResource -Location "West US" -Properties @{"test"="test"} -ResourceName myTestSiteName -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -Force + New-AzureRMResource -Location "West US" -Properties @{"test"="test"} -ResourceName myTestSiteName -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -Force Create a new website @@ -3059,7 +3059,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock Create a new resource lock. @@ -3075,7 +3075,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3169,7 +3169,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3256,7 +3256,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3364,7 +3364,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3465,7 +3465,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3552,7 +3552,7 @@ - New-AzureResourceLock + New-AzureRMResourceLock LockLevel @@ -3892,7 +3892,7 @@ PS C:\> - New-AzureResourceLock -LockLevel CanNotDelete -LockNotes "My lock notes" -LockName mylock -ResourceName mySite -ResourceType microsoft.web/sites + New-AzureRMResourceLock -LockLevel CanNotDelete -LockNotes "My lock notes" -LockName mylock -ResourceName mySite -ResourceType microsoft.web/sites Create a new resource lock on a website @@ -3914,7 +3914,7 @@ - Remove-AzureResource + Remove-AzureRMResource Removes the azure resource. @@ -3930,7 +3930,7 @@ - Remove-AzureResource + Remove-AzureRMResource ResourceId @@ -4003,7 +4003,7 @@ - Remove-AzureResource + Remove-AzureRMResource ResourceName @@ -4118,7 +4118,7 @@ - Remove-AzureResource + Remove-AzureRMResource ResourceName @@ -4477,7 +4477,7 @@ PS C:\> - Remove-AzureResource -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/myTestSiteName -Force + Remove-AzureRMResource -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/myTestSiteName -Force Removes the existing website resource @@ -4499,7 +4499,7 @@ - Remove-AzureResourceLock + Remove-AzureRMResourceLock Removes the azure resource lock. @@ -4515,7 +4515,7 @@ - Remove-AzureResourceLock + Remove-AzureRMResourceLock ResourceId @@ -4588,7 +4588,7 @@ - Remove-AzureResourceLock + Remove-AzureRMResourceLock ResourceName @@ -4703,7 +4703,7 @@ - Remove-AzureResourceLock + Remove-AzureRMResourceLock ResourceName @@ -5062,7 +5062,7 @@ PS C:\> - Remove-AzureResourceLock -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/mystorageaccount/providers/Microsoft.Authorization/locks/test + Remove-AzureRMResourceLock -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/mystorageaccount/providers/Microsoft.Authorization/locks/test @@ -5084,7 +5084,7 @@ - Set-AzureResource + Set-AzureRMResource Updates an existing azure resource. @@ -5100,7 +5100,7 @@ - Set-AzureResource + Set-AzureRMResource Kind @@ -5215,7 +5215,7 @@ - Set-AzureResource + Set-AzureRMResource Kind @@ -5372,7 +5372,7 @@ - Set-AzureResource + Set-AzureRMResource Kind @@ -5846,9 +5846,9 @@ PS C:\> - $r = Get-AzureResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName mySite -OutputObjectFormat New + $r = Get-AzureRMResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -ResourceName mySite -OutputObjectFormat New $r.Properties.Enabled = "False" - $r | Set-AzureResource -Force -OutputObjectFormat New + $r | Set-AzureRMResource -Force -OutputObjectFormat New @@ -5871,7 +5871,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock Updates an existing resource lock. @@ -5887,7 +5887,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -5981,7 +5981,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -6068,7 +6068,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -6176,7 +6176,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -6277,7 +6277,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -6364,7 +6364,7 @@ - Set-AzureResourceLock + Set-AzureRMResourceLock LockLevel @@ -6704,7 +6704,7 @@ PS C:\> - Set-AzureResourceLock -LockName test -ResourceName myResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -LockLevel CanNotDelete -LockNotes "Updated note" + Set-AzureRMResourceLock -LockName test -ResourceName myResource -ResourceType microsoft.web/sites -ResourceGroupName myResourceGroup -LockLevel CanNotDelete -LockNotes "Updated note" Updates existing resource lock diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Properties/AssemblyInfo.cs b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Properties/AssemblyInfo.cs similarity index 100% rename from src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Properties/AssemblyInfo.cs rename to src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Properties/AssemblyInfo.cs diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestClientBase.cs b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestClientBase.cs similarity index 100% rename from src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestClientBase.cs rename to src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestClientBase.cs diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestRestClient.cs b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestRestClient.cs similarity index 100% rename from src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestRestClient.cs rename to src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/RestClients/ResourceManagerRestRestClient.cs diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Utilities/HttpUtility.cs b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Utilities/HttpUtility.cs similarity index 100% rename from src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/Utilities/HttpUtility.cs rename to src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/Utilities/HttpUtility.cs diff --git a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/packages.config b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/packages.config similarity index 96% rename from src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/packages.config rename to src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/packages.config index a03a1cc87197..14f798eb59d9 100644 --- a/src/ResourceManager/ResourceManager/Commands.ResourceManager/Cmdlets/packages.config +++ b/src/ResourceManager/Resources/Commands.ResourceManager/Cmdlets/packages.config @@ -2,7 +2,7 @@ - + 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 536e9500d0ff..a1e94b953e72 100644 --- a/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj +++ b/src/ResourceManager/Resources/Commands.Resources.Test/Commands.Resources.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,7 @@ ..\..\..\ true {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - aef90c42 + 431dced7 true @@ -51,8 +51,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -70,19 +70,18 @@ ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -169,11 +168,13 @@ - + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -186,7 +187,6 @@ - @@ -207,8 +207,6 @@ - - True @@ -224,34 +222,22 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {9577252e-0a6b-4d61-86e8-95f7f309a987} - Commands.DataFactories + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common - + {8058d403-06e3-4bed-8924-d166ce303961} - Commands.ResourceManager.Cmdlets + Commands.Resources.Rest {e1f5201d-6067-430e-b303-4e367652991b} Commands.Resources - - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} - Commands.Common.Storage - - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - @@ -474,7 +460,7 @@ Always - + Always @@ -489,6 +475,7 @@ Always + Always @@ -527,15 +514,11 @@ - - - - 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}. - + - Get-AzureADGroup + Get-AzureRMADGroup Filters active directory groups. @@ -19,7 +19,7 @@ - Get-AzureADGroup + Get-AzureRMADGroup ObjectId @@ -36,7 +36,7 @@ - Get-AzureADGroup + Get-AzureRMADGroup SearchString @@ -53,7 +53,7 @@ - Get-AzureADGroup + Get-AzureRMADGroup ObjectId @@ -148,7 +148,7 @@ PS C:\> - PS C:\> Get-AzureADGroup -ObjectId 85F89C90-780E-4AA6-9F4F-6F268D322EEE + PS C:\> Get-AzureRMADGroup -ObjectId 85F89C90-780E-4AA6-9F4F-6F268D322EEE Gets group with 85F89C90-780E-4AA6-9F4F-6F268D322EEE id @@ -168,7 +168,7 @@ PS C:\> - PS C:\> Get-AzureADGroup -SearchString Joe + PS C:\> Get-AzureRMADGroup -SearchString Joe Filters all ad groups that has Joe in the display name. @@ -188,7 +188,7 @@ PS C:\> - PS C:\> Get-AzureADGroup + PS C:\> Get-AzureRMADGroup Gets all AD groups @@ -206,15 +206,15 @@ - Get-AzureADUser + Get-AzureRMADUser - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal - Get-AzureADGroupMember + Get-AzureRMADGroupMember @@ -222,7 +222,7 @@ - Get-AzureADGroupMember + Get-AzureRMADGroupMember Get a group members. @@ -239,7 +239,7 @@ - Get-AzureADGroupMember + Get-AzureRMADGroupMember GroupObjectId @@ -322,7 +322,7 @@ PS C:\> - PS C:\> Get-AzureADGroupMember -GroupObjectId 85F89C90-780E-4AA6-9F4F-6F268D322EEE + PS C:\> Get-AzureRMADGroupMember -GroupObjectId 85F89C90-780E-4AA6-9F4F-6F268D322EEE Gets group members with 85F89C90-780E-4AA6-9F4F-6F268D322EEE id @@ -340,15 +340,15 @@ - Get-AzureADUser + Get-AzureRMADUser - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal - Get-AzureADGroupMemberMember + Get-AzureRMADGroupMemberMember @@ -356,7 +356,7 @@ - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal Filters active directory service principals. @@ -373,7 +373,7 @@ - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal ServicePrincipalName @@ -390,7 +390,7 @@ - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal SearchString @@ -407,7 +407,7 @@ - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal ObjectId @@ -424,7 +424,7 @@ - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal ServicePrincipalName @@ -531,7 +531,7 @@ PS C:\> - PS C:\> Get-AzureADServicePrincipal -SPN 36f81fc3-b00f-48cd-8218-3879f51ff39f + PS C:\> Get-AzureRMADServicePrincipal -SPN 36f81fc3-b00f-48cd-8218-3879f51ff39f Gets service principals with 36f81fc3-b00f-48cd-8218-3879f51ff39f SPN @@ -551,7 +551,7 @@ PS C:\> - PS C:\> Get-AzureADServicePrincipal -SearchString Web + PS C:\> Get-AzureRMADServicePrincipal -SearchString Web Filters all ad service principals that has Web in the display name. @@ -571,7 +571,7 @@ PS C:\> - PS C:\> Get-AzureADServicePrincipal + PS C:\> Get-AzureRMADServicePrincipal Gets all AD service principals @@ -589,15 +589,15 @@ - Get-AzureADGroup + Get-AzureRMADGroup - Get-AzureADUser + Get-AzureRMADUser - Get-AzureADGroupMember + Get-AzureRMADGroupMember @@ -605,7 +605,7 @@ - Get-AzureADUser + Get-AzureRMADUser Filters active directory users. @@ -622,7 +622,7 @@ - Get-AzureADUser + Get-AzureRMADUser UserPrincipalName @@ -639,7 +639,7 @@ - Get-AzureADUser + Get-AzureRMADUser SearchString @@ -656,7 +656,7 @@ - Get-AzureADUser + Get-AzureRMADUser ObjectId @@ -673,7 +673,7 @@ - Get-AzureADUser + Get-AzureRMADUser UserPrincipalName @@ -690,7 +690,7 @@ - Get-AzureADUser + Get-AzureRMADUser Mail @@ -809,7 +809,7 @@ PS C:\> - PS C:\> Get-AzureADUser -UPN foo@domain.com + PS C:\> Get-AzureRMADUser -UPN foo@domain.com Gets user with foo@domain.com @@ -829,7 +829,7 @@ PS C:\> - PS C:\> Get-AzureADUser -SearchString Joe + PS C:\> Get-AzureRMADUser -SearchString Joe Filters all ad users that has Joe in the display name. @@ -849,7 +849,7 @@ PS C:\> - PS C:\> Get-AzureADUser + PS C:\> Get-AzureRMADUser Gets all AD users @@ -867,15 +867,15 @@ - Get-AzureADGroup + Get-AzureRMADGroup - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal - Get-AzureADGroupMember + Get-AzureRMADGroupMember @@ -883,7 +883,7 @@ - Get-AzureLocation + Get-AzureRMLocation Gets the resource types and the Azure data center locations that support them. @@ -896,11 +896,11 @@ This is the Description section - The Get-AzureLocation cmdlet gets the Azure data center locations that support each resource type. This cmdlet returns all resource types and locations. It has no parameters.A resource is a user-managed entity, such as a website, database server, or database. When you create a resource, you need to specify a location, and not every location supports all resource types. Before you create your resources, use this cmdlet to find a location for each resource.Azure resources are members of a resource group, which is a collection of resources that are deployed as a unit. Resource groups have a location, but the group and its members do not need to be in the same location. + The Get-AzureRMLocation cmdlet gets the Azure data center locations that support each resource type. This cmdlet returns all resource types and locations. It has no parameters.A resource is a user-managed entity, such as a website, database server, or database. When you create a resource, you need to specify a location, and not every location supports all resource types. Before you create your resources, use this cmdlet to find a location for each resource.Azure resources are members of a resource group, which is a collection of resources that are deployed as a unit. Resource groups have a location, but the group and its members do not need to be in the same location. - Get-AzureLocation + Get-AzureRMLocation Profile @@ -964,7 +964,7 @@ PS C:\> - PS C:\>Get-AzureLocation + PS C:\>Get-AzureRMLocation Name Locations @@ -1009,7 +1009,7 @@ microsoft.network/Subnets Central US, West Europe PS C:\> - PS C:\>Get-AzureLocation | Where-Object Name -like "*web*site*" + PS C:\>Get-AzureRMLocation | Where-Object Name -like "*web*site*" Name Locations ---- --------- @@ -1017,12 +1017,12 @@ Microsoft.Web/sites North Central US, Central USPS -C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' ... +C:\>New-AzureRMResource -Name MyWebSite -Location 'North Central US' ... This examples shows how to find a location that supports a web site resource and how to use the location in a command to create a web site. - The first command uses the Get-AzureLocation cmdlet to get all resource types and their locations. It pipes the output to the Where-Object cmdlet, which selects only resources with names that include "web" and "site". The output shows that the Azure data centers in the North Central US and Central US support web sites.The second command uses the New-AzureResource cmdlet to create a new web site. The value of the Location parameter, which is required, is North Central US. + The first command uses the Get-AzureRMLocation cmdlet to get all resource types and their locations. It pipes the output to the Where-Object cmdlet, which selects only resources with names that include "web" and "site". The output shows that the Azure data centers in the North Central US and Central US support web sites.The second command uses the New-AzureRMResource cmdlet to create a new web site. The value of the Location parameter, which is required, is North Central US. @@ -1043,7 +1043,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProvider + Get-AzureRMResourceProvider @@ -1051,7 +1051,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' Get - AzureProvider + AzureRMResourceProvider @@ -1059,7 +1059,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProvider + Get-AzureRMResourceProvider ListAvailable @@ -1076,7 +1076,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProvider + Get-AzureRMResourceProvider ProviderNamespace @@ -1173,7 +1173,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProviderFeature + Get-AzureRMProviderFeature @@ -1189,7 +1189,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProviderFeature + Get-AzureRMProviderFeature ProviderNamespace @@ -1213,7 +1213,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProviderFeature + Get-AzureRMProviderFeature ProviderNamespace @@ -1329,7 +1329,7 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - Get-AzureProviderOperation + Get-AzureRMProviderOperation Gets the operations or actions allowed by an Azure resource provider. @@ -1341,12 +1341,12 @@ C:\>New-AzureResource -Name MyWebSite -Location 'North Central US' - The Get-AzureProviderOperation gets the operations exposed by Azure resource providers. Operations can be composed to create custom roles in Azure RBAC. The command takes as input an action string (with possible wildcard (*) character(s)) which determines the action details to display. Use Get-AzureProviderOperation * to return all operations allowed by all resource providers. Use a specific action string to get the details of a particular action. + The Get-AzureRMProviderOperation gets the operations exposed by Azure resource providers. Operations can be composed to create custom roles in Azure RBAC. The command takes as input an action string (with possible wildcard (*) character(s)) which determines the action details to display. Use Get-AzureRMProviderOperation * to return all operations allowed by all resource providers. Use a specific action string to get the details of a particular action. This command throws ProviderNotFound exception if an invalid resource provider is specified in the action string. - Get-AzureProviderOperation + Get-AzureRMProviderOperation ActionString @@ -1429,7 +1429,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i PS C:\> - PS C:\> Get-AzureProviderOperation * + PS C:\> Get-AzureRMProviderOperation * @@ -1449,7 +1449,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i PS C:\> - PS C:\> Get-AzureProviderOperation Microsoft.Insights/* + PS C:\> Get-AzureRMProviderOperation Microsoft.Insights/* @@ -1469,7 +1469,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i PS C:\> - PS C:\> Get-AzureProviderOperation */virtualMachines/* + PS C:\> Get-AzureRMProviderOperation */virtualMachines/* @@ -1491,7 +1491,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i - Get-AzureResourceGroup + Get-AzureRMResourceGroup Gets Azure resource groups @@ -1504,11 +1504,11 @@ This command throws ProviderNotFound exception if an invalid resource provider i This is the Description section - The Get-AzureResourceGroup cmdlet gets the Azure resource groups in your subscription. You can use the Name parameter to select resource groups by name. The default is all resource groups.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit. + The Get-AzureRMResourceGroup cmdlet gets the Azure resource groups in your subscription. You can use the Name parameter to select resource groups by name. The default is all resource groups.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit. - Get-AzureResourceGroup + Get-AzureRMResourceGroup Name @@ -1525,11 +1525,11 @@ This command throws ProviderNotFound exception if an invalid resource provider i - Get-AzureResourceGroup + Get-AzureRMResourceGroup Tag - Gets resource groups that have the specified Azure tags. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource group, use the Tag parameter of the New-AzureResourceGroup or Set-AzureResourceGroup cmdlets. To create a predefined tag, use the New-AzureTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. + Gets resource groups that have the specified Azure tags. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource group, use the Tag parameter of the New-AzureRMResourceGroup or Set-AzureRMResourceGroup cmdlets. To create a predefined tag, use the New-AzureRMTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. Hashtable @@ -1577,7 +1577,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i Tag - Gets resource groups that have the specified Azure tags. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource group, use the Tag parameter of the New-AzureResourceGroup or Set-AzureResourceGroup cmdlets. To create a predefined tag, use the New-AzureTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. + Gets resource groups that have the specified Azure tags. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource group, use the Tag parameter of the New-AzureRMResourceGroup or Set-AzureRMResourceGroup cmdlets. To create a predefined tag, use the New-AzureRMTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. Hashtable @@ -1639,7 +1639,7 @@ This command throws ProviderNotFound exception if an invalid resource provider i PS C:\> - PS C:\>Get-AzureResourceGroup -Detailed + PS C:\>Get-AzureRMResourceGroup -Detailed Name: Contoso Location: West US Resources: @@ -1676,7 +1676,7 @@ Resources: PS C:\> - PS C:\>Get-AzureResourceGroup -Name EngineerBlog + PS C:\>Get-AzureRMResourceGroup -Name EngineerBlog Name: EngineerBlog Location: East US Resources: @@ -1704,14 +1704,14 @@ Resources: PS C:\> - PS C:\>Get-AzureResourceGroup -Detailed | Where-Object {$_.Resources.Type -like "*serverFarms*"} | Select-Object -Property ResourceGroupName + PS C:\>Get-AzureRMResourceGroup -Detailed | Where-Object {$_.Resources.Type -like "*serverFarms*"} | Select-Object -Property ResourceGroupName Contoso EngineerBlog The command uses the Where-Object, ForEach-Object, and Select-Object cmdlets to get the names of resource groups that include Azure database server farms. You can use commands like this one to find resource groups with resources or properties of interest. - The command uses the Get-AzureResourceGroup cmdlet to get all resource groups in the subscription. It pipes the resource groups to the Where-Object cmdlet, which returns only the resource groups that include server farm resources. The command pipes those resource groups to the Select-Object cmdlet, which returns only the value of the ResourceGroupName property of each resource group. + The command uses the Get-AzureRMResourceGroup cmdlet to get all resource groups in the subscription. It pipes the resource groups to the Where-Object cmdlet, which returns only the resource groups that include server farm resources. The command pipes those resource groups to the Select-Object cmdlet, which returns only the value of the ResourceGroupName property of each resource group. @@ -1726,9 +1726,9 @@ EngineerBlog PS C:\> - PS C:\>Get-AzureResourceGroup -Tag @{Name="CostCenter";Value="Development"} + PS C:\>Get-AzureRMResourceGroup -Tag @{Name="CostCenter";Value="Development"} -PS C:\>Get-AzureResourceGroup -Tag @{Name="CostCenter"} +PS C:\>Get-AzureRMResourceGroup -Tag @{Name="CostCenter"} These commands get resource groups by tag. The first command gets resource groups that have a "CostCenter" tag with a value of "Development". The second command gets all resource groups that have a "CostCenter" tag, regardless of its value. @@ -1748,9 +1748,9 @@ PS C:\>Get-AzureResourceGroup -Tag @{Name="CostCenter"} PS C:\> - PS C:\>Get-AzureResourceGroup -Name ContosoRG + PS C:\>Get-AzureRMResourceGroup -Name ContosoRG -PS C:\>(Get-AzureResourceGroup -Name ContosoRG).Tags +PS C:\>(Get-AzureRMResourceGroup -Name ContosoRG).Tags Tags: @@ -1780,11 +1780,11 @@ Tags: http://go.microsoft.com/fwlink/?LinkID=393047 - New-AzureResourceGroup + New-AzureRMResourceGroup - Remove-AzureResourceGroup + Remove-AzureRMResourceGroup @@ -1792,7 +1792,7 @@ Tags: - Get-AzureResourceGroupDeployment + Get-AzureRMResourceGroupDeployment Gets the deployments in a resource group. @@ -1805,11 +1805,11 @@ Tags: This is the Description section - The Get-AzureResourceGroupDeployment cmdlet gets the deployments in an Azure resource group. You can use the Name (DeploymentName) and ProvisioningState parameters to filter the deployments. By default, Get-AzureResourceGroupDeployment returns all deployments for a specified resource group.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit. A deployment is the operation that makes the resources in the resource group available for use.This cmdlet is very useful for tracking. For debugging, use it with the Get-AzureResourceGroupLog cmdlet. + The Get-AzureRMResourceGroupDeployment cmdlet gets the deployments in an Azure resource group. You can use the Name (DeploymentName) and ProvisioningState parameters to filter the deployments. By default, Get-AzureRMResourceGroupDeployment returns all deployments for a specified resource group.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit. A deployment is the operation that makes the resources in the resource group available for use.This cmdlet is very useful for tracking. For debugging, use it with the Get-AzureRMResourceGroupLog cmdlet. - Get-AzureResourceGroupDeployment + Get-AzureRMResourceGroupDeployment ResourceGroupName @@ -1820,14 +1820,14 @@ Tags: Name - Gets only the deployment with the specified name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureResourceGroupDeployment returns all deployments for the specified resource group. + Gets only the deployment with the specified name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureRMResourceGroupDeployment returns all deployments for the specified resource group. String ProvisioningState - Gets only the deployments with the specified provisioning state. Valid values include, but are not limited to: Canceled, Deprovisioning, Failed, NotProvisioned, Provisioned, Provisioning, and Succeeded. This parameter is optional. By default, Get-AzureResourceGroupDeployment returns all deployments for the specified resource group. + Gets only the deployments with the specified provisioning state. Valid values include, but are not limited to: Canceled, Deprovisioning, Failed, NotProvisioned, Provisioned, Provisioning, and Succeeded. This parameter is optional. By default, Get-AzureRMResourceGroupDeployment returns all deployments for the specified resource group. String @@ -1856,7 +1856,7 @@ Tags: Name - Gets only the deployment with the specified name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureResourceGroupDeployment returns all deployments for the specified resource group. + Gets only the deployment with the specified name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureRMResourceGroupDeployment returns all deployments for the specified resource group. String @@ -1868,7 +1868,7 @@ Tags: ProvisioningState - Gets only the deployments with the specified provisioning state. Valid values include, but are not limited to: Canceled, Deprovisioning, Failed, NotProvisioned, Provisioned, Provisioning, and Succeeded. This parameter is optional. By default, Get-AzureResourceGroupDeployment returns all deployments for the specified resource group. + Gets only the deployments with the specified provisioning state. Valid values include, but are not limited to: Canceled, Deprovisioning, Failed, NotProvisioned, Provisioned, Provisioning, and Succeeded. This parameter is optional. By default, Get-AzureRMResourceGroupDeployment returns all deployments for the specified resource group. String @@ -1930,7 +1930,7 @@ Tags: PS C:\> - PS C:\>Get-AzureResourceGroupDeployment -ResourceGroupName ContosoLabsRG + PS C:\>Get-AzureRMResourceGroupDeployment -ResourceGroupName ContosoLabsRG DeploymentName : WordPress.WordPress ResourceGroupName : ContosoLabsRG ProvisioningState : Succeeded @@ -1979,9 +1979,9 @@ Outputs : PS C:\> - PS C:\>Get-AzureResourceGroupDeployment -ResourceGroupName ContosoLabsRG -Name DeployWebsite1 + PS C:\>Get-AzureRMResourceGroupDeployment -ResourceGroupName ContosoLabsRG -Name DeployWebsite1 - This command gets the DeployWebsite1 deployment of the ContosoLabsRG resource group. You can assign a name to a deployment when you create it by using the New-AzureResourceGroup or New-AzureResourceGroupDeployment cmdlets. If you do not assign a name, the cmdlets provide a default name based on the template used to create the deployment. + This command gets the DeployWebsite1 deployment of the ContosoLabsRG resource group. You can assign a name to a deployment when you create it by using the New-AzureRMResourceGroup or New-AzureRMResourceGroupDeployment cmdlets. If you do not assign a name, the cmdlets provide a default name based on the template used to create the deployment. @@ -1999,7 +1999,7 @@ Outputs : PS C:\> - PS C:\>Get-AzureResourceGroupDeployment -ResourceGroupName ContosoLabsRG -ProvisioningState NotProvisioned + PS C:\>Get-AzureRMResourceGroupDeployment -ResourceGroupName ContosoLabsRG -ProvisioningState NotProvisioned This command gets the deployments of the ContosoLabsRG resource group that are not yet provisioned. @@ -2019,7 +2019,7 @@ Outputs : PS C:\> - PS C:\>Get-AzureResourceGroup | Get-AzureResourceGroupDeployment | Format-Table ResourceGroupName, DeploymentName, ProvisioningState + PS C:\>Get-AzureRMResourceGroup | Get-AzureRMResourceGroupDeployment | Format-Table ResourceGroupName, DeploymentName, ProvisioningState ResourceGroupName DeploymentName ProvisioningState ----------------- -------------- ----------------- ContosoAppa001 Microsoft.WebSiteSQLDatabase.0.1.0-p... Succeeded @@ -2054,7 +2054,7 @@ ContosoLabsRG WordPress.WordPress Succ - Get-AzureResourceGroupGalleryTemplate + Get-AzureRMResourceGroupGalleryTemplate Gets resource group templates in the gallery @@ -2067,22 +2067,22 @@ ContosoLabsRG WordPress.WordPress Succ This is the Description section - The Get-AzureResourceGroupGalleryTemplate cmdlet gets resource group gallery templates from the template gallery that Azure hosts. To save a gallery template as a JSON file, use the Save-AzureResourceGroupGalleryTemplate cmdlet.A resource group template is a JSON string that defines a resource group for a complex entity, such as a web portal, a blog, a photo gallery, a commerce site, or a wiki. The template defines the resources that are typically needed for the entity, such as web sites, database servers, databases and storage accounts, and includes parameters for user-defined values, such as the names and properties of the resources. To create a resource group with a template, just identify the template and provide values for its parameters.You can create your own templates or use the Get-AzureResourceGroupGalleryTemplate get a template from the template gallery that Azure hosts. You can also create templates by editing the gallery templates. If you create or edit a template, be sure to use the Test-AzureResourceGroupTemplate cmdlet to verify that your template and its parameters are valid.To create a resource group with a custom or gallery template, use the New-AzureResourceGroup or New-AzureResourceGroupDeployment cmdlets.By default the cmdlet gets only the latest version of the template. To get all versions, use the -AllVersions parameter flag. + The Get-AzureRMResourceGroupGalleryTemplate cmdlet gets resource group gallery templates from the template gallery that Azure hosts. To save a gallery template as a JSON file, use the Save-AzureRMResourceGroupGalleryTemplate cmdlet.A resource group template is a JSON string that defines a resource group for a complex entity, such as a web portal, a blog, a photo gallery, a commerce site, or a wiki. The template defines the resources that are typically needed for the entity, such as web sites, database servers, databases and storage accounts, and includes parameters for user-defined values, such as the names and properties of the resources. To create a resource group with a template, just identify the template and provide values for its parameters.You can create your own templates or use the Get-AzureRMResourceGroupGalleryTemplate get a template from the template gallery that Azure hosts. You can also create templates by editing the gallery templates. If you create or edit a template, be sure to use the Test-AzureResourceGroupTemplate cmdlet to verify that your template and its parameters are valid.To create a resource group with a custom or gallery template, use the New-AzureRMResourceGroup or New-AzureRMResourceGroupDeployment cmdlets.By default the cmdlet gets only the latest version of the template. To get all versions, use the -AllVersions parameter flag. - Get-AzureResourceGroupGalleryTemplate + Get-AzureRMResourceGroupGalleryTemplate Publisher - Gets only gallery templates from the specified publisher. Enter one publisher name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureResourceGroupGalleryTemplate gets all gallery templates. + Gets only gallery templates from the specified publisher. Enter one publisher name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureRMResourceGroupGalleryTemplate gets all gallery templates. String Category - Gets only gallery templates in the specified category. Wildcards are not permitted. You can specify only one category in each command. This parameter is optional. By default, Get-AzureResourceGroupGalleryTemplate gets all gallery templates. + Gets only gallery templates in the specified category. Wildcards are not permitted. You can specify only one category in each command. This parameter is optional. By default, Get-AzureRMResourceGroupGalleryTemplate gets all gallery templates. String @@ -2109,11 +2109,11 @@ ContosoLabsRG WordPress.WordPress Succ - Get-AzureResourceGroupGalleryTemplate + Get-AzureRMResourceGroupGalleryTemplate Identity - Gets the gallery template with the specified Identity value. Wildcards are not permitted. You can specify only one Identity in each command.To find the Identity of a gallery template, run Get-AzureResourceGroupGalleryTemplate without parameters. + Gets the gallery template with the specified Identity value. Wildcards are not permitted. You can specify only one Identity in each command.To find the Identity of a gallery template, run Get-AzureRMResourceGroupGalleryTemplate without parameters. String @@ -2130,7 +2130,7 @@ ContosoLabsRG WordPress.WordPress Succ Publisher - Gets only gallery templates from the specified publisher. Enter one publisher name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureResourceGroupGalleryTemplate gets all gallery templates. + Gets only gallery templates from the specified publisher. Enter one publisher name. Wildcards are not permitted. This parameter is optional. By default, Get-AzureRMResourceGroupGalleryTemplate gets all gallery templates. String @@ -2142,7 +2142,7 @@ ContosoLabsRG WordPress.WordPress Succ Category - Gets only gallery templates in the specified category. Wildcards are not permitted. You can specify only one category in each command. This parameter is optional. By default, Get-AzureResourceGroupGalleryTemplate gets all gallery templates. + Gets only gallery templates in the specified category. Wildcards are not permitted. You can specify only one category in each command. This parameter is optional. By default, Get-AzureRMResourceGroupGalleryTemplate gets all gallery templates. String @@ -2190,7 +2190,7 @@ ContosoLabsRG WordPress.WordPress Succ Identity - Gets the gallery template with the specified Identity value. Wildcards are not permitted. You can specify only one Identity in each command.To find the Identity of a gallery template, run Get-AzureResourceGroupGalleryTemplate without parameters. + Gets the gallery template with the specified Identity value. Wildcards are not permitted. You can specify only one Identity in each command.To find the Identity of a gallery template, run Get-AzureRMResourceGroupGalleryTemplate without parameters. String @@ -2240,14 +2240,14 @@ ContosoLabsRG WordPress.WordPress Succ PS C:\> - PS C:\>Get-AzureResourceGroupGalleryTemplate + PS C:\>Get-AzureRMResourceGroupGalleryTemplate Publisher Identity--------- --------Acquiacom Acquiacom.AcquiaDrupal7MySQL.0.1.0-preview1Acquiacom Acquiacom.AcquiaDrupal7SQL.0.1.0-preview1Avensoft Avensoft.nService.0.1.0-preview1BlogEngineNET BlogEngineNET.BlogEngineNET.0.1.0-preview1Brandoo Brandoo.BrandooWordPressMSSQLorAzureSQL.0.1.0-preview1bugnetproject bugnetproject.BugNET.0.1.0-preview1CakeSoftwareFoundation CakeSoftwareFoundation.CakePHP.0.1.0-preview1CommerceGuys CommerceGuys.DrupalCommerceKickstartMySQL.0.1.0-preview1... This command gets all gallery templates in the Azure template gallery and displays the Identity and Description of each gallery template in a list. The list lets you browse through the templates and select the ones that meet your needs. - To save the list in a text file that you can search, use the redirection operator (>). For example, Get-AzureResourceGroupGalleryTemplate | Format-List Identity, Description > $home\Documents\Azure\TemplateDescriptions.txt. + To save the list in a text file that you can search, use the redirection operator (>). For example, Get-AzureRMResourceGroupGalleryTemplate | Format-List Identity, Description > $home\Documents\Azure\TemplateDescriptions.txt. @@ -2262,9 +2262,9 @@ Publisher Identity--------- --------Acquiacom PS C:\> - PS C:\> PS C:\ps-test> Get-AzureResourceGroupGalleryTemplate -Identity WikimediaFoundation.MediaWiki.0.1.0-preview1 + PS C:\> PS C:\ps-test> Get-AzureRMResourceGroupGalleryTemplate -Identity WikimediaFoundation.MediaWiki.0.1.0-preview1 - This command uses the Get-AzureResourceGroupGalleryTemplate cmdlet to get the WikimediaFoundation.MediaWiki.0.1.0-preview1 gallery template. You can review the gallery template and its properties, such as icons and screenshots. + This command uses the Get-AzureRMResourceGroupGalleryTemplate cmdlet to get the WikimediaFoundation.MediaWiki.0.1.0-preview1 gallery template. You can review the gallery template and its properties, such as icons and screenshots. @@ -2282,15 +2282,15 @@ Publisher Identity--------- --------Acquiacom PS C:\> - PS C:\>Save-AzureResourceGroupGalleryTemplate -Identity Microsoft.PhotoGallery.0.1.0-preview1 -Path $home\Documents\Azure\MyTemplates + PS C:\>Save-AzureRMResourceGroupGalleryTemplate -Identity Microsoft.PhotoGallery.0.1.0-preview1 -Path $home\Documents\Azure\MyTemplates PS C:\>Get-Content -Path $home\Documents\Azure\MyTemplates Microsoft.PhotoGallery.0.1.0-preview1.json { "$schema": "http://johngosmanage.blob.core.windows.net/schemas/2014-04-01-preview/deploymentTemplate.json", "contentVersion": "1.0.0.0", "parameters": { "siteName": { "type": "string" }, "hostingPlanName": { "type": "string" },... "resources": [ { "apiVersion": "2014-04-01", "name": "[parameters('siteName')]", "type": "Microsoft.Web/sites", "location": "[parameters('siteLocation')]", "tags": { "[concat('hidden-related:/subscriptions/', }, "properties": { "name": "[parameters('siteName')]", "serverFarm": "[parameters('hostingPlanName')]", "computeMode": "[parameters('computeMode')]", "siteMode": "[parameters('siteMode')]" }... When you find a gallery template that matches your resource needs, -you can save it as a JSON file on disk. This makes it easy to review and analyze the resources that the template creates and the parameters (user-defined values) that it defines for each resource. Then, you can use the template with the New-AzureResourceGroup and New-AzureResourceGroupDeployment cmdlets. +you can save it as a JSON file on disk. This makes it easy to review and analyze the resources that the template creates and the parameters (user-defined values) that it defines for each resource. Then, you can use the template with the New-AzureRMResourceGroup and New-AzureRMResourceGroupDeployment cmdlets. - The first command uses the Save-AzureResourceGroupGalleryTemplate cmdlet to save the Microsoft.PhotoGallery.0.1.0-preview1 gallery template as a JSON file in the path that you specify.The second command uses the Get-Content cmdlet to get the content of the template file. The output that's displayed here is just an excerpt of the JSON template file, but you can see the Parameters and Resources attributes that are common to every template file. To see examples of using the template, type: Get-Help New-AzureResourceGroup or Get-Help New-AzureResourceGroupDeployment. + The first command uses the Save-AzureRMResourceGroupGalleryTemplate cmdlet to save the Microsoft.PhotoGallery.0.1.0-preview1 gallery template as a JSON file in the path that you specify.The second command uses the Get-Content cmdlet to get the content of the template file. The output that's displayed here is just an excerpt of the JSON template file, but you can see the Parameters and Resources attributes that are common to every template file. To see examples of using the template, type: Get-Help New-AzureRMResourceGroup or Get-Help New-AzureRMResourceGroupDeployment. @@ -2305,7 +2305,7 @@ you can save it as a JSON file on disk. This makes it easy to review and analyze PS C:\> - PS C:\>Get-AzureResourceGroupGalleryTemplate | Foreach-Object {Get-AzureResourceGroupGalleryTemplate -Identity $_.Identity} | Format-List -Property CategoryIds, Identity, Summary + PS C:\>Get-AzureRMResourceGroupGalleryTemplate | Foreach-Object {Get-AzureRMResourceGroupGalleryTemplate -Identity $_.Identity} | Format-List -Property CategoryIds, Identity, Summary CategoryIds : {web, blogscms, ecommerce} Identity : Acquiacom.AcquiaDrupal7MySQL.0.1.0-preview1 Summary : Acquia Drupal 7 provides the fastest on-ramp to build dynamic and social web sites featuring both editorial and user-generated content. Includes Drupal core and popular modules. @@ -2316,7 +2316,7 @@ Identity : Avensoft.nService.0.1.0-preview1 Summary : Help desk and service management software that empowers you to provide great services to your employees and customers. This free edition allows one concurrent technician and unlimited end users. ... - This example shows you how to display the category (CategoryIds property), identity, and summary of each template in a list. You can use commands with this format to get any template property. To find all template properties, pipe a Get-AzureResourceGroupGalleryTemplate command with the Identity parameter to the Get-Member cmdlet. For example: (Get-AzureResourceGroupGalleryTemplate Microsoft.TeamProject.0.1.0-preview1 | Get-Member). + This example shows you how to display the category (CategoryIds property), identity, and summary of each template in a list. You can use commands with this format to get any template property. To find all template properties, pipe a Get-AzureRMResourceGroupGalleryTemplate command with the Identity parameter to the Get-Member cmdlet. For example: (Get-AzureRMResourceGroupGalleryTemplate Microsoft.TeamProject.0.1.0-preview1 | Get-Member). @@ -2340,7 +2340,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment Filters role assignments. @@ -2357,7 +2357,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment RoleDefinitionName @@ -2374,7 +2374,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ObjectId @@ -2405,7 +2405,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ObjectId @@ -2429,7 +2429,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ObjectId @@ -2481,7 +2481,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ObjectId @@ -2512,7 +2512,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment Mail @@ -2536,7 +2536,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment Mail @@ -2567,7 +2567,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment Mail @@ -2619,7 +2619,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment Mail @@ -2650,7 +2650,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment UserPrincipalName @@ -2681,7 +2681,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment UserPrincipalName @@ -2705,7 +2705,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment UserPrincipalName @@ -2757,7 +2757,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment UserPrincipalName @@ -2788,7 +2788,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ServicePrincipalName @@ -2840,7 +2840,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ServicePrincipalName @@ -2864,7 +2864,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ServicePrincipalName @@ -2895,7 +2895,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ServicePrincipalName @@ -2926,7 +2926,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ResourceGroupName @@ -2950,7 +2950,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment ResourceGroupName @@ -2995,7 +2995,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment RoleDefinitionName @@ -3193,7 +3193,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader + PS C:\> Get-AzureRMRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader gets role assignments for principal in a resource group that have Reader role definition @@ -3213,7 +3213,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleAssignment -ServicePrincipalName 36f81fc3-b00f-48cd-8218-3879f51ff39f -RoleDefinitionName Contributor + PS C:\> Get-AzureRMRoleAssignment -ServicePrincipalName 36f81fc3-b00f-48cd-8218-3879f51ff39f -RoleDefinitionName Contributor Gets role assignments of a service principal that have contribution role definition. @@ -3233,7 +3233,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleAssignment + PS C:\> Get-AzureRMRoleAssignment Gets all role assignments under the subscription @@ -3253,7 +3253,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleAssignment -Mail allen.young@live.cn -RoleDefinitionName Owner -Scope "/resourcegroups/rg1/providers/Microsoft.Web/sites/site1" + PS C:\> Get-AzureRMRoleAssignment -Mail allen.young@live.cn -RoleDefinitionName Owner -Scope "/resourcegroups/rg1/providers/Microsoft.Web/sites/site1" gets role assignment to a live email on a resource using the generic parameter. Since the scope doens't start with "/subscriptions/{id}", the current subscription id will be used @@ -3271,15 +3271,15 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureRoleAssignment + New-AzureRMRoleAssignment - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition @@ -3287,7 +3287,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition Filters role definitions. @@ -3304,7 +3304,7 @@ Summary : Help desk and service management software that empowers you to pro - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition Name @@ -3406,7 +3406,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleDefinition -Name Reader + PS C:\> Get-AzureRMRoleDefinition -Name Reader Gets a role definition with Reader name @@ -3426,7 +3426,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> Get-AzureRoleDefinition + PS C:\> Get-AzureRMRoleDefinition Lists all role definitions @@ -3444,15 +3444,15 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureRoleAssignment + New-AzureRMRoleAssignment - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment @@ -3460,7 +3460,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication Creates a new azure active directory application. @@ -3477,7 +3477,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication DisplayName @@ -3508,7 +3508,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication DisplayName @@ -3560,7 +3560,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication DisplayName @@ -3598,7 +3598,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication DisplayName @@ -3664,7 +3664,7 @@ Summary : Help desk and service management software that empowers you to pro - New-AzureADApplication + New-AzureRMADApplication DisplayName @@ -3888,7 +3888,7 @@ Summary : Help desk and service management software that empowers you to pro PS C:\> - PS C:\> New-AzureADApplication -DisplayName "NewApplication" -HomePage "http://www.microsoft.com" -IdentifierUris "http://NewApplication" + PS C:\> New-AzureRMADApplication -DisplayName "NewApplication" -HomePage "http://www.microsoft.com" -IdentifierUris "http://NewApplication" Creates a new azure active directory application without any credentials. @@ -3931,7 +3931,7 @@ AppPermissions : {{ PS C:\> - PS C:\> New-AzureADApplication -DisplayName "NewApplication" -HomePage "http://www.microsoft.com" -IdentifierUris "http: + PS C:\> New-AzureRMADApplication -DisplayName "NewApplication" -HomePage "http://www.microsoft.com" -IdentifierUris "http: //NewApplication" -Password "password" Creates a new azure active directory application and associates password credentials with it. @@ -3973,15 +3973,15 @@ AppPermissions : {{ - Remove-AzureADApplication + Remove-AzureRMADApplication - New-AzureADServicePrincipal + New-AzureRMADServicePrincipal - Remove-AzureADServicePrincipal + Remove-AzureRMADServicePrincipal @@ -3989,7 +3989,7 @@ AppPermissions : {{ - New-AzureADServicePrincipal + New-AzureRMADServicePrincipal Creates a new azure active directory service principal. @@ -4006,7 +4006,7 @@ AppPermissions : {{ - New-AzureADServicePrincipal + New-AzureRMADServicePrincipal ApplicationId @@ -4108,7 +4108,7 @@ AppPermissions : {{ PS C:\> - New-AzureADServicePrincipal -ApplicationId a3dad041-8119-4182-b500-f8f959bf31db + New-AzureRMADServicePrincipal -ApplicationId a3dad041-8119-4182-b500-f8f959bf31db Creates a new azure active directory service principal. @@ -4128,19 +4128,19 @@ NewApplication 61b5d8ea-fdc6-40a2 - Remove-AzureADServicePrincipal + Remove-AzureRMADServicePrincipal - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal - New-AzureADApplication + New-AzureRMADApplication - Remove-AzureADApplication + Remove-AzureRMADApplication @@ -4148,7 +4148,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Creates an Azure resource group and its resources @@ -4161,11 +4161,11 @@ NewApplication 61b5d8ea-fdc6-40a2 This is the Description section - The New-AzureResourceGroup cmdlet creates an Azure resource group and its resources and returns an object that represents the resource group.Use this cmdlet to create a new resource group. To add a deployment to an existing resource group, use the New-AzureResourceGroupDeployment cmdlet. To add a resource to an existing resource group, use the New-AzureResource cmdlet.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit.You can create a resource group with just a name and location, and then use the New-AzureResource cmdlet to create resources and add them to the resource group. However, typically, you use a resource group template, which is a JSON-based model of a resource group for a complex cloud-based service, such as a web portal. You can find many templates in the Azure template gallery (Get-AzureResourceGroupGalleryTemplate) and you can create your own templates.To find a gallery template, use the Get-AzureResourceGroupGalleryTemplate template cmdlet. To use a gallery template, use the GalleryTemplateIdentity parameter of New-AzureResourceGroup to specify the template identity. Or, use the Save-AzureResourceGalleryTemplate cmdlet to save the gallery template as a JSON file, and then use the TemplateFile or TemplateUri parameters to provide the name and location of the file.You can also create a custom resource group template, either by typing in a text file or by editing a gallery template. To use a custom template to create a resource group, use TemplateFile or TemplateUri parameters to supply the location and file name.The template includes parameters (placeholders) for configurable property values, likes names and sizes. To specify values for the template parameters, use a JSON-formatted parameter file (TemplateParameterFile parameter) or a hash table of parameter names and values (TemplateParameterObject parameter). Or, you can use the template parameters that are added to the command dynamically as soon as you specify a template. To use the dynamic parameters, just type them in the command, or type a minus sign to indicate a parameter name (-) and then press the TAB key repeatedly to cycle through the available parameters. If you miss a required template parameter, the cmdlet prompts you for the value. Template parameter values that you specify at the command line take precedence over template parameter values in a template parameter object or file. + The New-AzureRMResourceGroup cmdlet creates an Azure resource group and its resources and returns an object that represents the resource group.Use this cmdlet to create a new resource group. To add a deployment to an existing resource group, use the New-AzureRMResourceGroupDeployment cmdlet. To add a resource to an existing resource group, use the New-AzureRMResource cmdlet.An Azure resource is a user-managed Azure entity, such as a database server, database, or web site. An Azure resource group is a collection of Azure resources that are deployed as a unit.You can create a resource group with just a name and location, and then use the New-AzureRMResource cmdlet to create resources and add them to the resource group. However, typically, you use a resource group template, which is a JSON-based model of a resource group for a complex cloud-based service, such as a web portal. You can find many templates in the Azure template gallery (Get-AzureRMResourceGroupGalleryTemplate) and you can create your own templates.To find a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate template cmdlet. To use a gallery template, use the GalleryTemplateIdentity parameter of New-AzureRMResourceGroup to specify the template identity. Or, use the Save-AzureRMResourceGalleryTemplate cmdlet to save the gallery template as a JSON file, and then use the TemplateFile or TemplateUri parameters to provide the name and location of the file.You can also create a custom resource group template, either by typing in a text file or by editing a gallery template. To use a custom template to create a resource group, use TemplateFile or TemplateUri parameters to supply the location and file name.The template includes parameters (placeholders) for configurable property values, likes names and sizes. To specify values for the template parameters, use a JSON-formatted parameter file (TemplateParameterFile parameter) or a hash table of parameter names and values (TemplateParameterObject parameter). Or, you can use the template parameters that are added to the command dynamically as soon as you specify a template. To use the dynamic parameters, just type them in the command, or type a minus sign to indicate a parameter name (-) and then press the TAB key repeatedly to cycle through the available parameters. If you miss a required template parameter, the cmdlet prompts you for the value. Template parameter values that you specify at the command line take precedence over template parameter values in a template parameter object or file. - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4176,7 +4176,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4190,21 +4190,21 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4217,7 +4217,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4228,7 +4228,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4242,14 +4242,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4263,14 +4263,14 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4283,7 +4283,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4294,7 +4294,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4308,14 +4308,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4329,21 +4329,21 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4356,7 +4356,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4367,7 +4367,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4381,14 +4381,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4402,14 +4402,14 @@ NewApplication 61b5d8ea-fdc6-40a2 GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4422,7 +4422,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4433,7 +4433,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4447,14 +4447,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4468,14 +4468,14 @@ NewApplication 61b5d8ea-fdc6-40a2 GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4488,7 +4488,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4499,7 +4499,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4513,14 +4513,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4534,14 +4534,14 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4554,7 +4554,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4565,7 +4565,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4579,14 +4579,14 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4600,21 +4600,21 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4627,7 +4627,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4638,7 +4638,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4652,28 +4652,28 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4686,7 +4686,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4697,7 +4697,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4711,35 +4711,35 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4752,7 +4752,7 @@ NewApplication 61b5d8ea-fdc6-40a2 - New-AzureResourceGroup + New-AzureRMResourceGroup Name @@ -4763,7 +4763,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4777,28 +4777,28 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4827,7 +4827,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Location - Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource group. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource group in any location. The resource group does not have to be in the same location your Azure subscription or the same location as its resources. Resource groups can contain resources from different locations. To determine which location support each resource type, use the Get-AzureRMLocation cmdlet. String @@ -4851,7 +4851,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Tag - Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource group. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. Hashtable[] @@ -4863,7 +4863,7 @@ NewApplication 61b5d8ea-fdc6-40a2 Force - Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureResourceGroup prompts for confirmation before replacing an existing resource group. + Suppresses the confirmation prompt and overwrites an existing resource group with the same name. By default, New-AzureRMResourceGroup prompts for confirmation before replacing an existing resource group. SwitchParameter @@ -4875,7 +4875,7 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroup verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroup verifies that the specified template has the matching version and fails if it does not. String @@ -4911,7 +4911,7 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -4923,7 +4923,7 @@ NewApplication 61b5d8ea-fdc6-40a2 TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -4935,7 +4935,7 @@ NewApplication 61b5d8ea-fdc6-40a2 StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroup saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use a Switch-AzureMode -Name AzureServiceManagement command to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -4947,7 +4947,7 @@ NewApplication 61b5d8ea-fdc6-40a2 GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String @@ -5009,13 +5009,13 @@ NewApplication 61b5d8ea-fdc6-40a2 PS C:\> - PS C:\>New-AzureResourceGroup -Name RG1 -Location "South Central US" + PS C:\>New-AzureRMResourceGroup -Name RG1 -Location "South Central US" ResourceGroupName : RG1 Location : southcentralus ProvisioningState : Succeeded Resources - This command creates a resource group that has no resources. You can use the New-AzureResource or New-AzureResourceGroupDeployment cmdlets to add resources and deployments to this resource group. + This command creates a resource group that has no resources. You can use the New-AzureRMResource or New-AzureRMResourceGroupDeployment cmdlets to add resources and deployments to this resource group. @@ -5033,7 +5033,7 @@ Resources PS C:\> - PS C:\>New-AzureResourceGroup –Name ContosoHosting –Location "West US" –TemplateFile D:\Templates\ContosoHosting.json -TemplateVersion "2014-04-01-preview" -DeploymentName ContosoHosting -TemplateParameterFile D:\Templates\ContosoHostingParms.json + PS C:\>New-AzureRMResourceGroup –Name ContosoHosting –Location "West US" –TemplateFile D:\Templates\ContosoHosting.json -TemplateVersion "2014-04-01-preview" -DeploymentName ContosoHosting -TemplateParameterFile D:\Templates\ContosoHostingParms.json Name: ContosoHosting Location: westus Resources: @@ -5042,7 +5042,7 @@ Resources: ContosoHosting Microsoft.Web/serverFarms westus Contoso Microsoft.Web/Sites West US - This command creates the "ContosoHosting" resource group from a custom template. It uses the TemplateFile parameter to specify the path and file name of the ContosoHosting.json template file and the TemplateParameterFile parameter to specify the ContosoHostingParms.json file, which contains the names and values of the parameters in the template. Because the command does not specify a storage account, New-AzureResourceGroup uses the current storage account in the subscription. + This command creates the "ContosoHosting" resource group from a custom template. It uses the TemplateFile parameter to specify the path and file name of the ContosoHosting.json template file and the TemplateParameterFile parameter to specify the ContosoHostingParms.json file, which contains the names and values of the parameters in the template. Because the command does not specify a storage account, New-AzureRMResourceGroup uses the current storage account in the subscription. @@ -5060,7 +5060,7 @@ Resources: PS C:\> - PS C:\>New-AzureResourceGroup –Name ContosoRG01 –Location "West US" –GalleryTemplateIdentity Microsoft.WebSite.0.1.0-preview1 -siteName ContosoWeb -hostingPlanName ContosoHosting -siteMode Limited -computeMode Shared -siteLocation "South Central US" -subscriptionID "9b14a38b-4b93-4554-8bb0-3cefb47abcde" -resourceGroup ContosoRG01 + PS C:\>New-AzureRMResourceGroup –Name ContosoRG01 –Location "West US" –GalleryTemplateIdentity Microsoft.WebSite.0.1.0-preview1 -siteName ContosoWeb -hostingPlanName ContosoHosting -siteMode Limited -computeMode Shared -siteLocation "South Central US" -subscriptionID "9b14a38b-4b93-4554-8bb0-3cefb47abcde" -resourceGroup ContosoRG01 ResourceGroupName : ContosoRG01 Location : westus ProvisioningState : Succeeded @@ -5073,7 +5073,7 @@ Resources : This example shows how to create a resource group from a gallery template and use the parameters that are added to the command dynamically to provide the template parameter values. - This command uses the New-AzureResourceGroup cmdlet to create a new resource group. It uses the GalleryTemplateIdentity parameter to specify the identity of the gallery template. In this scenario, you don't need to save the gallery template to disk.After you type the cmdlet parameters and values, type a minus sign (to indicate a parameter name) and then press the TAB key to trigger tab-completion. The cmdlet adds a parameter, such as siteMode. Type the parameter value, type a minus sign, press TAB, and it adds another parameter. To cycle through the parameter names, press TAB repeatedly. If you miss a mandatory template parameter, the cmdlet prompts you for the value. + This command uses the New-AzureRMResourceGroup cmdlet to create a new resource group. It uses the GalleryTemplateIdentity parameter to specify the identity of the gallery template. In this scenario, you don't need to save the gallery template to disk.After you type the cmdlet parameters and values, type a minus sign (to indicate a parameter name) and then press the TAB key to trigger tab-completion. The cmdlet adds a parameter, such as siteMode. Type the parameter value, type a minus sign, press TAB, and it adds another parameter. To cycle through the parameter names, press TAB repeatedly. If you miss a mandatory template parameter, the cmdlet prompts you for the value. @@ -5088,8 +5088,8 @@ Resources : PS C:\> - PS C:\> The first command uses the Get-AzureResourceGroupGalleryTemplate to get a gallery item. It pipes the gallery item to the Save-AzureResourceGroupGalleryTemplate cmdlet, which save the template as a JSON file in the path that you specify. -PS C:\>Get-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 | Save-AzureResourceGroupTemplate -Path D:\Azure\Templates + PS C:\> The first command uses the Get-AzureRMResourceGroupGalleryTemplate to get a gallery item. It pipes the gallery item to the Save-AzureRMResourceGroupGalleryTemplate cmdlet, which save the template as a JSON file in the path that you specify. +PS C:\>Get-AzureRMResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 | Save-AzureRMResourceGroupTemplate -Path D:\Azure\Templates Path: D:\Azure\Templates\Microsoft.WebSite.0.1.0-preview1.json @@ -5112,8 +5112,8 @@ The fourth command creates a hash table of the template parameters and values an PS C:\>$params = @{siteName="ContosoWeb"; hostingPlanName = "ContosoHosting"; siteMode = "Limited"; computeMode = "Shared"; siteLocation = "South Central US"; subscriptionId = "9b14a38b-4b93-4554-8bb0-3cefb47abcde"; resourceGroup = "ContosoRG01"} -The fifth command uses the New-AzureResourceGroup cmdlet to create the resource group. It uses the TemplateFile parameter to specify the gallery template file on disk and the TemplateParameterObject parameter to specify the hash table of template parameter names and values in the $params variable. It uses the StorageAccountName parameter to specify the storage account in which the template is stored. You must specify a storage account when you use the TemplateFile parameter and a "current" storage account has not been selected for the subscription.The cmdlet returns an object that represents the new resource group. -PS C:\>New-AzureResourceGroup –Name ContosoRG01 –Location "West US" –StorageAccountName contosostorage01 -DeploymentName WebDeploy01 -TemplateFile $home\Documents\Azure\Templates\Microsoft.WebSite.0.1.0-preview1.json -TemplateParameterObject @params -StorageAccountName ContosoStorage +The fifth command uses the New-AzureRMResourceGroup cmdlet to create the resource group. It uses the TemplateFile parameter to specify the gallery template file on disk and the TemplateParameterObject parameter to specify the hash table of template parameter names and values in the $params variable. It uses the StorageAccountName parameter to specify the storage account in which the template is stored. You must specify a storage account when you use the TemplateFile parameter and a "current" storage account has not been selected for the subscription.The cmdlet returns an object that represents the new resource group. +PS C:\>New-AzureRMResourceGroup –Name ContosoRG01 –Location "West US" –StorageAccountName contosostorage01 -DeploymentName WebDeploy01 -TemplateFile $home\Documents\Azure\Templates\Microsoft.WebSite.0.1.0-preview1.json -TemplateParameterObject @params -StorageAccountName ContosoStorage ResourceGroupName : ContosoRG01 Location : westus ProvisioningState : Succeeded @@ -5123,7 +5123,7 @@ Resources : Default1 Microsoft.Web/serverFarms southcentralus ContosoWeb Microsoft.Web/sites southcentralus - This example shows how to create a resource group from a gallery template that you saved to disk by using the Save-AzureResourceGroupGalleryTemplate cmdlet and a hash table of template parameter names and values. + This example shows how to create a resource group from a gallery template that you saved to disk by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet and a hash table of template parameter names and values. @@ -5141,7 +5141,7 @@ Resources : PS C:\> - PS C:\>New-AzureResourceGroup -Name RG1 -Location "South Central US" -Tag @{Name="Empty"}, @{Name="Department";Value="Marketing"} + PS C:\>New-AzureRMResourceGroup -Name RG1 -Location "South Central US" -Tag @{Name="Empty"}, @{Name="Department";Value="Marketing"} This command creates a new empty resource group. This command is the same as the command in Example 1, except that it assigns tags to the resource group. The first tag, named "Empty," could be used to identify resource groups that have no resources. The second tag is named "Department" and has a value of "Marketing". You can use a tag like this one to categorize resource groups for administration or budgeting. @@ -5167,7 +5167,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Add an Azure deployment to a resource group. @@ -5180,11 +5180,11 @@ Resources : This is the Description section - The New-AzureResourceGroupDeployment cmdlet adds a deployment to an existing resource group, including the resources that the deployment requires. This cmdlet is similar to the New-AzureResourceGroup cmdlet, but it works on existing resource groups, instead of new ones. To add resources to a resource group without using a template, use the New-AzureResource cmdlet.An Azure resource is a user-managed Azure entity, such as a database server, database, website, virtual machine, or storage account. An Azure resource group is a collection of Azure resources that are deployed as a unit, such as the web site, database server, and databases that are required for a financial web site. A deployment uses a resource group template to add resource to a resource group and publish them so they are available in Azure.To add a resource group deployment, specify the name of an existing resource group and a resource group template, which is a JSON string that represents of a resource group for a complex cloud-based service, such as a web portal. The template includes parameter (placeholders) for required resources and configurable property values, likes names and sizes. You can find many templates in the Azure template gallery and you can create your own templates.To find a gallery template, use the Get-AzureResourceGroupGalleryTemplate template cmdlet. To use a gallery template, use the GalleryTemplateIdentity parameter of New-AzureResourceGroupDeployment to specify the template identity. Or, use the Save-AzureResourceGalleryTemplate cmdlet to save the gallery template as a JSON file, and then use the TemplateFile or TemplateUri parameters to provide the name and location of the file.You can also create a custom resource group template, either by typing in a text file or by editing a gallery template. To use a custom template to create a resource group, use TemplateFile or TemplateUri parameters to supply the location and file name.Each template has different parameters for configurable properties. To specify values for the template parameters, use a JSON-formatted parameter file (TemplateParameterFile parameter) or a hash table of parameter names and values (TemplateParameterObject parameter). Or, use the template parameters that are added to the command dynamically as soon as you specify a template. To use the dynamic parameters, just type them in the command, or type a minus sign to indicate a parameter name (-) and then press the TAB key repeatedly to cycle through the available parameters. If you miss a required parameter, the cmdlet prompts you for the value. Template parameter values that are typed at the command line take precedence over values in a template parameter object or file. + The New-AzureRMResourceGroupDeployment cmdlet adds a deployment to an existing resource group, including the resources that the deployment requires. This cmdlet is similar to the New-AzureRMResourceGroup cmdlet, but it works on existing resource groups, instead of new ones. To add resources to a resource group without using a template, use the New-AzureRMResource cmdlet.An Azure resource is a user-managed Azure entity, such as a database server, database, website, virtual machine, or storage account. An Azure resource group is a collection of Azure resources that are deployed as a unit, such as the web site, database server, and databases that are required for a financial web site. A deployment uses a resource group template to add resource to a resource group and publish them so they are available in Azure.To add a resource group deployment, specify the name of an existing resource group and a resource group template, which is a JSON string that represents of a resource group for a complex cloud-based service, such as a web portal. The template includes parameter (placeholders) for required resources and configurable property values, likes names and sizes. You can find many templates in the Azure template gallery and you can create your own templates.To find a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate template cmdlet. To use a gallery template, use the GalleryTemplateIdentity parameter of New-AzureRMResourceGroupDeployment to specify the template identity. Or, use the Save-AzureRMResourceGalleryTemplate cmdlet to save the gallery template as a JSON file, and then use the TemplateFile or TemplateUri parameters to provide the name and location of the file.You can also create a custom resource group template, either by typing in a text file or by editing a gallery template. To use a custom template to create a resource group, use TemplateFile or TemplateUri parameters to supply the location and file name.Each template has different parameters for configurable properties. To specify values for the template parameters, use a JSON-formatted parameter file (TemplateParameterFile parameter) or a hash table of parameter names and values (TemplateParameterObject parameter). Or, use the template parameters that are added to the command dynamically as soon as you specify a template. To use the dynamic parameters, just type them in the command, or type a minus sign to indicate a parameter name (-) and then press the TAB key repeatedly to cycle through the available parameters. If you miss a required parameter, the cmdlet prompts you for the value. Template parameter values that are typed at the command line take precedence over values in a template parameter object or file. - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5202,7 +5202,7 @@ Resources : TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5215,7 +5215,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5240,14 +5240,14 @@ Resources : TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5260,7 +5260,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5285,21 +5285,21 @@ Resources : TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5312,7 +5312,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5337,14 +5337,14 @@ Resources : GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5357,7 +5357,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5382,14 +5382,14 @@ Resources : GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5402,7 +5402,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5427,14 +5427,14 @@ Resources : TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5447,7 +5447,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5472,21 +5472,21 @@ Resources : TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5499,7 +5499,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5517,14 +5517,14 @@ Resources : GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5537,7 +5537,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5555,21 +5555,21 @@ Resources : TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5582,7 +5582,7 @@ Resources : - New-AzureResourceGroupDeployment + New-AzureRMResourceGroupDeployment Name @@ -5600,14 +5600,14 @@ Resources : TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5648,7 +5648,7 @@ Resources : TemplateVersion - Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. + Specifies a particular version of the gallery or custom template. Enter the version number, such as "2014-04-01-preview". This parameter is optional. If you specify this parameter, New-AzureRMResourceGroupDeployment verifies that the specified template has the matching version and fails if it does not. String @@ -5684,7 +5684,7 @@ Resources : TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -5696,7 +5696,7 @@ Resources : TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -5708,7 +5708,7 @@ Resources : StorageAccountName - Specifies the name of a storage account in the subscription. New-AzureResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. New-AzureRMResourceGroupDeployment saves the contents of template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a current storage account, the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -5720,7 +5720,7 @@ Resources : GalleryTemplateIdentity - Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. + Specifies the identity of a template in the Azure gallery. To find gallery templates, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. The value of the Identity property of each gallery item is displayed by default. String @@ -5782,7 +5782,7 @@ Resources : PS C:\> - PS C:\>New-AzureResourceGroupDeployment -New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -GalleryTemplateIdentity Microsoft.WebSite.0.1.0-preview1 -Name WebDeploy01 -siteName ContosoWeb -hostingPlanName ContosoHosting -siteMode Limited -computeMode Dedicated -siteLocation "North Europe" -subscriptionID "9b14a38b-4b93-4554-8bb0-3cefb47abcde" -resourceGroup ContosoRG01 + PS C:\>New-AzureRMResourceGroupDeployment -New-AzureRMResourceGroupDeployment -ResourceGroupName ContosoRG01 -GalleryTemplateIdentity Microsoft.WebSite.0.1.0-preview1 -Name WebDeploy01 -siteName ContosoWeb -hostingPlanName ContosoHosting -siteMode Limited -computeMode Dedicated -siteLocation "North Europe" -subscriptionID "9b14a38b-4b93-4554-8bb0-3cefb47abcde" -resourceGroup ContosoRG01 DeploymentName : WebDeploy01 ResourceGroupName : ContosoRG01 ProvisioningState : Succeeded @@ -5807,7 +5807,7 @@ Parameters : This example shows how to create a resource group deployment from a gallery template and use the parameters that are added to the command dynamically to provide the template parameter values. - This command uses the New-AzureResourceGroupDeployment cmdlet to create a new deployment in the ContosoRG01 resource group. It uses the GalleryTemplateIdentity parameter to specify the gallery template. In this scenario, you don't need to save the gallery template to disk.Instead of using a template parameter file or a template parameter object, we'll just use the parameters that are added to the command dynamically when you specify the template.After typing the Name parameter and its value, type a minus sign (to indicate a parameter name) and then press the TAB key to trigger tab-completion. The cmdlet adds a parameter, such as siteMode. Type the parameter value, type a minus sign, press TAB, and it adds another parameter. To cycle through the parameter names, press TAB repeatedly. If you miss a mandatory template parameter, the cmdlet prompts you for the value. + This command uses the New-AzureRMResourceGroupDeployment cmdlet to create a new deployment in the ContosoRG01 resource group. It uses the GalleryTemplateIdentity parameter to specify the gallery template. In this scenario, you don't need to save the gallery template to disk.Instead of using a template parameter file or a template parameter object, we'll just use the parameters that are added to the command dynamically when you specify the template.After typing the Name parameter and its value, type a minus sign (to indicate a parameter name) and then press the TAB key to trigger tab-completion. The cmdlet adds a parameter, such as siteMode. Type the parameter value, type a minus sign, press TAB, and it adds another parameter. To cycle through the parameter names, press TAB repeatedly. If you miss a mandatory template parameter, the cmdlet prompts you for the value. @@ -5822,7 +5822,7 @@ Parameters : PS C:\> - PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoEngineering -TemplateFile D:\Azure\Templates\EngineeringSite.json -TemplateParameterFile D:\Azure\Templates\EngSiteParms.json -TemplateVersion "2.1" -StorageAccountName contosostorage + PS C:\>New-AzureRMResourceGroupDeployment -ResourceGroupName ContosoEngineering -TemplateFile D:\Azure\Templates\EngineeringSite.json -TemplateParameterFile D:\Azure\Templates\EngSiteParms.json -TemplateVersion "2.1" -StorageAccountName contosostorage This command creates a new deployment by using a custom template and a template file on disk. The command uses the TemplateFile parameter to specify the template and the TemplateParameterFile to specify a file of parameters and parameter values. It uses the TemplateVersion parameter to specify a particular version of the template. Because the template files are stored in a storage account of the subscription, the cmdlet uses the StorageAccountName to specify the storage account to use. @@ -5842,8 +5842,8 @@ Parameters : PS C:\> - PS C:\> The first command uses the Save-AzureResourceGroupGalleryTemplate cmdlet to save the WordPress gallery template as a JSON file on disk. -PS C:\>Save-AzureResourceGroupGalleryTemplate -Identity WordPress.WordPress.0.1.0-preview1 -Path D:\Azure\Templates + PS C:\> The first command uses the Save-AzureRMResourceGroupGalleryTemplate cmdlet to save the WordPress gallery template as a JSON file on disk. +PS C:\>Save-AzureRMResourceGroupGalleryTemplate -Identity WordPress.WordPress.0.1.0-preview1 -Path D:\Azure\Templates Path: D:\Azure\Templates\WordPress.WordPress.0.1.0-preview1.json @@ -5851,8 +5851,8 @@ The second command saves a hash table of the template parameter values in the $p PS C:\> $params = @{siteName="ContosoBlog";hostingPlanName="ContosoHosting";siteMode="Limited";computeMode="Shared";siteLocation="North Europe";sku="Shared";workerSize="0";databaseName=contosodb1;databaseLocation="South Central US";databaseSku="Free";subscriptionId="7363c612-d678-4171-a715-585c237abcde";resourceGroup="ContosoRG01";dbSubscriptionId="7363c612-d678-4171-a715-585c237abcde";dbResourceGroup="ContosoRG01"} -The third command uses New-AzureResourceGroupDeployment cmdlet to add the new deployment to the ContosoRG01 resource group.The command uses the TemplateFile parameter to specify the saved gallery template file and the TemplateParameterObject to specify the hash table of parameters and parameter values in the $params variable. Because the template files are stored in a storage account of the subscription, the cmdlet uses the StorageAccountName to specify the storage account to use. -PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -TemplateFile D:\Azure\Templates\WordPress.WordPress.0.1.0-preview1.json -TemplateParameterObject $params -StorageAccountName contosostorage +The third command uses New-AzureRMResourceGroupDeployment cmdlet to add the new deployment to the ContosoRG01 resource group.The command uses the TemplateFile parameter to specify the saved gallery template file and the TemplateParameterObject to specify the hash table of parameters and parameter values in the $params variable. Because the template files are stored in a storage account of the subscription, the cmdlet uses the StorageAccountName to specify the storage account to use. +PS C:\>New-AzureRMResourceGroupDeployment -ResourceGroupName ContosoRG01 -TemplateFile D:\Azure\Templates\WordPress.WordPress.0.1.0-preview1.json -TemplateParameterObject $params -StorageAccountName contosostorage This command creates a new deployment by using a gallery template that is saved to disk as a JSON file and a hash table of parameter values. @@ -5878,7 +5878,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment Create a role assignment to some principals at a given scope. @@ -5895,7 +5895,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ObjectId @@ -5926,7 +5926,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ObjectId @@ -5957,7 +5957,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ObjectId @@ -5981,7 +5981,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ObjectId @@ -6033,7 +6033,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment Mail @@ -6064,7 +6064,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment Mail @@ -6095,7 +6095,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment Mail @@ -6147,7 +6147,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment Mail @@ -6171,7 +6171,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment UserPrincipalName @@ -6195,7 +6195,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment UserPrincipalName @@ -6226,7 +6226,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment UserPrincipalName @@ -6257,7 +6257,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment UserPrincipalName @@ -6309,7 +6309,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ServicePrincipalName @@ -6361,7 +6361,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ServicePrincipalName @@ -6392,7 +6392,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ServicePrincipalName @@ -6416,7 +6416,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleAssignment + New-AzureRMRoleAssignment ServicePrincipalName @@ -6621,7 +6621,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ PS C:\> - PS C:\> New-AzureRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader + PS C:\> New-AzureRMRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader add role assignment to a principal for a resource group using the separate parameters @@ -6641,7 +6641,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ PS C:\> - PS C:\> New-AzureRoleAssignment -ServicePrincipalName 36f81fc3-b00f-48cd-8218-3879f51ff39f -RoleDefinitionName Contributor + PS C:\> New-AzureRMRoleAssignment -ServicePrincipalName 36f81fc3-b00f-48cd-8218-3879f51ff39f -RoleDefinitionName Contributor add role assignment to a service principal for a subscription. @@ -6661,7 +6661,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ PS C:\> - PS C:\> New-AzureRoleAssignment -Mail allen.young@live.cn -RoleDefinitionName Owner -Scope "/resourcegroups/rg1/providers/Microsoft.Web/sites/site1" + PS C:\> New-AzureRMRoleAssignment -Mail allen.young@live.cn -RoleDefinitionName Owner -Scope "/resourcegroups/rg1/providers/Microsoft.Web/sites/site1" add role assignment to a principal for a resource using the generic parameter. Since the scope doens't start with "/subscriptions/{id}", the current subscription id will be used @@ -6679,15 +6679,15 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition @@ -6695,11 +6695,11 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleDefinition + New-AzureRMRoleDefinition Creates a new custom role in Azure RBAC. It uses either a JSON role definition file or a PSRoleDefinition object as an input. - Use the Get-AzureRoleDefinition command to generate a baseline role definition object and modify it properties as required. Use Get-AzureRoleDefinition | ConvertTo-Json command to generate a baseline json role definition file. Use the Get-AzureProviderOperation command to list all actions that can be secured using RBAC. + Use the Get-AzureRMRoleDefinition command to generate a baseline role definition object and modify it properties as required. Use Get-AzureRMRoleDefinition | ConvertTo-Json command to generate a baseline json role definition file. Use the Get-AzureRMProviderOperation command to list all actions that can be secured using RBAC. @@ -6709,8 +6709,8 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - The New-AzureRoleDefinition cmdlet creates a new custom role in Azure Role-Based Access Control. Provide a role definition as an input to the cmdlet in the form of a JSON file or a PSRoleDefinition object. The role definition for a new custom role MUST contain the DisplayName, Actions and the AssignableScopes properties. The role definition MAY contain the Description and NotActions property. - Following is a sample json role definition for New-AzureRoleDefinition + The New-AzureRMRoleDefinition cmdlet creates a new custom role in Azure Role-Based Access Control. Provide a role definition as an input to the cmdlet in the form of a JSON file or a PSRoleDefinition object. The role definition for a new custom role MUST contain the DisplayName, Actions and the AssignableScopes properties. The role definition MAY contain the Description and NotActions property. + Following is a sample json role definition for New-AzureRMRoleDefinition { "Name": "Contoso On-call", "Description": "Can monitor all resources and restart virtual machines", @@ -6723,7 +6723,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleDefinition + New-AzureRMRoleDefinition InputFile @@ -6740,7 +6740,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ - New-AzureRoleDefinition + New-AzureRMRoleDefinition Role @@ -6835,7 +6835,7 @@ PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Templ PS C:\> - PS C:\> $roleDef = Get-AzureRoleDefinition "Contoso Deployer" + PS C:\> $roleDef = Get-AzureRMRoleDefinition "Contoso Deployer" PS C:\> $roleDef.Id = null PS C:\> $roleDef.Name = "Contoso On-call" PS C:\> $roleDef.Actions.Remove("Microsoft.Resources/subscriptions/resourceGroups/deployments/*") @@ -6844,7 +6844,7 @@ PS C:\> $roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/r PS C:\> $roleDef.Description = "Can monitor all resources and restart virtual machines" PS C:\> $roleDef.AssignableScopes = @("/subscriptions/eb910d4f-edbf-429b-94F6-d76bae7ff401" , "/subscriptions/a846d197-5eac-45c7-b885-a6227fe6d388") -PS C:\> New-AzureRoleDefinition -Role $roleDef +PS C:\> New-AzureRMRoleDefinition -Role $roleDef @@ -6864,7 +6864,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\> New-AzureRoleDefinition -InputFile C:\Temp\roleDefinition.json + PS C:\> New-AzureRMRoleDefinition -InputFile C:\Temp\roleDefinition.json @@ -6882,19 +6882,19 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Get-AzureProviderOperation + Get-AzureRMProviderOperation - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition - Set-AzureRoleDefinition + Set-AzureRMRoleDefinition - Remove-AzureRoleDefinition + Remove-AzureRMRoleDefinition @@ -6906,7 +6906,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Register-AzureProvider + Register-AzureRMResourceProvider @@ -6914,7 +6914,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Register - AzureProvider + AzureRMResourceProvider @@ -6922,7 +6922,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Register-AzureProvider + Register-AzureRMResourceProvider ProviderNamespace @@ -7026,7 +7026,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Register-AzureProviderFeature + Register-AzureRMProviderFeature @@ -7042,7 +7042,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Register-AzureProviderFeature + Register-AzureRMProviderFeature FeatureName @@ -7165,7 +7165,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Remove-AzureADApplication + Remove-AzureRMADApplication Deletes the azure active directory application. @@ -7182,7 +7182,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Remove-AzureADApplication + Remove-AzureRMADApplication ApplicationObjectId @@ -7284,7 +7284,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\> Remove-AzureADApplication -ApplicationObjectId b4cd1619-80b3-4cfb-9f8f-9f2333425738 -Force + PS C:\> Remove-AzureRMADApplication -ApplicationObjectId b4cd1619-80b3-4cfb-9f8f-9f2333425738 -Force Deletes the azure active directory application. @@ -7302,7 +7302,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - New-AzureADApplication + New-AzureRMADApplication @@ -7310,7 +7310,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Remove-AzureADServicePrincipal + Remove-AzureRMADServicePrincipal Deletes the azure active directory service principal. @@ -7327,7 +7327,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Remove-AzureADServicePrincipal + Remove-AzureRMADServicePrincipal ObjectId @@ -7448,7 +7448,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\> Remove-AzureADServicePrincipal -ObjectId 61b5d8ea-fdc6-40a2-8d5b-ad447c678d45 -Force + PS C:\> Remove-AzureRMADServicePrincipal -ObjectId 61b5d8ea-fdc6-40a2-8d5b-ad447c678d45 -Force Deletes the given azure active directory service principal. @@ -7466,11 +7466,11 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - New-AzureADServicePrincipal + New-AzureRMADServicePrincipal - Get-AzureADServicePrincipal + Get-AzureRMADServicePrincipal @@ -7478,7 +7478,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Remove-AzureResourceGroup + Remove-AzureRMResourceGroup Deletes a resource group. @@ -7491,11 +7491,11 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef This is the Description section - The Remove-AzureResourceGroup cmdlet deletes a resource group and its resources from your subscription. By default, Remove-AzureResourceGroup prompts you for confirmation. To suppress the prompt, use the Force parameter.To delete a resource, but leave the resource group, use the Remove-AzureResource cmdlet. + The Remove-AzureRMResourceGroup cmdlet deletes a resource group and its resources from your subscription. By default, Remove-AzureRMResourceGroup prompts you for confirmation. To suppress the prompt, use the Force parameter.To delete a resource, but leave the resource group, use the Remove-AzureRMResource cmdlet. - Remove-AzureResourceGroup + Remove-AzureRMResourceGroup Name @@ -7506,7 +7506,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Force - Suppresses the confirmation prompt. By default, Remove-AzureResource prompts you to confirm before deleting a resource group. + Suppresses the confirmation prompt. By default, Remove-AzureRMResource prompts you to confirm before deleting a resource group. SwitchParameter @@ -7556,7 +7556,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Force - Suppresses the confirmation prompt. By default, Remove-AzureResource prompts you to confirm before deleting a resource group. + Suppresses the confirmation prompt. By default, Remove-AzureRMResource prompts you to confirm before deleting a resource group. SwitchParameter @@ -7654,7 +7654,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\>Remove-AzureResourceGroup -Name -ContosoRG01 + PS C:\>Remove-AzureRMResourceGroup -Name -ContosoRG01 Confirm Are you sure you want to remove resource group 'ContosoRG01' @@ -7679,10 +7679,10 @@ Are you sure you want to remove resource group 'ContosoRG01' PS C:\> - PS C:\>Get-AzureResourceGroup -Name ContosoRG01 | Remove-AzureResourceGroup -Verbose -Force + PS C:\>Get-AzureRMResourceGroup -Name ContosoRG01 | Remove-AzureRMResourceGroup -Verbose -Force VERBOSE: Performing the operation "Removing resource group ..." on target "ContosoRG01". - This command deletes the ContosoRG01 resource group from the subscription. It uses the Get-AzureResourceGroup cmdlet to get the resource group and pipes the resource group (by name) to the Remove-AzureResourceGroup cmdlet. The Remove-AzureResourceGroup command uses the Verbose common parameter to get status information about the operation and the Force parameter to suppress the confirmation prompt. + This command deletes the ContosoRG01 resource group from the subscription. It uses the Get-AzureRMResourceGroup cmdlet to get the resource group and pipes the resource group (by name) to the Remove-AzureRMResourceGroup cmdlet. The Remove-AzureRMResourceGroup command uses the Verbose common parameter to get status information about the operation and the Force parameter to suppress the confirmation prompt. @@ -7700,7 +7700,7 @@ VERBOSE: Performing the operation "Removing resource group ..." on tar PS C:\> - PS C:\>Get-AzureResourceGroup | Remove-AzureResourceGroup -PassThru + PS C:\>Get-AzureRMResourceGroup | Remove-AzureRMResourceGroup -PassThru Confirm @@ -7720,7 +7720,7 @@ Are you sure you want to remove resource group 'ContosoRG02' True - This command deletes all resource groups in the subscription. To get all resource groups, it uses a Get-AzureResourceGroup command with no parameters. Then, it pipes the resource groups to the Remove-AzureResourceGroup cmdlet. The Remove-AzureResourceGroup command uses the Passthru parameter. As a result, the cmdlet returns a value of $True for each operation that succeeds. + This command deletes all resource groups in the subscription. To get all resource groups, it uses a Get-AzureRMResourceGroup command with no parameters. Then, it pipes the resource groups to the Remove-AzureRMResourceGroup cmdlet. The Remove-AzureRMResourceGroup command uses the Passthru parameter. As a result, the cmdlet returns a value of $True for each operation that succeeds. @@ -7744,7 +7744,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Removes a role assignment. @@ -7761,7 +7761,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ObjectId @@ -7834,7 +7834,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ObjectId @@ -7900,7 +7900,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ObjectId @@ -7945,7 +7945,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ObjectId @@ -7990,7 +7990,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ObjectId @@ -8028,7 +8028,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Mail @@ -8073,7 +8073,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Mail @@ -8139,7 +8139,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Mail @@ -8184,7 +8184,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Mail @@ -8222,7 +8222,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment UserPrincipalName @@ -8260,7 +8260,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment UserPrincipalName @@ -8305,7 +8305,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment UserPrincipalName @@ -8371,7 +8371,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment UserPrincipalName @@ -8416,7 +8416,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ServicePrincipalName @@ -8461,7 +8461,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ServicePrincipalName @@ -8527,7 +8527,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ServicePrincipalName @@ -8572,7 +8572,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ServicePrincipalName @@ -8610,7 +8610,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment ResourceName @@ -8662,7 +8662,7 @@ True - Remove-AzureRoleAssignment + Remove-AzureRMRoleAssignment Scope @@ -8898,7 +8898,7 @@ True PS C:\> - PS C:\> Remove-AzureRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader + PS C:\> Remove-AzureRMRoleAssignment -ResourceGroupName rg1 -UPN foo@domain.com -RoleDefinitionName Reader Removes a role assignment for principal in a resource group that have Reader role definition @@ -8916,15 +8916,15 @@ True - New-AzureRoleAssignment + New-AzureRMRoleAssignment - Get-AzureRoleAssignment + Get-AzureRMRoleAssignment - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition @@ -8932,9 +8932,9 @@ True - Remove-AzureRoleDefinition + Remove-AzureRMRoleDefinition - Deletes an existing custom role definition in Azure RBAC. The role definition to delete is provided using the Id property of the role definition. Use Get-AzureRoleDefinition to determine the role definition to be deleted. + Deletes an existing custom role definition in Azure RBAC. The role definition to delete is provided using the Id property of the role definition. Use Get-AzureRMRoleDefinition to determine the role definition to be deleted. @@ -8945,11 +8945,11 @@ True - The Remove-AzureRoleDefinition cmdlet deletes a custom role definition in Azure Role-Based Access Control. Provide the Id parameter of an existing custom role to delete that custom role. By default, Remove-AzureRoleDefinition prompts you for confirmation. To suppress the prompt, use the Force parameter. If there are existing role assignments made to the custom role to be deleted, the delete will fail. + The Remove-AzureRMRoleDefinition cmdlet deletes a custom role definition in Azure Role-Based Access Control. Provide the Id parameter of an existing custom role to delete that custom role. By default, Remove-AzureRMRoleDefinition prompts you for confirmation. To suppress the prompt, use the Force parameter. If there are existing role assignments made to the custom role to be deleted, the delete will fail. - Remove-AzureRoleDefinition + Remove-AzureRMRoleDefinition Id @@ -9070,7 +9070,7 @@ True PS C:\> - Remove-AzureRoleDefinition -Id "/subscriptions/eb910d4f-edbf-429b-94F6-d76bae7ff401/providers/Microsoft.Authorization/roleDefinitions/52a6cc13-ff92-47a8-a39b-2a8205c3087e" + Remove-AzureRMRoleDefinition -Id "/subscriptions/eb910d4f-edbf-429b-94F6-d76bae7ff401/providers/Microsoft.Authorization/roleDefinitions/52a6cc13-ff92-47a8-a39b-2a8205c3087e" @@ -9088,15 +9088,15 @@ True - New-AzureRoleDefinition + New-AzureRMRoleDefinition - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition - Set-AzureRoleDefinition + Set-AzureRMRoleDefinition @@ -9108,7 +9108,7 @@ True - Save-AzureResourceGroupGalleryTemplate + Save-AzureRMResourceGroupGalleryTemplate Saves a gallery template to a JSON file @@ -9121,11 +9121,11 @@ True This is the Description section - The Save-AzureResourceGroupGalleryTemplate cmdlet saves a template from the Azure template gallery as a JSON file on disk and returns the path to the saved file. You can to use the template to create Azure resource groups and deploymentsA resource is a user-managed entity, such as a website, database server, or database. A resource group is a collection of resources that are deployed as a unit. You can create resources individually and add them to resource groups. However, typically, you create a resource group by using a template.A template is a JSON string that defines a resource group for a complex entity, such as a web hosting site or web portal. The template defines the resources that are typically needed for the entity, such as websites, databases, and storage accounts, and includes parameters for user-defined values, such as the names and properties of the resources. To get a resource group template, use the Get-AzureResourceGroupGalleryTemplate cmdlet to get a gallery template and then use the Save-AzureResourceGroupGalleryTemplate cmdlet to save the template as a JSON file. Or, you can create your own templates, either from scratch or by editing a gallery template. To verify the syntax of a template, use the Test-AzureResourceGroupTemplate cmdlet.To use a template to create a resource group, use the New-AzureResourceGroup or New-AzureResourceGroupDeployment cmdlets. Just identify the template and provide values for its parameters. + The Save-AzureRMResourceGroupGalleryTemplate cmdlet saves a template from the Azure template gallery as a JSON file on disk and returns the path to the saved file. You can to use the template to create Azure resource groups and deploymentsA resource is a user-managed entity, such as a website, database server, or database. A resource group is a collection of resources that are deployed as a unit. You can create resources individually and add them to resource groups. However, typically, you create a resource group by using a template.A template is a JSON string that defines a resource group for a complex entity, such as a web hosting site or web portal. The template defines the resources that are typically needed for the entity, such as websites, databases, and storage accounts, and includes parameters for user-defined values, such as the names and properties of the resources. To get a resource group template, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet to get a gallery template and then use the Save-AzureRMResourceGroupGalleryTemplate cmdlet to save the template as a JSON file. Or, you can create your own templates, either from scratch or by editing a gallery template. To verify the syntax of a template, use the Test-AzureResourceGroupTemplate cmdlet.To use a template to create a resource group, use the New-AzureRMResourceGroup or New-AzureRMResourceGroupDeployment cmdlets. Just identify the template and provide values for its parameters. - Save-AzureResourceGroupGalleryTemplate + Save-AzureRMResourceGroupGalleryTemplate Identity @@ -9143,7 +9143,7 @@ True Force - Suppresses the confirmation prompt. By default, if you specify a path and file name that already exists, Save-AzureResourceGroupGalleryTemplate prompts before overwriting the file. + Suppresses the confirmation prompt. By default, if you specify a path and file name that already exists, Save-AzureRMResourceGroupGalleryTemplate prompts before overwriting the file. SwitchParameter @@ -9184,7 +9184,7 @@ True Force - Suppresses the confirmation prompt. By default, if you specify a path and file name that already exists, Save-AzureResourceGroupGalleryTemplate prompts before overwriting the file. + Suppresses the confirmation prompt. By default, if you specify a path and file name that already exists, Save-AzureRMResourceGroupGalleryTemplate prompts before overwriting the file. SwitchParameter @@ -9246,7 +9246,7 @@ True PS C:\> - PS C:\>Save-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 + PS C:\>Save-AzureRMResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 Path: C:\ Microsoft.WebSite.0.1.0-preview1.json @@ -9269,12 +9269,12 @@ C:\ Microsoft.WebSite.0.1.0-preview1.json PS C:\> - PS C:\>Get-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 | Save-AzureResourceGroupGalleryTemplate -Path $home\Documents\MyTemplates + PS C:\>Get-AzureRMResourceGroupGalleryTemplate -Identity Microsoft.WebSite.0.1.0-preview1 | Save-AzureRMResourceGroupGalleryTemplate -Path $home\Documents\MyTemplates Path C:\Users\User01\Documents\MyTemplates\ Microsoft.WebSite.0.1.0-preview1.json - This command pipes the Microsoft.WebSite.0.1.0-preview1 gallery item from the Get-AzureResourceGroupGalleryTemplate cmdlet to the Save-AzureResourceGroupGalleryTemplate cmdlet. The command uses the Path parameter to save the JSON template in an alternate directory. Because the command uses the Passthru parameter, the cmdlet returns True to indicate that the save operation succeeded. + This command pipes the Microsoft.WebSite.0.1.0-preview1 gallery item from the Get-AzureRMResourceGroupGalleryTemplate cmdlet to the Save-AzureRMResourceGroupGalleryTemplate cmdlet. The command uses the Path parameter to save the JSON template in an alternate directory. Because the command uses the Passthru parameter, the cmdlet returns True to indicate that the save operation succeeded. @@ -9292,19 +9292,19 @@ C:\Users\User01\Documents\MyTemplates\ Microsoft.WebSite.0.1.0-preview1.json PS C:\> - PS C:\> The first command uses the Save-AzureResourceGalleryTemplate cmdlet to save a template to disk. The cmdlet returns the path to the JSON file. -PS C:\>Save-AzureResourceGroupGalleryTemplate -Identity TechInfoSystems.GalleryServerPro.0.1.0-preview1 -Path $home\Documents\MyTemplates + PS C:\> The first command uses the Save-AzureRMResourceGalleryTemplate cmdlet to save a template to disk. The cmdlet returns the path to the JSON file. +PS C:\>Save-AzureRMResourceGroupGalleryTemplate -Identity TechInfoSystems.GalleryServerPro.0.1.0-preview1 -Path $home\Documents\MyTemplates Path C:\Users\User01\Documents\MyTemplates\TechInfoSystems.GalleryServerPro.0.1.0-preview1.json -The second command uses the New-AzureResourceGroup cmdlet to create a new resource group based on the template. To specify the saved template, the command uses the TemplateFile parameter, which takes a path to a JSON file on disk. To specify the template parameters, the command uses the TemplateParameterFile parameter, which takes a path to a JSON file of parameters and parameter values.The command returns the newly created resource group. -PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central US' -DeploymentName DeployWeb1 –StorageAccountName contosostorage01 -TemplateFile $home\Documents\MyTemplates\TechInfoSystems.GalleryServerPro.0.1.0-preview1.json -TemplateParameterFile $home\Documents\MyTemplates\TechInfoParameters.json +The second command uses the New-AzureRMResourceGroup cmdlet to create a new resource group based on the template. To specify the saved template, the command uses the TemplateFile parameter, which takes a path to a JSON file on disk. To specify the template parameters, the command uses the TemplateParameterFile parameter, which takes a path to a JSON file of parameters and parameter values.The command returns the newly created resource group. +PS C:\>New-AzureRMResourceGroup -Name ContosoRG02 -Location 'South Central US' -DeploymentName DeployWeb1 –StorageAccountName contosostorage01 -TemplateFile $home\Documents\MyTemplates\TechInfoSystems.GalleryServerPro.0.1.0-preview1.json -TemplateParameterFile $home\Documents\MyTemplates\TechInfoParameters.json This example shows how to use a saved gallery template to create a new resource group. - It's often useful to save a gallery template to disk before using it to create a resource group or a deployment. This gives you the opportunity to review the template and the resources that it creates and to determine that values that you will use for the parameters. But, you do not need to save a gallery template before using it to create a resource group. To use a gallery template without saving it, use the GalleryTemplateIdentity parameter of the New-AzureResourceGroup or New-AzureResourceGroupDeployment cmdlets. + It's often useful to save a gallery template to disk before using it to create a resource group or a deployment. This gives you the opportunity to review the template and the resources that it creates and to determine that values that you will use for the parameters. But, you do not need to save a gallery template before using it to create a resource group. To use a gallery template without saving it, use the GalleryTemplateIdentity parameter of the New-AzureRMResourceGroup or New-AzureRMResourceGroupDeployment cmdlets. @@ -9325,7 +9325,7 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central - Set-AzureResourceGroup + Set-AzureRMResourceGroup Changes the properties of a resource group @@ -9338,11 +9338,11 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central This is the Description section - The Set-AzureResourceGroup cmdlet changes the properties of a resource group. You can use this cmdlet to add, change, or delete the Azure tags applied to a resource group. Use the Name parameter to identify the resource group and the Tag parameter to change the tags. You cannot use this cmdlet to change the name of a resource group. + The Set-AzureRMResourceGroup cmdlet changes the properties of a resource group. You can use this cmdlet to add, change, or delete the Azure tags applied to a resource group. Use the Name parameter to identify the resource group and the Tag parameter to change the tags. You cannot use this cmdlet to change the name of a resource group. - Set-AzureResourceGroup + Set-AzureRMResourceGroup Name @@ -9353,7 +9353,7 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central Tag - Replaces the tags for the resource group with the specified tags. To add or change a single tag, you must replace the collection of tags for the resource group.A "tag" is a name-value pair that you can create and apply to resources and resource groups. After you assign tags to resources and groups, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}.To delete a tag, enter a hash table with all tags currently applied to the resource group (from Get-AzureResourceGroup), except for the tag you want to delete. To delete all tags from a resource group, enter an empty hash table (-Tag @{}). + Replaces the tags for the resource group with the specified tags. To add or change a single tag, you must replace the collection of tags for the resource group.A "tag" is a name-value pair that you can create and apply to resources and resource groups. After you assign tags to resources and groups, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}.To delete a tag, enter a hash table with all tags currently applied to the resource group (from Get-AzureRMResourceGroup), except for the tag you want to delete. To delete all tags from a resource group, enter an empty hash table (-Tag @{}). Hashtable[] @@ -9382,7 +9382,7 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central Tag - Replaces the tags for the resource group with the specified tags. To add or change a single tag, you must replace the collection of tags for the resource group.A "tag" is a name-value pair that you can create and apply to resources and resource groups. After you assign tags to resources and groups, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}.To delete a tag, enter a hash table with all tags currently applied to the resource group (from Get-AzureResourceGroup), except for the tag you want to delete. To delete all tags from a resource group, enter an empty hash table (-Tag @{}). + Replaces the tags for the resource group with the specified tags. To add or change a single tag, you must replace the collection of tags for the resource group.A "tag" is a name-value pair that you can create and apply to resources and resource groups. After you assign tags to resources and groups, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}.To delete a tag, enter a hash table with all tags currently applied to the resource group (from Get-AzureRMResourceGroup), except for the tag you want to delete. To delete all tags from a resource group, enter an empty hash table (-Tag @{}). Hashtable[] @@ -9444,7 +9444,7 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central PS C:\> - PS C:\>Set-AzureResourceGroup -Name ContosoRG -Tag @{Name="Department";Value="IT"} + PS C:\>Set-AzureRMResourceGroup -Name ContosoRG -Tag @{Name="Department";Value="IT"} This command applies a "Department" tag with a value of "IT" to a resource group that has no existing tags. @@ -9464,7 +9464,7 @@ PS C:\>New-AzureResourceGroup -Name ContosoRG02 -Location 'South Central PS C:\> - PS C:\>$tags = (Get-AzureResourceGroup -Name ContosoRG).Tags + PS C:\>$tags = (Get-AzureRMResourceGroup -Name ContosoRG).Tags PS C:\>$tags @@ -9478,9 +9478,9 @@ Tags: PS C:\>$tags += @{Name="Status";Value="Approved"}, @{Name="FY2016"} -PS C:\>Set-AzureResourceGroup -Name ContosoRG -Tag $tags +PS C:\>Set-AzureRMResourceGroup -Name ContosoRG -Tag $tags -PS C:>(Get-AzureResourceGroup -Name ContosoRG).Tags +PS C:>(Get-AzureRMResourceGroup -Name ContosoRG).Tags Tags: @@ -9494,7 +9494,7 @@ Tags: This command adds a "Status" tag with a value of "Approved" and an "FY2016" tag to a resource group that has existing tags. Because the tags you specify replace the existing tags, you must include the existing tags in the new tag collection or you will lose them. - The first command gets all existing tags of the ContosoRG resource group. It uses the Get-AzureResourceGroup cmdlet to get the ContosoRG resource group and then uses the dot method to get the value of its Tags property. It saves the existing tags in a $tags variable.The second command gets the tags in the $tags variable.The third command uses a "+=" operator to add the Status and FY2016 tags to the collection (array) of tags in the $tags variable.The fourth command uses the Tag parameter of Set-AzureResourceGroup to apply the tags in the $tags variable to the ContosoRG resource group.The fifth command shows the effect of the change. It gets all of the tags applied to the ContosoRG resource group. The output shows that the resource group has the Department tag and the two new tags, Status and FY2015. + The first command gets all existing tags of the ContosoRG resource group. It uses the Get-AzureRMResourceGroup cmdlet to get the ContosoRG resource group and then uses the dot method to get the value of its Tags property. It saves the existing tags in a $tags variable.The second command gets the tags in the $tags variable.The third command uses a "+=" operator to add the Status and FY2016 tags to the collection (array) of tags in the $tags variable.The fourth command uses the Tag parameter of Set-AzureRMResourceGroup to apply the tags in the $tags variable to the ContosoRG resource group.The fifth command shows the effect of the change. It gets all of the tags applied to the ContosoRG resource group. The output shows that the resource group has the Department tag and the two new tags, Status and FY2015. @@ -9509,7 +9509,7 @@ Tags: PS C:\> - PS C:\>Set-AzureResourceGroup -Name ContosoRG -Tag @{} + PS C:\>Set-AzureRMResourceGroup -Name ContosoRG -Tag @{} This command deletes all tags from the ContosoRG resource group. It uses the Tag parameter with an empty hash table value. @@ -9535,11 +9535,11 @@ Tags: - Set-AzureRoleDefinition + Set-AzureRMRoleDefinition Updates a custom role in Azure RBAC. the updated role definition is provided using either a JSON role definition file or a PSRoleDefinition object as input. - Use the Get-AzureRoleDefinition command to get a custom role definition object whose properties you can modify as required. Use Get-AzureRoleDefinition | ConvertTo-Json command to export the custom role that needs to be updated, into a JSON file, that you can modify. Use the Get-AzureProviderOperation command to list all actions in Azure that can be secured using RBAC. + Use the Get-AzureRMRoleDefinition command to get a custom role definition object whose properties you can modify as required. Use Get-AzureRMRoleDefinition | ConvertTo-Json command to export the custom role that needs to be updated, into a JSON file, that you can modify. Use the Get-AzureRMProviderOperation command to list all actions in Azure that can be secured using RBAC. @@ -9549,8 +9549,8 @@ Tags: - The Set-AzureRoleDefinition cmdlet updates an existing custom role in Azure Role-Based Access Control. Provide the updated role definition as an input to the cmdlet in the form of a JSON file or a PSRoleDefinition object. The role definition for the updated custom role MUST contain the Id property. The role definition SHOULD contain at least one property that is being updated: DisplayName, Description, Actions, NotActions, AssignableScopes - Following is a sample updated role definition json for Set-AzureRoleDefinition + The Set-AzureRMRoleDefinition cmdlet updates an existing custom role in Azure Role-Based Access Control. Provide the updated role definition as an input to the cmdlet in the form of a JSON file or a PSRoleDefinition object. The role definition for the updated custom role MUST contain the Id property. The role definition SHOULD contain at least one property that is being updated: DisplayName, Description, Actions, NotActions, AssignableScopes + Following is a sample updated role definition json for Set-AzureRMRoleDefinition { "Id": "/subscriptions/eb910d4f-edbf-429b-94F6-d76bae7ff401/providers/Microsoft.Authorization/roleDefinitions/52a6cc13-ff92-47a8-a39b-2a8205c3087e", @@ -9564,7 +9564,7 @@ Tags: - Set-AzureRoleDefinition + Set-AzureRMRoleDefinition InputFile @@ -9581,7 +9581,7 @@ Tags: - Set-AzureRoleDefinition + Set-AzureRMRoleDefinition Role @@ -9676,12 +9676,12 @@ Tags: PS C:\> - PS C:\> $roleDef = Get-AzureRoleDefinition "Contoso On-Call" + PS C:\> $roleDef = Get-AzureRMRoleDefinition "Contoso On-Call" PS C:\> $roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action") PS C:\> $roleDef.Description = "Can monitor all resources and start and restart virtual machines" PS C:\> $roleDef.AssignableScopes = @("/subscriptions/eb910d4f-edbf-429b-94F6-d76bae7ff401" , "/subscriptions/a846d197-5eac-45c7-b885-a6227fe6d388") -PS C:\> New-AzureRoleDefinition -Role $roleDef +PS C:\> New-AzureRMRoleDefinition -Role $roleDef @@ -9701,7 +9701,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\> Set-AzureRoleDefinition -InputFile C:\Temp\roleDefinition.json + PS C:\> Set-AzureRMRoleDefinition -InputFile C:\Temp\roleDefinition.json @@ -9719,19 +9719,19 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Get-AzureProviderOperation + Get-AzureRMProviderOperation - Get-AzureRoleDefinition + Get-AzureRMRoleDefinition - New-AzureRoleDefinition + New-AzureRMRoleDefinition - Remove-AzureRoleDefinition + Remove-AzureRMRoleDefinition @@ -9743,7 +9743,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef - Stop-AzureResourceGroupDeployment + Stop-AzureRMResourceGroupDeployment Cancels a resource group deployment @@ -9756,11 +9756,11 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef This is the Description section - The Stop-AzureResourceGroupDeployment cmdlet cancels an Azure resource group deployment that is started, but not completed. To stop a deployment, the deployment must have an incomplete provisioning state, such as Provisioning, and not a completed state, such as Provisioned or Failed.An Azure resource is a user-managed entity, such as a website, database, or database server. A resource group is a collection of resources that are deployed as a unit. To deploy a resource group, use the New-AzureResourceGroup or New-AzureResourceGroupDeployment cmdlets. The New-AzureResource cmdlet creates a new resource, but it does not trigger a resource group deployment operation that this cmdlet can stop.This cmdlet stops only one running deployment. Use the Name parameter to stop a particular deployment. If you omit the Name parameter, Stop-AzureResourceGroupDeployment searches for a running deployment and stops it, but if it finds more than one running deployment, the command fails.By default, Stop-AzureResourceGroupDeployment prompts you for confirmation. To suppress the prompt, use the Force parameter. + The Stop-AzureRMResourceGroupDeployment cmdlet cancels an Azure resource group deployment that is started, but not completed. To stop a deployment, the deployment must have an incomplete provisioning state, such as Provisioning, and not a completed state, such as Provisioned or Failed.An Azure resource is a user-managed entity, such as a website, database, or database server. A resource group is a collection of resources that are deployed as a unit. To deploy a resource group, use the New-AzureRMResourceGroup or New-AzureRMResourceGroupDeployment cmdlets. The New-AzureRMResource cmdlet creates a new resource, but it does not trigger a resource group deployment operation that this cmdlet can stop.This cmdlet stops only one running deployment. Use the Name parameter to stop a particular deployment. If you omit the Name parameter, Stop-AzureRMResourceGroupDeployment searches for a running deployment and stops it, but if it finds more than one running deployment, the command fails.By default, Stop-AzureRMResourceGroupDeployment prompts you for confirmation. To suppress the prompt, use the Force parameter. - Stop-AzureResourceGroupDeployment + Stop-AzureRMResourceGroupDeployment ResourceGroupName @@ -9771,14 +9771,14 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Name - Stops the specified deployment. Enter the deployment name. This parameter is optional.Without this parameter, Stop-AzureResourceGroupDeployment searches for a running deployment in the resource group and stops it, but if it finds more than one running deployment, the command fails.You can use -Name or its alias, -DeploymentName.To find the deployment name, use the Get-AzureResourceGroupDeployment cmdlet. + Stops the specified deployment. Enter the deployment name. This parameter is optional.Without this parameter, Stop-AzureRMResourceGroupDeployment searches for a running deployment in the resource group and stops it, but if it finds more than one running deployment, the command fails.You can use -Name or its alias, -DeploymentName.To find the deployment name, use the Get-AzureRMResourceGroupDeployment cmdlet. String Force - Suppresses the confirmation prompt. By default, Stop-AzureResourceGroupDeployment prompts you before stopping a deployment. + Suppresses the confirmation prompt. By default, Stop-AzureRMResourceGroupDeployment prompts you before stopping a deployment. SwitchParameter @@ -9814,7 +9814,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Name - Stops the specified deployment. Enter the deployment name. This parameter is optional.Without this parameter, Stop-AzureResourceGroupDeployment searches for a running deployment in the resource group and stops it, but if it finds more than one running deployment, the command fails.You can use -Name or its alias, -DeploymentName.To find the deployment name, use the Get-AzureResourceGroupDeployment cmdlet. + Stops the specified deployment. Enter the deployment name. This parameter is optional.Without this parameter, Stop-AzureRMResourceGroupDeployment searches for a running deployment in the resource group and stops it, but if it finds more than one running deployment, the command fails.You can use -Name or its alias, -DeploymentName.To find the deployment name, use the Get-AzureRMResourceGroupDeployment cmdlet. String @@ -9826,7 +9826,7 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef Force - Suppresses the confirmation prompt. By default, Stop-AzureResourceGroupDeployment prompts you before stopping a deployment. + Suppresses the confirmation prompt. By default, Stop-AzureRMResourceGroupDeployment prompts you before stopping a deployment. SwitchParameter @@ -9900,14 +9900,14 @@ PS C:\> New-AzureRoleDefinition -Role $roleDef PS C:\> - PS C:\>New-AzureResourceGroup -ResourceGroupName ContosoRG01 -GalleryTemplateName WebHosting -TemplateParameterFile .\HostingTemplateValues + PS C:\>New-AzureRMResourceGroup -ResourceGroupName ContosoRG01 -GalleryTemplateName WebHosting -TemplateParameterFile .\HostingTemplateValues -PS C:\>Stop-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Force +PS C:\>Stop-AzureRMResourceGroupDeployment -ResourceGroupName ContosoRG01 -Force - This example shows how to use the Stop-AzureResourceGroupDeployment command to stop a deployment in progress. The first command uses the New-AzureResourceGroup cmdlet to create and deploy a new resource group. + This example shows how to use the Stop-AzureRMResourceGroupDeployment command to stop a deployment in progress. The first command uses the New-AzureRMResourceGroup cmdlet to create and deploy a new resource group. - Immediately after pressing enter, you remember that you need to get manager approval before deploying new resources. The second command uses the Stop-AzureResourceGroupDeployment cmdlet to stop the deployment before it completes. The command uses the ResourceGroupName parameter to identify the deployment. It also uses the Force parameter to suppress the confirmation prompt. + Immediately after pressing enter, you remember that you need to get manager approval before deploying new resources. The second command uses the Stop-AzureRMResourceGroupDeployment cmdlet to stop the deployment before it completes. The command uses the ResourceGroupName parameter to identify the deployment. It also uses the Force parameter to suppress the confirmation prompt. @@ -9922,17 +9922,17 @@ PS C:\>Stop-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Forc PS C:\> - PS C:\>New-AzureResourceGroup -ResourceGroupName ContosoRG01 -GalleryTemplateName WebHosting -TemplateParameterFile .\HostingTemplateValues -DeploymentName DeployHost + PS C:\>New-AzureRMResourceGroup -ResourceGroupName ContosoRG01 -GalleryTemplateName WebHosting -TemplateParameterFile .\HostingTemplateValues -DeploymentName DeployHost -PS C:\>New-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -TemplateParameterFile .\PortalTemplateValues -GalleryTemplateName WebPortal -DeploymentName DeployPortal +PS C:\>New-AzureRMResourceGroupDeployment -ResourceGroupName ContosoRG01 -TemplateParameterFile .\PortalTemplateValues -GalleryTemplateName WebPortal -DeploymentName DeployPortal -PS C:\>Stop-AzureResourceGroupDeployment -ResourceGroupName ContosoRG01 -Name DeployPortal -Passthru +PS C:\>Stop-AzureRMResourceGroupDeployment -ResourceGroupName ContosoRG01 -Name DeployPortal -Passthru True - This example shows how to use the Name (alias DeploymentName) parameter of the Stop-AzureResourceGroupDeployment command to stop a deployment in progress. + This example shows how to use the Name (alias DeploymentName) parameter of the Stop-AzureRMResourceGroupDeployment command to stop a deployment in progress. - The first command uses the New-AzureResourceGroup cmdlet to create and deploy a new "ContosoRG01" resource group with a "DeployHost" deployment. The second command uses the New-AzureResourceGroupDeployment to add the "DeployPortal" deployment to the "ContosoRG01" resource group.The third command uses the Stop-AzureResourceGroupDeployment cmdlet to stop the "DeployPortal" deployment before it completes. The command uses the ResourceGroupName parameter to identify the resource group and the Name parameter to specify the deployment name. Because the command include the Passthru parameter, the cmdlet returns a value of True ($True) to indicate that the deployment stopped. + The first command uses the New-AzureRMResourceGroup cmdlet to create and deploy a new "ContosoRG01" resource group with a "DeployHost" deployment. The second command uses the New-AzureRMResourceGroupDeployment to add the "DeployPortal" deployment to the "ContosoRG01" resource group.The third command uses the Stop-AzureRMResourceGroupDeployment cmdlet to stop the "DeployPortal" deployment before it completes. The command uses the ResourceGroupName parameter to identify the resource group and the Name parameter to specify the deployment name. Because the command include the Passthru parameter, the cmdlet returns a value of True ($True) to indicate that the deployment stopped. @@ -9966,7 +9966,7 @@ True This is the Description section - The Test-AzureResourceGroupTemplate cmdlet verifies the validity of a resource group template, its parameters, and parameter values. It returns errors that it finds. Otherwise, it does not return any output.To specify a template, use the GalleryTemplateIdentity or TemplateFile parameters. To specify the template parameter values, use the TemplateParameterFile or TemplateParameterObject parameters, or use the template parameters that are added to the command dynamically when you specify the template. To get the parameters, just type a minus sign (-) to indicate a parameter name and press the TAB key to trigger tab-completion. If you miss a required parameter, the cmdlet prompts you for the value. Parameter values typed at the command line take precedence over values in a template parameter object or file.A resource group template is a JSON-based model of a resource group for a complex cloud-based service, such as a web portal. You can use a resource group template to create a resource group or resource group deployment. The template includes parameter (placeholders) for configurable property values, likes names and sizes. You can find many templates in the Azure template gallery (Get-AzureResourceGroupGalleryTemplate) and you can create your own templates. + The Test-AzureResourceGroupTemplate cmdlet verifies the validity of a resource group template, its parameters, and parameter values. It returns errors that it finds. Otherwise, it does not return any output.To specify a template, use the GalleryTemplateIdentity or TemplateFile parameters. To specify the template parameter values, use the TemplateParameterFile or TemplateParameterObject parameters, or use the template parameters that are added to the command dynamically when you specify the template. To get the parameters, just type a minus sign (-) to indicate a parameter name and press the TAB key to trigger tab-completion. If you miss a required parameter, the cmdlet prompts you for the value. Parameter values typed at the command line take precedence over values in a template parameter object or file.A resource group template is a JSON-based model of a resource group for a complex cloud-based service, such as a web portal. You can use a resource group template to create a resource group or resource group deployment. The template includes parameter (placeholders) for configurable property values, likes names and sizes. You can find many templates in the Azure template gallery (Get-AzureRMResourceGroupGalleryTemplate) and you can create your own templates. @@ -9981,14 +9981,14 @@ True TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -10026,7 +10026,7 @@ True TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -10064,14 +10064,14 @@ True TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -10109,7 +10109,7 @@ True GalleryTemplateIdentity - Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. + Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. String @@ -10147,7 +10147,7 @@ True GalleryTemplateIdentity - Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. + Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. String @@ -10185,7 +10185,7 @@ True TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -10223,14 +10223,14 @@ True TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String StorageAccountName - Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -10261,7 +10261,7 @@ True GalleryTemplateIdentity - Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. + Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. String @@ -10292,7 +10292,7 @@ True TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -10328,7 +10328,7 @@ True TemplateFile - Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the path and file name of a JSON template file on disk. This can be a custom template or a gallery template that is saved to disk as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet.To use this parameter, the subscription must include a storage account where the cmdlet can save the template. By default, this cmdlet uses the current storage account in the subscription, but you can use the StorageAccountName parameter to specify an alternate storage account. If you do not specify a storage account and the subscription does not have a storage account that is designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -10340,7 +10340,7 @@ True StorageAccountName - Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureSubscription cmdlet. + Specifies the name of a storage account in the subscription. Test-AzureResourceGroupGalleryTemplate saves the contents of local template files in the storage account. This parameter is optional, but a storage account is required when you use the TemplateFile parameter.The default value is the current storage account in the subscription. If you do not specify a storage account and the subscription does not have a storage account that it designated as "current," the command fails.To create a storage account, use the Switch-AzureMode cmdlet to switch to the Azure module, and then use the New-AzureRMStorageAccount cmdlet. To make the a storage account the "current storage account" for the subscription, use the CurrentStorageAccountName parameter of the Set-AzureRMSubscription cmdlet. String @@ -10388,7 +10388,7 @@ True TemplateUri - Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureResourceGroupGalleryTemplate cmdlet. + Specifies the URI of a JSON template file. This file can be a custom template or a gallery template that is saved as a JSON file, such as by using the Save-AzureRMResourceGroupGalleryTemplate cmdlet. String @@ -10400,7 +10400,7 @@ True GalleryTemplateIdentity - Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. + Specifies the identity of the gallery template to test. Enter an Identity value not a file name. Wildcards are not permitted.To get the identity of a gallery template, use the Get-AzureRMResourceGroupGalleryTemplate cmdlet. To test a gallery template that is saved as a JSON file on disk, use the TemplateFile parameter. String @@ -10530,7 +10530,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall - Unregister-AzureProvider + Unregister-AzureRMResourceProvider @@ -10538,7 +10538,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall Unregister - AzureProvider + AzureRMResourceProvider @@ -10546,7 +10546,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall - Unregister-AzureProvider + Unregister-AzureRMResourceProvider ProviderNamespace @@ -13026,7 +13026,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall - Get-AzureResource + Get-AzureRMResource Gets Azure resources @@ -13039,7 +13039,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall This is the Description section - The Get-AzureResource cmdlet gets the Azure resources in the subscription. By default, it gets all resources in the subscription, but you can use the parameters in the cmdlet to filter the results.An Azure resource is a user-managed Azure entity, such as a database server, database, or website. Every Azure resource is associated with a resource group, which is a collection of resources that are deployed as a unit. + The Get-AzureRMResource cmdlet gets the Azure resources in the subscription. By default, it gets all resources in the subscription, but you can use the parameters in the cmdlet to filter the results.An Azure resource is a user-managed Azure entity, such as a database server, database, or website. Every Azure resource is associated with a resource group, which is a collection of resources that are deployed as a unit. @@ -13047,7 +13047,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall ResourceGroupName - Gets only resources in the specified resource group. Wildcards are not permitted. This parameter is required only when you are selecting resources by name. By default, Get-AzureResource gets all resources in the subscription. + Gets only resources in the specified resource group. Wildcards are not permitted. This parameter is required only when you are selecting resources by name. By default, Get-AzureRMResource gets all resources in the subscription. string @@ -13071,7 +13071,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall Tag - Gets resources that have the specified Azure tag. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource, use the Tag parameter of the New-AzureResource or Set-AzureResource cmdlets. To create a predefined tag, use the New-AzureTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. + Gets resources that have the specified Azure tag. Enter a hash table with a Name key or Name and Value keys. Wildcard characters are not supported.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. To add a tag to a resource, use the Tag parameter of the New-AzureRMResource or Set-AzureRMResource cmdlets. To create a predefined tag, use the New-AzureRMTag cmdlet.For help with hash tables in Windows PowerShell, type: Get-Help about_Hashtables. hashtable @@ -13095,7 +13095,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall Name - Gets a resource with the specified name. Wildcards are not permitted. This parameter is required only when you are selecting resource by name. By default, Get-AzureResource gets all resources in the subscription. + Gets a resource with the specified name. Wildcards are not permitted. This parameter is required only when you are selecting resource by name. By default, Get-AzureRMResource gets all resources in the subscription. string @@ -13169,7 +13169,7 @@ PS C:\>Test-AzureResourceGroupTemplate -ResourceGroupName ContosoLabsRG -Gall PS C:\> - PS C:\>Get-AzureResource + PS C:\>Get-AzureRMResource Name : HostingFarm1 ResourceGroupName : ContosoHosting ResourceType : Microsoft.Web/serverFarms @@ -13203,7 +13203,7 @@ ParentResource : PS C:\> - PS C:\>Get-AzureResource -ResourceGroupName ContosoRG01 + PS C:\>Get-AzureRMResource -ResourceGroupName ContosoRG01 Name : Default1 ResourceGroupName : ContosoLabsRG @@ -13236,7 +13236,7 @@ ParentResource : PS C:\> - PS C:\>Get-AzureResource | Group-Object ResourceType + PS C:\>Get-AzureRMResource | Group-Object ResourceType Count Name Group ----- ---- ----- @@ -13246,7 +13246,7 @@ Count Name Group 1 Microsoft.Web/serverFarms {@{Name=Default1; ResourceGro 6 Microsoft.Web/sites {@{Name=utr2520; ResourceGrou -PS C:\>Get-AzureResource -ResourceType Microsoft.Web/serverFarms +PS C:\>Get-AzureRMResource -ResourceType Microsoft.Web/serverFarms Name : Default1 ResourceGroupName : ContosoLabsRG ResourceType : Microsoft.Web/serverFarms @@ -13277,7 +13277,7 @@ ParentResource : These commands get all resources with a specified resource type. - The first command finds the types of resources in the subscription. It uses the Get-AzureResource cmdlet to get all resources and Group-Object cmdlet to group the objects by resource type. The output shows that there are server farms and web sites in the subscription.The second command uses the ResourceType parameter of Get-AzureResource to get all server farms in the subscription. + The first command finds the types of resources in the subscription. It uses the Get-AzureRMResource cmdlet to get all resources and Group-Object cmdlet to group the objects by resource type. The output shows that there are server farms and web sites in the subscription.The second command uses the ResourceType parameter of Get-AzureRMResource to get all server farms in the subscription. @@ -13292,7 +13292,7 @@ ParentResource : PS C:\> - PS C:\>Get-AzureResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01 + PS C:\>Get-AzureRMResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01 Name : ContosoLabWeb ResourceGroupName : ContosoLabsRG ResourceType : Microsoft.Web/sites @@ -13307,7 +13307,7 @@ Tags : This commands gets the "ContosoLabWeb" web site resource. When you use the Name parameter to get a particular resource, the ResourceGroupName, ResourceType, and APIVersion parameters are required. - You can also use the Where-Object cmdlet to select a resource. For example: Get-AzureResource | Where-Object Name -eq "ConsotoLabWeb" + You can also use the Where-Object cmdlet to select a resource. For example: Get-AzureRMResource | Where-Object Name -eq "ConsotoLabWeb" @@ -13322,7 +13322,7 @@ Tags : PS C:\> - PS C:\>Get-AzureResource -Tag @{Name="Department";Value="IT"} + PS C:\>Get-AzureRMResource -Tag @{Name="Department";Value="IT"} This command gets resources that have a tag named "Department with a value of "IT". @@ -13342,9 +13342,9 @@ Tags : PS C:\> - PS C:\>Get-AzureResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01 + PS C:\>Get-AzureRMResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01 -PS C:\>(Get-AzureResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01).Tags +PS C:\>(Get-AzureRMResource -Name ContosoLabWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2014-04-01).Tags Tags: @@ -13379,7 +13379,7 @@ Tags: - Move-AzureResource + Move-AzureRMResource @@ -13547,7 +13547,7 @@ Tags: - New-AzureResource + New-AzureRMResource Creates a new resource in a resource group @@ -13560,7 +13560,7 @@ Tags: This is the Description section - The New-AzureResource cmdlet creates an Azure resource, such as a website, SQL Azure database server, or SQL Azure database, in a new or existing resource group.If a resource with the same name exists in the resource group, the cmdlet prompts for confirmation before replacing the existing resource. To suppress the confirmation prompt, use the Force parameter.A resource is a user-managed Azure entity. A resource group is a collection of resources that are deployed as a unit. Every resource belongs to exactly one resource group.Typically, you use a template to create a resource group (New-AzureResourceGroup) and its resources. Then, if necessary, you can use this cmdlet to add additional resources to it. + The New-AzureRMResource cmdlet creates an Azure resource, such as a website, SQL Azure database server, or SQL Azure database, in a new or existing resource group.If a resource with the same name exists in the resource group, the cmdlet prompts for confirmation before replacing the existing resource. To suppress the confirmation prompt, use the Force parameter.A resource is a user-managed Azure entity. A resource group is a collection of resources that are deployed as a unit. Every resource belongs to exactly one resource group.Typically, you use a template to create a resource group (New-AzureRMResourceGroup) and its resources. Then, if necessary, you can use this cmdlet to add additional resources to it. @@ -13568,7 +13568,7 @@ Tags: Location - Specifies the location of the resource. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource in any location that supports resources of that type. The resource does not have to be in the same location your Azure subscription or the same location as its resource group. Resource groups can contain resources from different locations. To determine which locations support each resource type, use the Get-AzureLocation cmdlet. + Specifies the location of the resource. This parameter is required. Enter an Azure data center location, such as "West US" or "Southeast Asia".You can place a resource in any location that supports resources of that type. The resource does not have to be in the same location your Azure subscription or the same location as its resource group. Resource groups can contain resources from different locations. To determine which locations support each resource type, use the Get-AzureRMLocation cmdlet. string @@ -13592,7 +13592,7 @@ Tags: PropertyObject - Specifies properties values for the properties of a resource. Enter a hash table in @{propertyName = propertyValue} format. This parameter is optional.Use this parameter to specify the values of properties that are specific to a resource type. To find the properties that you can set for each type of resource, look at a few gallery templates, such as the templates that the Get-AzureResourceGroupGalleryTemplate cmdlet returns.For more information about hash tables in Windows PowerShell, type: Get-Help about_Hash_Tables (http://go.microsoft.com/fwlink/?LinkID=324844). + Specifies properties values for the properties of a resource. Enter a hash table in @{propertyName = propertyValue} format. This parameter is optional.Use this parameter to specify the values of properties that are specific to a resource type. To find the properties that you can set for each type of resource, look at a few gallery templates, such as the templates that the Get-AzureRMResourceGroupGalleryTemplate cmdlet returns.For more information about hash tables in Windows PowerShell, type: Get-Help about_Hash_Tables (http://go.microsoft.com/fwlink/?LinkID=324844). hashtable @@ -13604,7 +13604,7 @@ Tags: Tag - Applies the specified tags to the new resource. Enter new tags or predefined tags that you created by using the New-AzureTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureTag cmdlet. + Applies the specified tags to the new resource. Enter new tags or predefined tags that you created by using the New-AzureRMTag cmdlet.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Every tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To get your predefined tags, use the Get-AzureRMTag cmdlet. hashtable[] @@ -13616,7 +13616,7 @@ Tags: Force - Overwrites an existing resource group without warning. This parameter suppresses the confirmation prompt that New-AzureResource displays by default when the resource group already contains a resource with the same resource name. + Overwrites an existing resource group without warning. This parameter suppresses the confirmation prompt that New-AzureRMResource displays by default when the resource group already contains a resource with the same resource name. switchparameter @@ -13726,7 +13726,7 @@ Tags: PS C:\> - PS C:\>New-AzureResource -Name ContosoEngSite -Location "North Europe" -ResourceGroupName ContosoEngineering -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -PropertyObject @{"name" = "ContosoEngSite"; "siteMode" = "Limited"; "computeMode" = "Shared"} + PS C:\>New-AzureRMResource -Name ContosoEngSite -Location "North Europe" -ResourceGroupName ContosoEngineering -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -PropertyObject @{"name" = "ContosoEngSite"; "siteMode" = "Limited"; "computeMode" = "Shared"} Name : ContosoEngSite ResourceGroupName : ContosoEngineering ResourceType : Microsoft.Web/sites @@ -13735,7 +13735,7 @@ Properties : {[name, ContosoEngSite], [state, Running], [hostNames, System.Collections.Generic.List`1[System.Object]], [webSpace, ContosoEngineering-NorthEuropewebspace]...} - This command uses the New-AzureResource cmdlet to create the ContosoEngSite web site in the ContosoEngineering resource group. If the ContosoEngineering resource group doesn't exist, New-AzureResource creates it. If the ContosoEngineering resource group already has a resource named ContosoEngSite, the cmdlet prompt for confirmation before replacing it. + This command uses the New-AzureRMResource cmdlet to create the ContosoEngSite web site in the ContosoEngineering resource group. If the ContosoEngineering resource group doesn't exist, New-AzureRMResource creates it. If the ContosoEngineering resource group already has a resource named ContosoEngSite, the cmdlet prompt for confirmation before replacing it. The command uses the Location parameter to place the new web in the "North Europe" data center, although the resource group and its resources are located in several different locations.The cmdlet returns a PSResource object that represents the new database. @@ -13753,7 +13753,7 @@ Properties : {[name, ContosoEngSite], [state, Running], [hostNames, PS C:\> - PS C:\>$WebsiteProperties = @{name = "ContosoWeb"; serverFarm = CS01; computeMode = "Shared"; siteMode = "Limited";}PS C:\>New-AzureResource -Name ContosoWeb -ResouceGroupName CRG01 -ResourceType 'Microsoft.Web/sites' -Location "South Central US" -ApiVersion 2014-04-01 -PropertyObject $WebsiteProperties + PS C:\>$WebsiteProperties = @{name = "ContosoWeb"; serverFarm = CS01; computeMode = "Shared"; siteMode = "Limited";}PS C:\>New-AzureRMResource -Name ContosoWeb -ResouceGroupName CRG01 -ResourceType 'Microsoft.Web/sites' -Location "South Central US" -ApiVersion 2014-04-01 -PropertyObject $WebsiteProperties Name : ContosoWeb ResourceGroupName : ContosoEngineering ResourceType : Microsoft.Web/sites @@ -13765,7 +13765,7 @@ Properties : {[name, ContosoWeb], [state, Running], [hostNames, These commands create the ContosoWeb Azure website in the CRG01 resource group. - The first command creates a hash table of web site properties and saves it in the $WebsiteProperties variable. To find the properties that you can set for an Azure web site, use a gallery template, such as the ones that the Get-AzureResourceGroupGalleryTemplate cmdlet return.The second command uses the New-AzureResource cmdlet to create the web site. The value of the PropertyObject parameter is the hash table in the $WebsiteProperties variable. + The first command creates a hash table of web site properties and saves it in the $WebsiteProperties variable. To find the properties that you can set for an Azure web site, use a gallery template, such as the ones that the Get-AzureRMResourceGroupGalleryTemplate cmdlet return.The second command uses the New-AzureRMResource cmdlet to create the web site. The value of the PropertyObject parameter is the hash table in the $WebsiteProperties variable. @@ -13780,15 +13780,15 @@ Properties : {[name, ContosoWeb], [state, Running], [hostNames, PS C:\> - PS C:\>New-AzureResourceGroup -Name ContosoPortal -Location "West US" -GalleryTemplateIdentity WordPress.WordPress.0.1.0-preview1 -TemplateParameterFile ".\WordPressParameters.json" + PS C:\>New-AzureRMResourceGroup -Name ContosoPortal -Location "West US" -GalleryTemplateIdentity WordPress.WordPress.0.1.0-preview1 -TemplateParameterFile ".\WordPressParameters.json" -PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/servers/databases" –ResourceGroup ContosoPortal –Location "West US" –ParentResource "Microsoft.Sql/servers/ContosoServer01" –PropertyObject @{Edition = "Enterprise"; MaxSizeGB = 100} +PS C:\>New-AzureRMResource –Name sqldb03 –ResourceType "Microsoft.Sql/servers/databases" –ResourceGroup ContosoPortal –Location "West US" –ParentResource "Microsoft.Sql/servers/ContosoServer01" –PropertyObject @{Edition = "Enterprise"; MaxSizeGB = 100} - This example shows a typical use of this cmdlet. The first command uses the New-AzureResourceGroup cmdlet to create the ContosoPortal resource group. The command uses the WordPress gallery template (Get-AzureResourceGroupGalleryTemplate) and a JSON file, WordPressParameters.json, to specify values for the template-specific parameters, such as the name and location of the database, a name for the hosting plan, and web deployment credentials. + This example shows a typical use of this cmdlet. The first command uses the New-AzureRMResourceGroup cmdlet to create the ContosoPortal resource group. The command uses the WordPress gallery template (Get-AzureRMResourceGroupGalleryTemplate) and a JSON file, WordPressParameters.json, to specify values for the template-specific parameters, such as the name and location of the database, a name for the hosting plan, and web deployment credentials. - The second command uses the New-AzureResource cmdlet to add an additional database to the ContosoPortal resource group. The command uses the PropertyObject parameter to specify a hash table of values for the Edition and MaxSizeGB properties of the new database. For the other databases in the resource group, these values were specified in the PortalParameters.rgcfg resource group configuration file. + The second command uses the New-AzureRMResource cmdlet to add an additional database to the ContosoPortal resource group. The command uses the PropertyObject parameter to specify a hash table of values for the Edition and MaxSizeGB properties of the new database. For the other databases in the resource group, these values were specified in the PortalParameters.rgcfg resource group configuration file. @@ -13803,7 +13803,7 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ PS C:\> - PS C:\>New-AzureResource -Name ContosoEngSite -Location "North Europe" -ResourceGroupName ContosoEngineering -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{Name="Status";Value="Approved"},@{Name="New"} + PS C:\>New-AzureRMResource -Name ContosoEngSite -Location "North Europe" -ResourceGroupName ContosoEngineering -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{Name="Status";Value="Approved"},@{Name="New"} This command creates a new website and applies two tags to it. The command uses the Tag parameter to apply a "Status" tag with a value of "Approved" and a tag named "New" with no value. @@ -13829,7 +13829,7 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ - Remove-AzureResource + Remove-AzureRMResource Deletes a resource @@ -13842,7 +13842,7 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ This is the Description section - The Remove-AzureResource cmdlet deletes a resource from your subscription. It does not delete the resource group of the resource. By default, Remove-AzureResource prompts you for confirmation. To suppress the prompt, use the Force parameter. + The Remove-AzureRMResource cmdlet deletes a resource from your subscription. It does not delete the resource group of the resource. By default, Remove-AzureRMResource prompts you for confirmation. To suppress the prompt, use the Force parameter. @@ -13862,7 +13862,7 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ Force - Suppresses the confirmation prompt. By default, Remove-AzureResource prompts for confirmation before deleting a resource. + Suppresses the confirmation prompt. By default, Remove-AzureRMResource prompts for confirmation before deleting a resource. switchparameter @@ -14008,7 +14008,7 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ PS C:\> - PS C:\>Remove-AzureResource -Name ContosoWeb -ResourceGroupName ContosoRG01 -ResourceType Microsoft.web/sites -ApiVersion 2014-04-01 ConfirmAre you sure you want to remove resource ' ContosoWeb'[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y + PS C:\>Remove-AzureRMResource -Name ContosoWeb -ResourceGroupName ContosoRG01 -ResourceType Microsoft.web/sites -ApiVersion 2014-04-01 ConfirmAre you sure you want to remove resource ' ContosoWeb'[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y This command removes the ContosoWeb web site from the ContosoRG01 resource group. @@ -14028,10 +14028,10 @@ PS C:\>New-AzureResource –Name sqldb03 –ResourceType "Microsoft.Sql/ PS C:\> - PS C:\>Get-AzureResource -Name contosodb01 -ResourceGroupName ContosoRG01 -ResourceType "Microsoft.Sql/servers/databases" -ParentResource "Microsoft.Sql/servers/contososvr01" -ApiVersion 2.0 | Remove-AzureResource -Passthru ConfirmAre you sure you want to remove resource 'contosodb01'[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y + PS C:\>Get-AzureRMResource -Name contosodb01 -ResourceGroupName ContosoRG01 -ResourceType "Microsoft.Sql/servers/databases" -ParentResource "Microsoft.Sql/servers/contososvr01" -ApiVersion 2.0 | Remove-AzureRMResource -Passthru ConfirmAre you sure you want to remove resource 'contosodb01'[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y True - This command uses the Get-AzureResource cmdlet to get the ContosoDB01 database. The command pipes the database to the Remove-AzureResource cmdlet to remove it. The command uses the Passthru parameter, which causes the cmdlet to return a Boolean value that represents the success or failure of the operation. In this case, it returns True. + This command uses the Get-AzureRMResource cmdlet to get the ContosoDB01 database. The command pipes the database to the Remove-AzureRMResource cmdlet to remove it. The command uses the Passthru parameter, which causes the cmdlet to return a Boolean value that represents the success or failure of the operation. In this case, it returns True. @@ -14055,7 +14055,7 @@ True - Set-AzureResource + Set-AzureRMResource Changes the properties of an Azure resource. @@ -14068,7 +14068,7 @@ True This is the Description section - The Set-AzureResource cmdlet changes the properties of an Azure resource. To use the cmdlet, use the Name, ResourceGroupName, ResourceGroupType, and ParentResource parameters to identify the resource, and the PropertyObject parameter to specify the new property names and values.If the command succeeds, it returns the resource with the new properties and values.An Azure resource is a user-managed entity, such as an Azure Website or Azure SQL Database. Some resources have properties, which are user-configured values, like sizes and operational modes. You can specify these values when you create the resource, such as by using the New-AzureResource, New-AzureResourceGroup, or New-AzureResourceGroupDeployment cmdlets. And, you can change the properties by using this cmdlet.To get the properties of a resource, use the Get-AzureResource cmdlet to get the resource. Then use the dot method to get the Properties property collection and a particular named property. For example, to get the siteMode property of an object, type (Get-AzureResource -Name MyWebSite -ResourceGroupName RG -ResourceType Microsoft.Web/sites -ApiVersion 2014-04-01).Properties.siteMode + The Set-AzureRMResource cmdlet changes the properties of an Azure resource. To use the cmdlet, use the Name, ResourceGroupName, ResourceGroupType, and ParentResource parameters to identify the resource, and the PropertyObject parameter to specify the new property names and values.If the command succeeds, it returns the resource with the new properties and values.An Azure resource is a user-managed entity, such as an Azure Website or Azure SQL Database. Some resources have properties, which are user-configured values, like sizes and operational modes. You can specify these values when you create the resource, such as by using the New-AzureRMResource, New-AzureRMResourceGroup, or New-AzureRMResourceGroupDeployment cmdlets. And, you can change the properties by using this cmdlet.To get the properties of a resource, use the Get-AzureRMResource cmdlet to get the resource. Then use the dot method to get the Properties property collection and a particular named property. For example, to get the siteMode property of an object, type (Get-AzureRMResource -Name MyWebSite -ResourceGroupName RG -ResourceType Microsoft.Web/sites -ApiVersion 2014-04-01).Properties.siteMode @@ -14100,7 +14100,7 @@ True Tag - Replaces the tags for the resource with the specified new or predefined tags. To change any resource tag, you must replace the collection of tags for the resource.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureResource and Get-AzureResourceGroup to search for resources and groups by tag name or name and value.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To specify a predefined tag, use the Get-AzureTag cmdlet.To delete a tag, enter a hash table with all tags currently applied to the resource (from Get-AzureResource), except for the tag you want to delete. To delete all tags from the resource, enter an empty hash table (-Tag @{}). + Replaces the tags for the resource with the specified new or predefined tags. To change any resource tag, you must replace the collection of tags for the resource.A "tag" is a name-value pair that you can apply to resources and resource groups. Use tags to categorize your resources, such as by department or cost center, or to track notes or comments about the resources. After you assign tags to resources, you can use the Tag parameters of Get-AzureRMResource and Get-AzureRMResourceGroup to search for resources and groups by tag name or name and value.Each tag must have a Name key. It can also have an optional Value key with one value. To specify a new tag, use a hash table, such as @{Name="FY2015"} or @{Name="Department";Value="IT"}. To specify multiple tags, use commas to separate the hash tables, such as -Tag @{Name="FY2015"}, @{Name="Department";Value="IT"}. To specify a predefined tag, use the Get-AzureRMTag cmdlet.To delete a tag, enter a hash table with all tags currently applied to the resource (from Get-AzureRMResource), except for the tag you want to delete. To delete all tags from the resource, enter an empty hash table (-Tag @{}). hashtable[] @@ -14210,10 +14210,10 @@ True PS C:\> - PS C:\> The first command uses the Get-AzureResource cmdlet to get the ContosoLabWeb2 web site. The command saves the resource in the $r variable. -PS C:\>$r = Get-AzureResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 + PS C:\> The first command uses the Get-AzureRMResource cmdlet to get the ContosoLabWeb2 web site. The command saves the resource in the $r variable. +PS C:\>$r = Get-AzureRMResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -The second command saves the Properties property (and its properties) of the resource in the $p variable. The Properties object is a Dictionary, but because it is convertible to a hash table, you can use it as the value of the PropertyObject parameter of Set-AzureResource without casting. +The second command saves the Properties property (and its properties) of the resource in the $p variable. The Properties object is a Dictionary, but because it is convertible to a hash table, you can use it as the value of the PropertyObject parameter of Set-AzureRMResource without casting. PS C:\>$p = $r.Properties The third command displays the properties in the $p variable. @@ -14222,8 +14222,8 @@ PS C:\>$pName Value---- - The fourth command is actually a series of commands (delimited by semi-colons) that change the values of the properties in the $p variable. PS C:\>$p.siteMode = "Basic"; $p.sku = "Basic"; $p.computeMode = "Dedicated"; $p.serverFarm = "Default2" -The fifth command uses the Set-AzureResource cmdlet to change the change the properties of the ContosoLabWeb2 web site. The value of the PropertyObject parameter is the $p variable that contains the Properties object and the new values. The command saves the output (the updated resource) in the $r2 variable. -PS C:\>$r2 = Set-AzureResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -PropertyObject $p +The fifth command uses the Set-AzureRMResource cmdlet to change the change the properties of the ContosoLabWeb2 web site. The value of the PropertyObject parameter is the $p variable that contains the Properties object and the new values. The command saves the output (the updated resource) in the $r2 variable. +PS C:\>$r2 = Set-AzureRMResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -PropertyObject $p The sixth command displays the Properties property of the resource in the $r2 variable. You can see that the properties have the new values. PS C:\>$r2.PropertiesName Value---- -----storageRecoveryDefaultState RunningavailabilityState 0trafficManagerHostNamesrepositorySiteName ContosoLabWeb2runtimeAvailabilityState 0siteMode BasicruntimeADUserlastModifiedTimeUtc 3/25/2014 6:00:04 PMusageState 0hostNames {contosolabweb2.antares-int.windows-int.net}adminEnabled TruehostNameSslStates {System.Collections.Generic.Dictionary`2[System.String,System.Object], System.Collect...runtimeADUserDomainenabled TruedeploymentId ContosoLabWeb2selfLink https://antpreview2.api.admin-antares-int.windows-int.net:454/20130801/websystems/web...computeMode DedicatedwebSpace ContosoLabsRG-NorthEuropewebspacecsrs {}siteConfigintegratedSqlAuthEnabled Falsestate RunningruntimeADUserPasswordserverFarm Default2sslCertificates {}cerscontentAvailabilityState 0enabledHostNames {contosolabweb2.antares-int.windows-int.net, contosolabweb2.scm.antares-int.windows-i...windowsAuthEnabled 0ownersiteProperties {[metadata, ], [properties, System.Collections.Generic.List`1[System.Object]], [appSe...sku Basicname ContosoLabWeb2 @@ -14246,7 +14246,7 @@ PS C:\>$r2.PropertiesName Value---- PS C:\> - PS C:\>Get-AzureResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{Name="CostCenter";Value="Sales"} + PS C:\>Get-AzureRMResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{Name="CostCenter";Value="Sales"} This command uses the Tag parameter to add a CostCenter tag with a value of "Sales" to a resource that did not have any existing tags. @@ -14266,7 +14266,7 @@ PS C:\>$r2.PropertiesName Value---- PS C:\> - PS C:\>$tags = (Get-AzureResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01).Tags + PS C:\>$tags = (Get-AzureRMResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01).Tags PS C:\>$tags @@ -14280,9 +14280,9 @@ Tags: PS C:\>$tags += @{Name="Status";Value="Approved"}, @{Name="FY2016"} -PS C:\>Set-AzureResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag $tags +PS C:\>Set-AzureRMResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag $tags -PS C:>(Get-AzureResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01).Tags +PS C:>(Get-AzureRMResource -Name ContosoWeb -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01).Tags Tags: @@ -14296,7 +14296,7 @@ Tags: This command adds a "Status" tag with a value of "Approved" and an "FY2016" tag to a resource that has existing tags. Because the tags you specify replace the existing tags, you must include the existing tags in the new tag collection or you will lose them. - The first command gets all existing tags of the ContosoWeb resource. It uses the Get-AzureResource cmdlet to get the resource and then uses the dot method to get the value of its Tags property. It saves the existing tags in a $tags variable.The second command gets the tags in the $tags variable.The third command uses a "+=" operator to add the Status and FY2016 tags to the collection (array) of tags in the $tags variable.The fourth command uses the Tag parameter of Set-AzureResource to apply the tags in the $tags variable to the ContosoWeb resource.The fifth command shows the effect of the change. It gets all of the tags applied to the ContosoWeb resource. The output shows that the resource has the Department tag and the two new tags, Status and FY2015. + The first command gets all existing tags of the ContosoWeb resource. It uses the Get-AzureRMResource cmdlet to get the resource and then uses the dot method to get the value of its Tags property. It saves the existing tags in a $tags variable.The second command gets the tags in the $tags variable.The third command uses a "+=" operator to add the Status and FY2016 tags to the collection (array) of tags in the $tags variable.The fourth command uses the Tag parameter of Set-AzureRMResource to apply the tags in the $tags variable to the ContosoWeb resource.The fifth command shows the effect of the change. It gets all of the tags applied to the ContosoWeb resource. The output shows that the resource has the Department tag and the two new tags, Status and FY2015. @@ -14311,7 +14311,7 @@ Tags: PS C:\> - PS C:\>Get-AzureResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{} + PS C:\>Get-AzureRMResource -Name ContosoLabWeb2 -ResourceGroupName ContosoLabsRG -ResourceType "Microsoft.Web/sites" -ApiVersion 2004-04-01 -Tag @{} This command uses the Tag parameter and an empty hash table value to delete all tags from a resource. @@ -14337,7 +14337,7 @@ Tags: - Get-AzureResourceGroupLog + Get-AzureRMResourceGroupLog Gets the deployment log for a resource group @@ -14350,7 +14350,7 @@ Tags: This is the Description section - The Get-AzureResourceGroupLog cmdlet gets the deployment log entries for a resource group. The entries are very useful for many IT tasks, including maintaining a transaction history, performing statistical analyses, and debugging.By default, Get-AzureResourceGroupLog gets the log entries of the currently running or most recently completed deployment for the resource group, but you can use the cmdlet parameters to get the entries for a particular deployment by name or all deployments. + The Get-AzureRMResourceGroupLog cmdlet gets the deployment log entries for a resource group. The entries are very useful for many IT tasks, including maintaining a transaction history, performing statistical analyses, and debugging.By default, Get-AzureRMResourceGroupLog gets the log entries of the currently running or most recently completed deployment for the resource group, but you can use the cmdlet parameters to get the entries for a particular deployment by name or all deployments. @@ -14382,7 +14382,7 @@ Tags: DeploymentName - Gets the log entries for the deployments with the specified name.To get the names of deployments for a resource group, use the Get-AzureResourceGroupDeployment cmdlet. To specify a deployment name when deploying resources, use the DeploymentName parameter of New-AzureResourceGroup or the Name parameter (alias DeploymentName) of the New-AzureResourceGroupDeployment cmdlets. + Gets the log entries for the deployments with the specified name.To get the names of deployments for a resource group, use the Get-AzureRMResourceGroupDeployment cmdlet. To specify a deployment name when deploying resources, use the DeploymentName parameter of New-AzureRMResourceGroup or the Name parameter (alias DeploymentName) of the New-AzureRMResourceGroupDeployment cmdlets. string @@ -14432,7 +14432,7 @@ Tags: PS C:\> - PS C:\>Get-AzureResourceGroupLog -Name ContosoRG01 + PS C:\>Get-AzureRMResourceGroupLog -Name ContosoRG01 Authorization : Scope : /subscriptions/9b14a38b-4b93-4554-8bb0-3cefb47a4e1f/resourcegroups/ContosoLabsRG/deployments/LabDeploy02 Action : Microsoft.Resources/subscriptions/resourcegroups/deployments/write @@ -14477,13 +14477,13 @@ Properties : PS C:\> - PS C:\>(Get-AzureResourceGroupDeployment -ResourceGroupName ContosoLabsRG).DeploymentNameMicrosoft.WebSiteSQLDatabase.0.1.0-preview1LabDeploy02LabDeploy03 -PS C:\>Get-AzureResourceGroupLog -Name ContosoLabsRG -DeploymentName LabDeploy02 + PS C:\>(Get-AzureRMResourceGroupDeployment -ResourceGroupName ContosoLabsRG).DeploymentNameMicrosoft.WebSiteSQLDatabase.0.1.0-preview1LabDeploy02LabDeploy03 +PS C:\>Get-AzureRMResourceGroupLog -Name ContosoLabsRG -DeploymentName LabDeploy02 These commands get the log entries of the LabDeploy02 deployment of the ContosoLabsRG resource group. - The first command uses the Get-AzureResourceGroupDeployment cmdlet to get all deployments for the ContosoLabsRG resource group. It uses the dot method to get the DeploymentName property of each deployment. Notice that the name of the first deployment is a template name, which is the default value when you do not specify a deployment name.The second command uses the Get-AzureResourceGroupLog cmdlet to get the log entries for the LabDeploy02 deployment. + The first command uses the Get-AzureRMResourceGroupDeployment cmdlet to get all deployments for the ContosoLabsRG resource group. It uses the dot method to get the DeploymentName property of each deployment. Notice that the name of the first deployment is a template name, which is the default value when you do not specify a deployment name.The second command uses the Get-AzureRMResourceGroupLog cmdlet to get the log entries for the LabDeploy02 deployment. @@ -14498,12 +14498,12 @@ PS C:\>Get-AzureResourceGroupLog -Name ContosoLabsRG -DeploymentName LabDeplo PS C:\> - PS C:\>Get-AzureResourceGroupLog -Name ContosoRG01 -All | Where-Object Status -eq Failed + PS C:\>Get-AzureRMResourceGroupLog -Name ContosoRG01 -All | Where-Object Status -eq Failed This command gets all log entries of failed operations for the ContosoRG01 resource group. You might use a command like this for debugging. - The first command uses the All parameter of the Get-AzureResourceGroupLog to get log entries for all deployments of the resource group. Then it pipes the log entries to the Where-Object cmdlet, which selects only entries that have a value of Failed for the Status property + The first command uses the All parameter of the Get-AzureRMResourceGroupLog to get log entries for all deployments of the resource group. Then it pipes the log entries to the Where-Object cmdlet, which selects only entries that have a value of Failed for the Status property @@ -14518,9 +14518,9 @@ PS C:\>Get-AzureResourceGroupLog -Name ContosoLabsRG -DeploymentName LabDeplo PS C:\> - PS C:\>Get-AzureResourceGroup | Get-AzureResourceGroupLog + PS C:\>Get-AzureRMResourceGroup | Get-AzureRMResourceGroupLog - This command gets the log entries for the most recent deployment of each resource group in the subscription. The command uses the Get-AzureResourceGroup cmdlet to get all resource groups in the subscription. It pipes the resources groups to the Get-AzureResourceGroupLog which gets the log entries for the last deployment of each resource group. + This command gets the log entries for the most recent deployment of each resource group in the subscription. The command uses the Get-AzureRMResourceGroup cmdlet to get all resource groups in the subscription. It pipes the resources groups to the Get-AzureRMResourceGroupLog which gets the log entries for the last deployment of each resource group. diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.ActiveDirectory/ActiveDirectoryBaseCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Models.ActiveDirectory/ActiveDirectoryBaseCmdlet.cs index 3ce8593341ae..04cba1ffac58 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.ActiveDirectory/ActiveDirectoryBaseCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.ActiveDirectory/ActiveDirectoryBaseCmdlet.cs @@ -12,12 +12,13 @@ // limitations under the License. // ---------------------------------------------------------------------------------- +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.Azure.Commands.Resources.Models.ActiveDirectory; using Microsoft.WindowsAzure.Commands.Utilities.Common; namespace Microsoft.Azure.Commands.ActiveDirectory.Models { - public abstract class ActiveDirectoryBaseCmdlet : AzurePSCmdlet + public abstract class ActiveDirectoryBaseCmdlet : AzureRMCmdlet { private ActiveDirectoryClient activeDirectoryClient; @@ -27,7 +28,7 @@ public ActiveDirectoryClient ActiveDirectoryClient { if (activeDirectoryClient == null) { - activeDirectoryClient = new ActiveDirectoryClient(Profile.Context); + activeDirectoryClient = new ActiveDirectoryClient(DefaultProfile.Context); } return activeDirectoryClient; diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClient.cs b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClient.cs index fd0c261bc4a9..8392053e0070 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClient.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClient.cs @@ -129,8 +129,9 @@ public PSRoleAssignment CreateRoleAssignment(FilterRoleAssignmentsOptions parame /// Filters role assignments based on the passed options. /// /// The filtering options + /// The current subscription /// The filtered role assignments - public List FilterRoleAssignments(FilterRoleAssignmentsOptions options) + public List FilterRoleAssignments(FilterRoleAssignmentsOptions options, string currentSubscription) { List result = new List(); ListAssignmentsFilterParameters parameters = new ListAssignmentsFilterParameters(); @@ -138,14 +139,33 @@ public List FilterRoleAssignments(FilterRoleAssignmentsOptions if (options.ADObjectFilter.HasFilter) { // Filter first by principal - parameters.PrincipalId = string.IsNullOrEmpty(options.ADObjectFilter.Id) ? ActiveDirectoryClient.GetObjectId(options.ADObjectFilter) : Guid.Parse(options.ADObjectFilter.Id); + if (options.ExpandPrincipalGroups) + { + PSADObject adObject = ActiveDirectoryClient.GetADObject(options.ADObjectFilter); + if (adObject == null) + { + throw new KeyNotFoundException(ProjectResources.PrincipalNotFound); + } + + if (!(adObject is PSADUser)) + { + throw new InvalidOperationException(ProjectResources.ExpandGroupsNotSupported); + } + + parameters.AssignedToPrincipalId = adObject.Id; + } + else + { + parameters.PrincipalId = string.IsNullOrEmpty(options.ADObjectFilter.Id) ? ActiveDirectoryClient.GetObjectId(options.ADObjectFilter) : Guid.Parse(options.ADObjectFilter.Id); + } + result.AddRange(AuthorizationManagementClient.RoleAssignments.List(parameters) - .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient))); + .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient, options.ExcludeAssignmentsForDeletedPrincipals)).Where(r => r != null)); // Filter out by scope if (!string.IsNullOrEmpty(options.Scope)) { - result.RemoveAll(r => !options.Scope.StartsWith(r.Scope, StringComparison.InvariantCultureIgnoreCase)); + result.RemoveAll(r => !options.Scope.StartsWith(r.Scope, StringComparison.InvariantCultureIgnoreCase)); } } else if (!string.IsNullOrEmpty(options.Scope)) @@ -153,12 +173,12 @@ public List FilterRoleAssignments(FilterRoleAssignmentsOptions // Filter by scope and above directly parameters.AtScope = true; result.AddRange(AuthorizationManagementClient.RoleAssignments.ListForScope(options.Scope, parameters) - .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient))); + .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient, options.ExcludeAssignmentsForDeletedPrincipals)).Where(r => r != null)); } else { result.AddRange(AuthorizationManagementClient.RoleAssignments.List(parameters) - .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient))); + .RoleAssignments.Select(r => r.ToPSRoleAssignment(this, ActiveDirectoryClient, options.ExcludeAssignmentsForDeletedPrincipals)).Where(r => r != null)); } if (!string.IsNullOrEmpty(options.RoleDefinition)) @@ -166,6 +186,14 @@ public List FilterRoleAssignments(FilterRoleAssignmentsOptions result = result.Where(r => r.RoleDefinitionName.Equals(options.RoleDefinition, StringComparison.OrdinalIgnoreCase)).ToList(); } + if (options.IncludeClassicAdministrators) + { + // Get classic administrator access assignments + List classicAdministrators = AuthorizationManagementClient.ClassicAdministrators.List().ClassicAdministrators.ToList(); + List classicAdministratorsAssignments = classicAdministrators.Select(a => a.ToPSRoleAssignment(currentSubscription)).ToList(); + result.AddRange(classicAdministratorsAssignments); + } + return result; } @@ -176,7 +204,10 @@ public List FilterRoleAssignments(FilterRoleAssignmentsOptions /// The deleted role assignments public PSRoleAssignment RemoveRoleAssignment(FilterRoleAssignmentsOptions options) { - PSRoleAssignment roleAssignment = FilterRoleAssignments(options).FirstOrDefault(); + // Match role assignments at exact scope. At most 1 roleAssignment should match the criteria + PSRoleAssignment roleAssignment = FilterRoleAssignments(options, currentSubscription: string.Empty) + .Where(ra => ra.Scope == options.Scope.TrimEnd('/')) + .FirstOrDefault(); if (roleAssignment != null) { diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClientExtensions.cs b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClientExtensions.cs index efef9a27fb58..829d4b253bcb 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClientExtensions.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/AuthorizationClientExtensions.cs @@ -44,7 +44,7 @@ public static PSRoleDefinition ToPSRoleDefinition(this RoleDefinition role) return roleDefinition; } - public static PSRoleAssignment ToPSRoleAssignment(this RoleAssignment role, AuthorizationClient policyClient, ActiveDirectoryClient activeDirectoryClient) + public static PSRoleAssignment ToPSRoleAssignment(this RoleAssignment role, AuthorizationClient policyClient, ActiveDirectoryClient activeDirectoryClient, bool excludeAssignmentsForDeletedPrincipals = true) { PSRoleDefinition roleDefinition = policyClient.GetRoleDefinition(role.Properties.RoleDefinitionId); PSADObject adObject = activeDirectoryClient.GetADObject(new ADObjectFilterOptions { Id = role.Properties.PrincipalId.ToString() }) ?? new PSADObject() { Id = role.Properties.PrincipalId }; @@ -92,7 +92,7 @@ public static PSRoleAssignment ToPSRoleAssignment(this RoleAssignment role, Auth ObjectId = adObject.Id }; } - else + else if (!excludeAssignmentsForDeletedPrincipals) { return new PSRoleAssignment() { @@ -105,6 +105,19 @@ public static PSRoleAssignment ToPSRoleAssignment(this RoleAssignment role, Auth ObjectId = adObject.Id }; } + + return null; + } + + public static PSRoleAssignment ToPSRoleAssignment(this ClassicAdministrator classicAdministrator, string currentSubscriptionId) + { + return new PSRoleAssignment() + { + RoleDefinitionName = classicAdministrator.Properties.Role, + DisplayName = classicAdministrator.Properties.EmailAddress, + Scope = "/subscriptions/" + currentSubscriptionId, + Actions = new List() {"*"} + }; } } } diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/FilterRoleAssignmentsOptions.cs b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/FilterRoleAssignmentsOptions.cs index 0aaea2406a38..fb815db4c46e 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/FilterRoleAssignmentsOptions.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.Authorization/FilterRoleAssignmentsOptions.cs @@ -53,5 +53,11 @@ public string Scope public ResourceIdentifier ResourceIdentifier { get; set; } public ADObjectFilterOptions ADObjectFilter { get; set; } + + public bool ExpandPrincipalGroups { get; set; } + + public bool IncludeClassicAdministrators { get; set; } + + public bool ExcludeAssignmentsForDeletedPrincipals { get; set; } } } \ No newline at end of file diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.ResourceManager.cs b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.ResourceManager.cs index d8d71cac373f..98d8fe40b98f 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.ResourceManager.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.ResourceManager.cs @@ -303,20 +303,6 @@ public virtual PSResourceGroupDeployment ExecuteDeployment(CreatePSResourceGroup { parameters.DeploymentName = GenerateDeploymentName(parameters); Deployment deployment = CreateBasicDeployment(parameters, parameters.DeploymentMode); - TemplateValidationInfo validationInfo = CheckBasicDeploymentErrors(parameters.ResourceGroupName, parameters.DeploymentName, deployment); - - if (validationInfo.Errors.Count != 0) - { - int counter = 1; - string errorFormat = "Error {0}: Code={1}; Message={2}\r\n"; - StringBuilder errorsString = new StringBuilder(); - validationInfo.Errors.ForEach(e => errorsString.AppendFormat(errorFormat, counter++, e.Code, e.Message)); - throw new ArgumentException(errorsString.ToString()); - } - else - { - WriteVerbose(ProjectResources.TemplateValid); - } if (!string.IsNullOrEmpty(parameters.StorageAccountName)) { diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.cs b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.cs index b3b090b326ed..3f22f04d4a07 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourceClient.cs @@ -59,9 +59,6 @@ public partial class ResourcesClient public GalleryTemplatesClient GalleryTemplatesClient { get; set; } - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //public IEventsClient EventsClient { get; set; } - public Action VerboseLogger { get; set; } public Action ErrorLogger { get; set; } @@ -71,14 +68,12 @@ public partial class ResourcesClient /// /// Creates new ResourceManagementClient /// - /// Profile containing resources to manipulate - public ResourcesClient(AzureProfile profile) + /// Profile containing resources to manipulate + public ResourcesClient(AzureContext context) : this( - AzureSession.ClientFactory.CreateClient(profile, AzureEnvironment.Endpoint.ResourceManager), - new GalleryTemplatesClient(profile.Context), - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //AzureSession.ClientFactory.CreateClient(context, AzureEnvironment.Endpoint.ResourceManager), - AzureSession.ClientFactory.CreateClient(profile.Context, AzureEnvironment.Endpoint.ResourceManager)) + AzureSession.ClientFactory.CreateClient(context, AzureEnvironment.Endpoint.ResourceManager), + new GalleryTemplatesClient(context), + AzureSession.ClientFactory.CreateClient(context, AzureEnvironment.Endpoint.ResourceManager)) { } @@ -92,13 +87,9 @@ public ResourcesClient(AzureProfile profile) public ResourcesClient( IResourceManagementClient resourceManagementClient, GalleryTemplatesClient galleryTemplatesClient, - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //IEventsClient eventsClient, IAuthorizationManagementClient authorizationManagementClient) { GalleryTemplatesClient = galleryTemplatesClient; - // TODO: http://vstfrd:8080/Azure/RD/_workitems#_a=edit&id=3247094 - //EventsClient = eventsClient; AuthorizationManagementClient = authorizationManagementClient; this.ResourceManagementClient = resourceManagementClient; } diff --git a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourcesBaseCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourcesBaseCmdlet.cs index b0239cbce057..22436c6d34da 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourcesBaseCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Models.ResourceGroups/ResourcesBaseCmdlet.cs @@ -18,13 +18,14 @@ namespace Microsoft.Azure.Commands.Resources.Models { + using ResourceManager.Common; using Microsoft.Azure.Commands.Resources.Models.Authorization; using Microsoft.WindowsAzure.Commands.Utilities.Common; /// /// Base class for all resources cmdlets /// - public abstract class ResourcesBaseCmdlet : AzurePSCmdlet + public abstract class ResourcesBaseCmdlet : AzureRMCmdlet { /// /// Field that holds the resource client instance @@ -50,7 +51,7 @@ public ResourcesClient ResourcesClient { if (this.resourcesClient == null) { - this.resourcesClient = new ResourcesClient(this.Profile) + this.resourcesClient = new ResourcesClient(DefaultContext) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp, @@ -74,7 +75,7 @@ public GalleryTemplatesClient GalleryTemplatesClient { // since this accessor can be called before BeginProcessing, use GetCurrentContext if no // profile is passed in - this.galleryTemplatesClient = new GalleryTemplatesClient(this.GetCurrentContext()); + this.galleryTemplatesClient = new GalleryTemplatesClient(DefaultContext); } return this.galleryTemplatesClient; @@ -92,7 +93,7 @@ public AuthorizationClient PoliciesClient { if (this.policiesClient == null) { - this.policiesClient = new AuthorizationClient(this.Profile.Context); + this.policiesClient = new AuthorizationClient(DefaultContext); } return this.policiesClient; } diff --git a/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.Designer.cs b/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.Designer.cs index cc454425f0c7..721162c74cd3 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Resources/Commands.Resources/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.34014 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -123,6 +123,15 @@ internal static string DeploymentWithNameNotFound { } } + /// + /// Looks up a localized string similar to ExpandPrincipalGroups is only supported for a User principal. + /// + internal static string ExpandGroupsNotSupported { + get { + return ResourceManager.GetString("ExpandGroupsNotSupported", resourceCulture); + } + } + /// /// Looks up a localized string similar to Cannot parse {0} '{1}'. /// @@ -321,6 +330,15 @@ internal static string OverrdingFile { } } + /// + /// Looks up a localized string similar to Cannot find principal using the specified options. + /// + internal static string PrincipalNotFound { + get { + return ResourceManager.GetString("PrincipalNotFound", resourceCulture); + } + } + /// /// Looks up a localized string similar to Could not find a registered feature named '{0}' for the resource provider '{1}'.. /// diff --git a/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.resx b/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.resx index 08ae78c9875a..0d7cab205514 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.resx +++ b/src/ResourceManager/Resources/Commands.Resources/Properties/Resources.resx @@ -306,4 +306,10 @@ Deployment '{0}' doesn't exist under resource group '{1}' + + ExpandPrincipalGroups is only supported for a User principal + + + Cannot find principal using the specified options + \ No newline at end of file diff --git a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/AzureProviderFeatureCmdletsBase.cs b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/AzureProviderFeatureCmdletsBase.cs index a177bb708e33..d4414b2db9a6 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/AzureProviderFeatureCmdletsBase.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/AzureProviderFeatureCmdletsBase.cs @@ -14,13 +14,14 @@ namespace Microsoft.Azure.Commands.Resources.ProviderFeatures { + using ResourceManager.Common; using Microsoft.Azure.Commands.Resources.Models.ProviderFeatures; using Microsoft.WindowsAzure.Commands.Utilities.Common; /// /// Base class for all feature cmdlets /// - public abstract class AzureProviderFeatureCmdletBase : AzurePSCmdlet + public abstract class AzureProviderFeatureCmdletBase : AzureRMCmdlet { /// /// Cache for the feature client @@ -36,7 +37,7 @@ public ProviderFeatureClient ProviderFeatureClient { if (this.providerFeatureClient == null) { - this.providerFeatureClient = new ProviderFeatureClient(this.Profile.Context); + this.providerFeatureClient = new ProviderFeatureClient(DefaultContext); } return this.providerFeatureClient; diff --git a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/GetAzureProviderFeatureCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/GetAzureProviderFeatureCmdlet.cs index 938091ff18b0..603d7185f549 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/GetAzureProviderFeatureCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/GetAzureProviderFeatureCmdlet.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources.ProviderFeatures /// /// Gets the preview features of a certain azure resource provider. /// - [Cmdlet(VerbsCommon.Get, "AzureProviderFeature", DefaultParameterSetName = GetAzureProviderFeatureCmdlet.ListAvailableParameterSet)] + [Cmdlet(VerbsCommon.Get, "AzureRMProviderFeature", DefaultParameterSetName = GetAzureProviderFeatureCmdlet.ListAvailableParameterSet)] [OutputType(typeof(List))] public class GetAzureProviderFeatureCmdlet : AzureProviderFeatureCmdletBase { @@ -57,7 +57,7 @@ public class GetAzureProviderFeatureCmdlet : AzureProviderFeatureCmdletBase [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = false, HelpMessage = "When set, lists all available features including those not registered with the current subscription.", ParameterSetName = GetAzureProviderFeatureCmdlet.ListAvailableParameterSet)] public SwitchParameter ListAvailable { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var parameterSetName = this.DetermineParameterSetName(); diff --git a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/RegisterAzureProviderFeatureCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/RegisterAzureProviderFeatureCmdlet.cs index bf922e71e569..77bbdbd0ab1a 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/RegisterAzureProviderFeatureCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ProviderFeatures/RegisterAzureProviderFeatureCmdlet.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources.ProviderFeatures /// /// Register the previewed features of a certain azure resource provider. /// - [Cmdlet(VerbsLifecycle.Register, "AzureProviderFeature"), OutputType(typeof(List))] + [Cmdlet(VerbsLifecycle.Register, "AzureRMProviderFeature"), OutputType(typeof(List))] public class RegisterAzureProviderFeatureCmdlet : AzureProviderFeatureCmdletBase { /// @@ -48,7 +48,7 @@ public class RegisterAzureProviderFeatureCmdlet : AzureProviderFeatureCmdletBase /// /// Executes the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.ConfirmAction( force: this.Force, diff --git a/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderCmdlet.cs index edca51c6ee19..23e59a197904 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderCmdlet.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Providers /// /// Get an existing resource. /// - [Cmdlet(VerbsCommon.Get, "AzureProvider", DefaultParameterSetName = GetAzureProviderCmdlet.ListAvailableParameterSet), OutputType(typeof(PSResourceProvider))] + [Cmdlet(VerbsCommon.Get, "AzureRMResourceProvider", DefaultParameterSetName = GetAzureProviderCmdlet.ListAvailableParameterSet), OutputType(typeof(PSResourceProvider))] public class GetAzureProviderCmdlet : ResourcesBaseCmdlet { /// @@ -50,7 +50,7 @@ public class GetAzureProviderCmdlet : ResourcesBaseCmdlet /// /// Executes the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var parameterSetName = this.DetermineParameterSetName(); diff --git a/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderOperationCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderOperationCmdlet.cs index 2ea799cc7aac..107a2cf90338 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderOperationCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Providers/GetAzureProviderOperationCmdlet.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Get an existing resource. /// - [Cmdlet(VerbsCommon.Get, "AzureProviderOperation"), OutputType(typeof(PSResourceProviderOperation))] + [Cmdlet(VerbsCommon.Get, "AzureRMProviderOperation"), OutputType(typeof(PSResourceProviderOperation))] public class GetAzureProviderOperationCommand : ResourcesBaseCmdlet { private const string WildCardCharacter = "*"; @@ -39,7 +39,7 @@ public class GetAzureProviderOperationCommand : ResourcesBaseCmdlet /// /// Executes the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // remove leading and trailing whitespaces this.ActionString = this.ActionString.Trim(); @@ -71,7 +71,7 @@ private List ProcessProviderOperationsWithWildCard( string nonWildCardPrefix = GetAzureProviderOperationCommand.GetNonWildcardPrefix(actionString); if (string.IsNullOrWhiteSpace(nonWildCardPrefix)) { - // 'Get-AzureProviderOperation *' or 'Get-AzureProviderOperation */virtualmachines/*' + // 'Get-AzureRMProviderOperation *' or 'Get-AzureRMProviderOperation */virtualmachines/*' // get operations for all providers providers.AddRange(this.ResourcesClient.ListProviderOperationsMetadata()); } @@ -81,7 +81,7 @@ private List ProcessProviderOperationsWithWildCard( string providerFullName = GetAzureProviderOperationCommand.GetResourceProviderFullName(nonWildCardPrefix); if (!string.IsNullOrWhiteSpace(providerFullName)) { - // we have the full name of the provider. 'Get-AzureProviderOperation Microsoft.Sql/servers/*' + // we have the full name of the provider. 'Get-AzureRMProviderOperation Microsoft.Sql/servers/*' // only query for that provider providers.Add(this.ResourcesClient.GetProviderOperationsMetadata(providerFullName)); } diff --git a/src/ResourceManager/Resources/Commands.Resources/Providers/RegisterAzureProviderCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Providers/RegisterAzureProviderCmdlet.cs index 6f2a37c01aae..2c4427dc7dd7 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Providers/RegisterAzureProviderCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Providers/RegisterAzureProviderCmdlet.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Register the previewed features of a certain azure resource provider. /// - [Cmdlet(VerbsLifecycle.Register, "AzureProvider"), OutputType(typeof(PSResourceProvider))] + [Cmdlet(VerbsLifecycle.Register, "AzureRMResourceProvider"), OutputType(typeof(PSResourceProvider))] public class RegisterAzureProviderCmdlet : ResourcesBaseCmdlet { /// @@ -41,7 +41,7 @@ public class RegisterAzureProviderCmdlet : ResourcesBaseCmdlet /// /// Executes the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.ConfirmAction( force: this.Force, diff --git a/src/ResourceManager/Resources/Commands.Resources/Providers/UnregisterAzureProviderCmdlet.cs b/src/ResourceManager/Resources/Commands.Resources/Providers/UnregisterAzureProviderCmdlet.cs index 4fdffa201ba4..5d6bf49f42df 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Providers/UnregisterAzureProviderCmdlet.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Providers/UnregisterAzureProviderCmdlet.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Un-registers the resource provider from the current subscription. /// - [Cmdlet(VerbsLifecycle.Unregister, "AzureProvider"), OutputType(typeof(List))] + [Cmdlet(VerbsLifecycle.Unregister, "AzureRMResourceProvider"), OutputType(typeof(List))] public class UnregisterAzureProviderCmdlet : ResourcesBaseCmdlet { /// @@ -41,7 +41,7 @@ public class UnregisterAzureProviderCmdlet : ResourcesBaseCmdlet /// /// Executes the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.ConfirmAction( force: this.Force, diff --git a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs index 9e62bfdf2ce6..d402aead5b76 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/GetAzureResourceGroupDeploymentCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Filters resource group deployments. /// - [Cmdlet(VerbsCommon.Get, "AzureResourceGroupDeployment"), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMResourceGroupDeployment"), OutputType(typeof(List))] public class GetAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet { [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the resource group.")] @@ -37,7 +37,7 @@ public class GetAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet [ValidateNotNullOrEmpty] public string ProvisioningState { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { FilterResourceGroupDeploymentOptions options = new FilterResourceGroupDeploymentOptions() { @@ -47,11 +47,10 @@ public override void ExecuteCmdlet() 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 916570c27eba..88262993b636 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/NewAzureResourceGroupDeploymentCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Creates a new resource group deployment. /// - [Cmdlet(VerbsCommon.New, "AzureResourceGroupDeployment", DefaultParameterSetName = BaseParameterSetName), OutputType(typeof(PSResourceGroupDeployment))] + [Cmdlet(VerbsCommon.New, "AzureRMResourceGroupDeployment", DefaultParameterSetName = BaseParameterSetName), OutputType(typeof(PSResourceGroupDeployment))] public class NewAzureResourceGroupDeploymentCommand : ResourceWithParameterBaseCmdlet, IDynamicParameters { [Alias("DeploymentName")] @@ -46,7 +46,7 @@ public NewAzureResourceGroupDeploymentCommand() this.Mode = DeploymentMode.Incremental; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { CreatePSResourceGroupDeploymentParameters parameters = new CreatePSResourceGroupDeploymentParameters() { @@ -61,9 +61,9 @@ public override void ExecuteCmdlet() 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-AzureRMResourceGroupDeployment 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 8a90dfa99070..35c9a5b6f237 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/RemoveAzureResourceGroupDeploymentCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Resources.ResourceGroups /// /// Deletes a deployment. /// - [Cmdlet(VerbsCommon.Remove, "AzureResourceGroupDeployment"), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMResourceGroupDeployment"), OutputType(typeof(bool))] public class RemoveAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet { [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the resource group.")] @@ -39,7 +39,7 @@ public class RemoveAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet [Parameter(Position = 3, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "True if succeed, false otherwise.")] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, @@ -50,6 +50,7 @@ public override void ExecuteCmdlet() 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 7ddcb77495fe..1fe0850f2a4c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroupDeployments/StopAzureResourceGroupDeploymentCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Resources.ResourceGroups /// /// Cancel a running deployment. /// - [Cmdlet(VerbsLifecycle.Stop, "AzureResourceGroupDeployment"), OutputType(typeof(bool))] + [Cmdlet(VerbsLifecycle.Stop, "AzureRMResourceGroupDeployment"), OutputType(typeof(bool))] public class StopAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet { [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the resource group.")] @@ -39,7 +39,7 @@ public class StopAzureResourceGroupDeploymentCommand : ResourcesBaseCmdlet [Parameter(Position = 3, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "True if succeed, false otherwise.")] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, @@ -50,6 +50,7 @@ public override void ExecuteCmdlet() 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 69834262df57..4c3c8a14920b 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureLocationCommand.cs @@ -24,11 +24,12 @@ namespace Microsoft.Azure.Commands.Resources /// /// Get the available locations for certain resource types. /// - [Cmdlet(VerbsCommon.Get, "AzureLocation"), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMLocation"), OutputType(typeof(List))] public class GetAzureLocationCommand : ResourcesBaseCmdlet, IModuleAssemblyInitializer { - public override void ExecuteCmdlet() + 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 12ece2649c21..2787a799685b 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/GetAzureResourceGroupCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Filters resource groups. /// - [Cmdlet(VerbsCommon.Get, "AzureResourceGroup"), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMResourceGroup"), OutputType(typeof(List))] public class GetAzureResourceGroupCommand : ResourcesBaseCmdlet { [Alias("ResourceGroupName")] @@ -36,8 +36,17 @@ public class GetAzureResourceGroupCommand : ResourcesBaseCmdlet [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = "GetMultiple")] public SwitchParameter Detailed { get; set; } - public override void ExecuteCmdlet() + 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 d8572700da5c..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, "AzureResourceGroupLog", 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; } - - public override void ExecuteCmdlet() - { - 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 f1c2f1c2d8d8..a2717f61e99a 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/NewAzureResourceGroupCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Creates a new resource group. /// - [Cmdlet(VerbsCommon.New, "AzureResourceGroup", DefaultParameterSetName = BaseParameterSetName), OutputType(typeof(PSResourceGroup))] + [Cmdlet(VerbsCommon.New, "AzureRMResourceGroup", DefaultParameterSetName = BaseParameterSetName), OutputType(typeof(PSResourceGroup))] public class NewAzureResourceGroupCommand : ResourceWithParameterBaseCmdlet, IDynamicParameters { [Alias("ResourceGroupName")] @@ -46,7 +46,7 @@ public class NewAzureResourceGroupCommand : ResourceWithParameterBaseCmdlet, IDy [Parameter(Mandatory = false, HelpMessage = "Do not ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { CreatePSResourceGroupParameters parameters = new CreatePSResourceGroupParameters { @@ -65,8 +65,9 @@ public override void ExecuteCmdlet() if(!string.IsNullOrEmpty(DeploymentName) || !string.IsNullOrEmpty(GalleryTemplateIdentity) || !string.IsNullOrEmpty(TemplateFile) || !string.IsNullOrEmpty(TemplateVersion) || TemplateParameterObject != null || !string.IsNullOrEmpty(StorageAccountName)) { - 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 deployment parameters in New-AzureRMResourceGroup cmdlet is being deprecated and will be removed in a future release. Please use New-AzureRMResourceGroupDeployment 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 3466c35e8ee1..37a32382b3d8 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/RemoveAzureResourceGroupCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Removes a new resource group. /// - [Cmdlet(VerbsCommon.Remove, "AzureResourceGroup", SupportsShouldProcess = true), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMResourceGroup", SupportsShouldProcess = true), OutputType(typeof(bool))] public class RemoveAzureResourceGroupCommand : ResourcesBaseCmdlet { [Alias("ResourceGroupName")] @@ -35,7 +35,7 @@ public class RemoveAzureResourceGroupCommand : ResourcesBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { ConfirmAction( Force.IsPresent, @@ -46,6 +46,7 @@ public override void ExecuteCmdlet() 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 f0229511ca01..dfeda5f598f4 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceGroups/SetAzureResourceGroupCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Updates an existing resource group. /// - [Cmdlet(VerbsCommon.Set, "AzureResourceGroup"), OutputType(typeof(PSResourceGroup))] + [Cmdlet(VerbsCommon.Set, "AzureRMResourceGroup"), OutputType(typeof(PSResourceGroup))] public class SetAzureResourceGroupCommand : ResourcesBaseCmdlet { [Alias("ResourceGroupName")] @@ -33,14 +33,14 @@ public class SetAzureResourceGroupCommand : ResourcesBaseCmdlet [Parameter(Mandatory = true, Position = 1, ValueFromPipelineByPropertyName = true, HelpMessage = "An array of hashtables which represents resource tags.")] public Hashtable[] Tag { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { UpdatePSResourceGroupParameters parameters = new UpdatePSResourceGroupParameters { 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/ResourceManagerStartup.ps1 b/src/ResourceManager/Resources/Commands.Resources/ResourceManagerStartup.ps1 index 2badfe812948..6f86e038689c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/ResourceManagerStartup.ps1 +++ b/src/ResourceManager/Resources/Commands.Resources/ResourceManagerStartup.ps1 @@ -14,108 +14,160 @@ @{ # Sql aliases - "Get-AzureSqlDatabaseServerAuditingPolicy" = "Get-AzureSqlServerAuditingPolicy"; - "Remove-AzureSqlDatabaseServerAuditing" = "Remove-AzureSqlServerAuditing"; - "Set-AzureSqlDatabaseServerAuditingPolicy" = "Set-AzureSqlServerAuditingPolicy"; - "Use-AzureSqlDatabaseServerAuditingPolicy" = "Use-AzureSqlServerAuditingPolicy"; + "Get-AzureRMSqlDatabaseServerAuditingPolicy" = "Get-AzureRMSqlServerAuditingPolicy"; + "Remove-AzureRMSqlDatabaseServerAuditing" = "Remove-AzureRMSqlServerAuditing"; + "Set-AzureRMSqlDatabaseServerAuditingPolicy" = "Set-AzureRMSqlServerAuditingPolicy"; + "Use-AzureRMSqlDatabaseServerAuditingPolicy" = "Use-AzureRMSqlServerAuditingPolicy"; # Storage aliases - "Get-AzureStorageContainerAcl" = "Get-AzureStorageContainer"; - "Start-CopyAzureStorageBlob" = "Start-AzureStorageBlobCopy"; - "Stop-CopyAzureStorageBlob" = "Stop-AzureStorageBlobCopy"; + "Get-AzureRMStorageContainerAcl" = "Get-AzureRMStorageContainer"; + "Start-CopyAzureStorageBlob" = "Start-AzureRMStorageBlobCopy"; + "Stop-CopyAzureStorageBlob" = "Stop-AzureRMStorageBlobCopy"; }.GetEnumerator() | Select @{Name='Name'; Expression={$_.Key}}, @{Name='Value'; Expression={$_.Value}} | New-Alias -Description "AzureAlias" # Authorization script commandlet that builds on top of existing Insights comandlets. -# This commandlet gets all events for the "Microsoft.Authorization" resource provider by calling the "Get-AzureResourceProviderLog" commandlet - -function Get-AzureAuthorizationChangeLog { - [CmdletBinding()] - param( - [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage = "The start time. Optional - If both StartTime and EndTime are not provided, defaults to querying for the past 1 hour. Maximum allowed difference in StartTime and EndTime is 15 days")] - [DateTime] $StartTime, - - [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage = "The end time. Optional. - If both StartTime and EndTime are not provided, defaults to querying for the past 1 hour. Maximum allowed difference in StartTime and EndTime is 15 days")] - [DateTime] $EndTime - ) - PROCESS { - # Get all events for the "Microsoft.Authorization" provider by calling the Insights commandlet - $events = Get-AzureResourceProviderLog -ResourceProvider "Microsoft.Authorization" -DetailedOutput -StartTime $StartTime -EndTime $EndTime - - $startEvents = @{} +# This commandlet gets all events for the "Microsoft.Authorization" resource provider by calling the "Get-AzureRMResourceProviderLog" commandlet + +function Get-AzureRMAuthorizationChangeLog { + [CmdletBinding()] + param( + [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage = "The start time. Optional + If both StartTime and EndTime are not provided, defaults to querying for the past 1 hour. Maximum allowed difference in StartTime and EndTime is 15 days")] + [DateTime] $StartTime, + + [parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, HelpMessage = "The end time. Optional. + If both StartTime and EndTime are not provided, defaults to querying for the past 1 hour. Maximum allowed difference in StartTime and EndTime is 15 days")] + [DateTime] $EndTime + ) + PROCESS { + # Get all events for the "Microsoft.Authorization" provider by calling the Insights commandlet + $events = Get-AzureRMResourceProviderLog -ResourceProvider "Microsoft.Authorization" -DetailedOutput -StartTime $StartTime -EndTime $EndTime + + $startEvents = @{} $endEvents = @{} $offlineEvents = @() - # StartEvents and EndEvents will contain matching pairs of logs for when role assignments (and definitions) were created or deleted. - # i.e. A PUT on roleassignments will have a Start-End event combination and a DELETE on roleassignments will have another Start-End event combination - $startEvents = $events | ? { $_.httpRequest -and $_.Status -ieq "Started" } - $events | ? { $_.httpRequest -and $_.Status -ne "Started" } | % { $endEvents[$_.OperationId] = $_ } - # This filters non-RBAC events like classic administrator write or delete - $events | ? { $_.httpRequest -eq $null } | % { $offlineEvents += $_ } + # StartEvents and EndEvents will contain matching pairs of logs for when role assignments (and definitions) were created or deleted. + # i.e. A PUT on roleassignments will have a Start-End event combination and a DELETE on roleassignments will have another Start-End event combination + $startEvents = $events | ? { $_.httpRequest -and $_.Status -ieq "Started" } + $events | ? { $_.httpRequest -and $_.Status -ne "Started" } | % { $endEvents[$_.OperationId] = $_ } + # This filters non-RBAC events like classic administrator write or delete + $events | ? { $_.httpRequest -eq $null } | % { $offlineEvents += $_ } $output = @() - # Get all role definitions once from the service and cache to use for all 'startevents' - $azureRoleDefinitionCache = @{} - Get-AzureRoleDefinition | % { $azureRoleDefinitionCache[$_.Id] = $_ } + # Get all role definitions once from the service and cache to use for all 'startevents' + $azureRoleDefinitionCache = @{} + Get-AzureRMRoleDefinition | % { $azureRoleDefinitionCache[$_.Id] = $_ } - $principalDetailsCache = @{} + $principalDetailsCache = @{} - # Process StartEvents - # Find matching EndEvents that succeeded and relating to role assignments only - $startEvents | ? { $endEvents.ContainsKey($_.OperationId) ` - -and $endEvents[$_.OperationId] -ne $null ` - -and $endevents[$_.OperationId].OperationName.StartsWith("Microsoft.Authorization/roleAssignments", [System.StringComparison]::OrdinalIgnoreCase) ` - -and $endEvents[$_.OperationId].Status -ieq "Succeeded"} | % { + # Process StartEvents + # Find matching EndEvents that succeeded and relating to role assignments only + $startEvents | ? { $endEvents.ContainsKey($_.OperationId) ` + -and $endEvents[$_.OperationId] -ne $null ` + -and $endevents[$_.OperationId].OperationName.StartsWith("Microsoft.Authorization/roleAssignments", [System.StringComparison]::OrdinalIgnoreCase) ` + -and $endEvents[$_.OperationId].Status -ieq "Succeeded"} | % { - $endEvent = $endEvents[$_.OperationId]; - + $endEvent = $endEvents[$_.OperationId]; + # Create the output structure $out = "" | select Timestamp, Caller, Action, PrincipalId, PrincipalName, PrincipalType, Scope, ScopeName, ScopeType, RoleDefinitionId, RoleName - $out.Timestamp = $endEvent.EventTimestamp + + $out.Timestamp = Get-Date -Date $endEvent.EventTimestamp -Format u $out.Caller = $_.Caller if ($_.HttpRequest.Method -ieq "PUT") { $out.Action = "Granted" if ($_.Properties.Content.ContainsKey("requestbody")) { $messageBody = ConvertFrom-Json $_.Properties.Content["requestbody"] } - - $out.Scope = $_.Authorization.Scope + + $out.Scope = $_.Authorization.Scope } - elseif ($_.HttpRequest.Method -ieq "DELETE") { + elseif ($_.HttpRequest.Method -ieq "DELETE") { $out.Action = "Revoked" if ($endEvent.Properties.Content.ContainsKey("responseBody")) { $messageBody = ConvertFrom-Json $endEvent.Properties.Content["responseBody"] } } - if ($messageBody) { - - $out.PrincipalId = $messageBody.properties.principalId - if ($out.PrincipalId -ne $null) { - $principalDetails = Get-PrincipalDetails $out.PrincipalId ([REF]$principalDetailsCache) - $out.PrincipalName = $principalDetails.Name + if ($messageBody) { + # Process principal details + $out.PrincipalId = $messageBody.properties.principalId + if ($out.PrincipalId -ne $null) { + # Get principal details by querying Graph. Cache principal details and read from cache if present + $principalId = $out.PrincipalId + + if($principalDetailsCache.ContainsKey($principalId)) { + # Found in cache + $principalDetails = $principalDetailsCache[$principalId] + } else { # not in cache + $principalDetails = "" | select Name, Type + $user = Get-AzureRMADUser -ObjectId $principalId + if ($user) { + $principalDetails.Name = $user.DisplayName + $principalDetails.Type = "User" + } else { + $group = Get-AzureRMADGroup -ObjectId $principalId + if ($group) { + $principalDetails.Name = $group.DisplayName + $principalDetails.Type = "Group" + } else { + $servicePrincipal = Get-AzureRMADServicePrincipal -objectId $principalId + if ($servicePrincipal) { + $principalDetails.Name = $servicePrincipal.DisplayName + $principalDetails.Type = "Service Principal" + } + } + } + # add principal details to cache + $principalDetailsCache.Add($principalId, $principalDetails); + } + + $out.PrincipalName = $principalDetails.Name $out.PrincipalType = $principalDetails.Type } - if ([string]::IsNullOrEmpty($out.Scope)) { $out.Scope = $messageBody.properties.Scope } - if ($out.Scope -ne $null) { - $resourceDetails = Get-ResourceDetails $out.Scope - $out.ScopeName = $resourceDetails.Name + # Process scope details + if ([string]::IsNullOrEmpty($out.Scope)) { $out.Scope = $messageBody.properties.Scope } + if ($out.Scope -ne $null) { + # Remove the authorization provider details from the scope, if present + if ($out.Scope.ToLower().Contains("/providers/microsoft.authorization")) { + $index = $out.Scope.ToLower().IndexOf("/providers/microsoft.authorization") + $out.Scope = $out.Scope.Substring(0, $index) + } + + $scope = $out.Scope + $resourceDetails = "" | select Name, Type + $scopeParts = $scope.Split('/', [System.StringSplitOptions]::RemoveEmptyEntries) + $len = $scopeParts.Length + + if ($len -gt 0 -and $len -le 2 -and $scope.ToLower().Contains("subscriptions")) { + $resourceDetails.Type = "Subscription" + $resourceDetails.Name = $scopeParts[1] + } elseif ($len -gt 0 -and $len -le 4 -and $scope.ToLower().Contains("resourcegroups")) { + $resourceDetails.Type = "Resource Group" + $resourceDetails.Name = $scopeParts[3] + } elseif ($len -ge 6 -and $scope.ToLower().Contains("providers")) { + $resourceDetails.Type = "Resource" + $resourceDetails.Name = $scopeParts[$len -1] + } + + $out.ScopeName = $resourceDetails.Name $out.ScopeType = $resourceDetails.Type - } + } + # Process Role definition details $out.RoleDefinitionId = $messageBody.properties.roleDefinitionId - if ($out.RoleDefinitionId -ne $null) { - if ($azureRoleDefinitionCache[$out.RoleDefinitionId]) { - $out.RoleName = $azureRoleDefinitionCache[$out.RoleDefinitionId].Name - } else { - $out.RoleName = "" + if ($out.RoleDefinitionId -ne $null) { + if ($azureRoleDefinitionCache[$out.RoleDefinitionId]) { + $out.RoleName = $azureRoleDefinitionCache[$out.RoleDefinitionId].Name + } else { + $out.RoleName = "" } - } - } + } + } $output += $out } # start event processing complete @@ -123,90 +175,34 @@ function Get-AzureAuthorizationChangeLog { $offlineEvents | % { if($_.Status -ne $null -and $_.Status -ieq "Succeeded" -and $_.OperationName -ne $null -and $_.operationName.StartsWith("Microsoft.Authorization/ClassicAdministrators", [System.StringComparison]::OrdinalIgnoreCase)) { - $out = "" | select Timestamp, Caller, Action, PrincipalId, PrincipalName, PrincipalType, Scope, ScopeName, ScopeType, RoleDefinitionId, RoleName - $out.Timestamp = $_.EventTimestamp + $out = "" | select Timestamp, Caller, Action, PrincipalId, PrincipalName, PrincipalType, Scope, ScopeName, ScopeType, RoleDefinitionId, RoleName + $out.Timestamp = Get-Date -Date $_.EventTimestamp -Format u $out.Caller = "Subscription Admin" - if($_.operationName -ieq "Microsoft.Authorization/ClassicAdministrators/write"){ - $out.Action = "Granted" - } - elseif($_.operationName -ieq "Microsoft.Authorization/ClassicAdministrators/delete"){ - $out.Action = "Revoked" - } - - $out.RoleDefinitionId = $null - $out.PrincipalId = $null - $out.PrincipalType = "User" - $out.Scope = "/subscriptions/" + $_.SubscriptionId - $out.ScopeType = "Subscription" - $out.ScopeName = $_.SubscriptionId + if($_.operationName -ieq "Microsoft.Authorization/ClassicAdministrators/write"){ + $out.Action = "Granted" + } + elseif($_.operationName -ieq "Microsoft.Authorization/ClassicAdministrators/delete"){ + $out.Action = "Revoked" + } + + $out.RoleDefinitionId = $null + $out.PrincipalId = $null + $out.PrincipalType = "User" + $out.Scope = "/subscriptions/" + $_.SubscriptionId + $out.ScopeType = "Subscription" + $out.ScopeName = $_.SubscriptionId - if($_.Properties -ne $null){ - $out.PrincipalName = $_.Properties.Content["adminEmail"] - $out.RoleName = "Classic " + $_.Properties.Content["adminType"] - } - - $output += $out + if($_.Properties -ne $null){ + $out.PrincipalName = $_.Properties.Content["adminEmail"] + $out.RoleName = "Classic " + $_.Properties.Content["adminType"] + } + + $output += $out } } # end offline events - $output | Sort Timestamp + $output | Sort Timestamp } } # End commandlet - -# Helper functions -# Resolve a principal. If the principal's object id was encountered in the principals resolved so far, return principalDetails from the cache. -# Else make a Grpah call and add that principal to cache of known principals -function Get-PrincipalDetails($principalId, [REF]$principalDetailsCache) -{ - if($principalDetailsCache.Value.ContainsKey($principalId)) { - return $principalDetailsCache.Value[$principalId] - } - - $principalDetails = "" | select Name, Type - $user = Get-AzureADUser -ObjectId $principalId - if ($user) { - $principalDetails.Name = $user.DisplayName - $principalDetails.Type = "User" - } else { - $group = Get-AzureADGroup -ObjectId $principalId - if ($group) { - $principalDetails.Name = $group.DisplayName - $principalDetails.Type = "Group" - } else { - $servicePrincipal = Get-AzureADServicePrincipal -objectId $principalId - if ($servicePrincipal) { - $principalDetails.Name = $servicePrincipal.DisplayName - $principalDetails.Type = "Service Principal" - } - } - } - - $principalDetailsCache.Value.Add($principalId, $principalDetails); - - $principalDetails -} - -# Get resource details from scope -function Get-ResourceDetails($scope) -{ - $resourceDetails = "" | select Name, Type - $scopeParts = $scope.Split('/', [System.StringSplitOptions]::RemoveEmptyEntries) - $len = $scopeParts.Length - - if ($len -gt 0 -and $len -le 2 -and $scope.ToLower().Contains("subscriptions")) { - $resourceDetails.Type = "Subscription" - $resourceDetails.Name = $scopeParts[1] - } - elseif ($len -gt 0 -and $len -le 4 -and $scope.ToLower().Contains("resourcegroups")) { - $resourceDetails.Type = "Resource Group" - $resourceDetails.Name = $scopeParts[3] - } - elseif ($len -ge 6 -and $scope.ToLower().Contains("providers")) { - $resourceDetails.Type = "Resource" - $resourceDetails.Name = $scopeParts[$len -1] - } - - $resourceDetails -} diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/GetAzureRoleAssignmentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/GetAzureRoleAssignmentCommand.cs index 405eac9b2c9d..4d64f5b3bf94 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/GetAzureRoleAssignmentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/GetAzureRoleAssignmentCommand.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Filters role assignments /// - [Cmdlet(VerbsCommon.Get, "AzureRoleAssignment", DefaultParameterSetName = ParameterSet.Empty), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMRoleAssignment", DefaultParameterSetName = ParameterSet.Empty), OutputType(typeof(List))] public class GetAzureRoleAssignmentCommand : ResourcesBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ObjectId, @@ -192,7 +192,57 @@ public class GetAzureRoleAssignmentCommand : ResourcesBaseCmdlet [ValidateNotNullOrEmpty] public string Scope { get; set; } - public override void ExecuteCmdlet() + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.Mail, + HelpMessage = "If specified, returns role assignments directly assigned to the principal as well as assignments to the principal's groups (transitive). Supported only for User Principals.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ObjectId, + HelpMessage = "If specified, returns role assignments directly assigned to the principal as well as assignments to the principal's groups (transitive). Supported only for User Principals.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.UPN, + HelpMessage = "If specified, returns role assignments directly assigned to the principal as well as assignments to the principal's groups (transitive). Supported only for User Principals.")] + public SwitchParameter ExpandPrincipalGroups { get; set; } + + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.Empty, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.Mail, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ObjectId, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.UPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.SPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.Scope, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ScopeWithMail, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ScopeWithObjectId, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ScopeWithUPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ScopeWithSPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceGroup, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceGroupWithMail, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceGroupWithObjectId, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceGroupWithUPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceGroupWithSPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.Resource, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceWithMail, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceWithObjectId, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceWithUPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + [Parameter(Mandatory = false, ParameterSetName = ParameterSet.ResourceWithSPN, + HelpMessage = "If specified, also returns the subscription classic administrators as role assignments.")] + public SwitchParameter IncludeClassicAdministrators { get; set; } + + protected override void ProcessRecord() { FilterRoleAssignmentsOptions options = new FilterRoleAssignmentsOptions() { @@ -211,11 +261,14 @@ public override void ExecuteCmdlet() ResourceGroupName = ResourceGroupName, ResourceName = ResourceName, ResourceType = ResourceType, - Subscription = string.IsNullOrEmpty(ResourceGroupName) ? null : Profile.Context.Subscription.Id.ToString() - } + Subscription = string.IsNullOrEmpty(ResourceGroupName) ? null : DefaultProfile.Context.Subscription.Id.ToString() + }, + ExpandPrincipalGroups = ExpandPrincipalGroups.IsPresent, + IncludeClassicAdministrators = IncludeClassicAdministrators.IsPresent, + ExcludeAssignmentsForDeletedPrincipals = true }; - WriteObject(PoliciesClient.FilterRoleAssignments(options), true); + WriteObject(PoliciesClient.FilterRoleAssignments(options, DefaultProfile.Context.Subscription.Id.ToString()), enumerateCollection: true); } } } \ No newline at end of file diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/NewAzureRoleAssignmentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/NewAzureRoleAssignmentCommand.cs index 7c143c829e13..0dff5003ac58 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/NewAzureRoleAssignmentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/NewAzureRoleAssignmentCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Creates new role assignment. /// - [Cmdlet(VerbsCommon.New, "AzureRoleAssignment"), OutputType(typeof(PSRoleAssignment))] + [Cmdlet(VerbsCommon.New, "AzureRMRoleAssignment"), OutputType(typeof(PSRoleAssignment))] public class NewAzureRoleAssignmentCommand : ResourcesBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithObjectId, @@ -140,7 +140,7 @@ public class NewAzureRoleAssignmentCommand : ResourcesBaseCmdlet [ValidateNotNullOrEmpty] public string RoleDefinitionName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { FilterRoleAssignmentsOptions parameters = new FilterRoleAssignmentsOptions() { @@ -159,7 +159,7 @@ public override void ExecuteCmdlet() ResourceGroupName = ResourceGroupName, ResourceName = ResourceName, ResourceType = ResourceType, - Subscription = Profile.Context.Subscription.Id.ToString(), + Subscription = DefaultProfile.Context.Subscription.Id.ToString(), } }; diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/RemoveAzureRoleAssignmentCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/RemoveAzureRoleAssignmentCommand.cs index bb5cd63d03c7..4ae3c30d6fd2 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/RemoveAzureRoleAssignmentCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleAssignments/RemoveAzureRoleAssignmentCommand.cs @@ -25,113 +25,75 @@ namespace Microsoft.Azure.Commands.Resources /// /// Removes a given role assignment. /// - [Cmdlet(VerbsCommon.Remove, "AzureRoleAssignment", DefaultParameterSetName = ParameterSet.Empty), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Remove, "AzureRMRoleAssignment", DefaultParameterSetName = ParameterSet.Empty), OutputType(typeof(List))] public class RemoveAzureRoleAssignmentCommand : ResourcesBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, HelpMessage = "The user or group object id")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithObjectId, - HelpMessage = "The user or group object id.")] [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, HelpMessage = "The user or group object id.")] [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithObjectId, HelpMessage = "The user or group object id.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ObjectId, - HelpMessage = "The user or group object id.")] [ValidateNotNullOrEmpty] [Alias("Id", "PrincipalId")] public Guid ObjectId { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, - HelpMessage = "The user or group email address.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithMail, - HelpMessage = "The user or group email address.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, - HelpMessage = "The user or group email address.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithMail, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, HelpMessage = "The user or group email address.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Mail, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithMail, HelpMessage = "The user or group email address.")] [ValidateNotNullOrEmpty] public string Mail { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, - HelpMessage = "The user UPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithUPN, - HelpMessage = "The user UPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, - HelpMessage = "The user UPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithUPN, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, HelpMessage = "The user UPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.UPN, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithUPN, HelpMessage = "The user UPN.")] [ValidateNotNullOrEmpty] [Alias("UPN")] public string UserPrincipalName { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, - HelpMessage = "The app SPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithSPN, - HelpMessage = "The app SPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, - HelpMessage = "The app SPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithSPN, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, HelpMessage = "The app SPN.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.SPN, + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithSPN, HelpMessage = "The app SPN.")] [ValidateNotNullOrEmpty] [Alias("SPN")] public string ServicePrincipalName { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, - HelpMessage = "Resource group to assign the role to.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithObjectId, - HelpMessage = "Resource group to assign the role to.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, HelpMessage = "Resource group to assign the role to.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithMail, - HelpMessage = "Resource group to assign the role to.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, HelpMessage = "Resource group to assign the role to.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithUPN, - HelpMessage = "Resource group to assign the role to.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, HelpMessage = "Resource group to assign the role to.")] - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceGroupWithSPN, - HelpMessage = "Resource group to assign the role to.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, HelpMessage = "Resource group to assign the role to.")] [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Resource, - HelpMessage = "Resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, HelpMessage = "Resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, HelpMessage = "Resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, HelpMessage = "Resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, HelpMessage = "Resource to assign the role to.")] [ValidateNotNullOrEmpty] public string ResourceName { get; set; } - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Resource, - HelpMessage = "Type of the resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, HelpMessage = "Type of the resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, HelpMessage = "Type of the resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithUPN, HelpMessage = "Type of the resource to assign the role to.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithSPN, HelpMessage = "Type of the resource to assign the role to.")] [ValidateNotNullOrEmpty] public string ResourceType { get; set; } - [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Resource, - HelpMessage = "Parent resource of the resource to assign the role to, if there is any.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithObjectId, HelpMessage = "Parent resource of the resource to assign the role to, if there is any.")] [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ResourceWithMail, @@ -143,10 +105,8 @@ public class RemoveAzureRoleAssignmentCommand : ResourcesBaseCmdlet [ValidateNotNullOrEmpty] public string ParentResource { get; set; } - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, HelpMessage = "Role to assign the principals with.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Scope, - HelpMessage = "Scope of the role assignment. In the format of relative URI. If not specified, will assign the role at subscription level. If specified, it can either start with \"/subscriptions/\" or the part after that. If it's latter, the current subscription id will be used.")] [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithObjectId, HelpMessage = "Scope of the role assignment. In the format of relative URI. If not specified, will assign the role at subscription level. If specified, it can either start with \"/subscriptions/\" or the part after that. If it's latter, the current subscription id will be used.")] [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.ScopeWithMail, @@ -158,9 +118,7 @@ public class RemoveAzureRoleAssignmentCommand : ResourcesBaseCmdlet [ValidateNotNullOrEmpty] public string Scope { get; set; } - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ParameterSet.Empty, - HelpMessage = "Role to assign the principals with.")] - [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Role to assign the principals with.")] + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Role the principal is assigned to.")] [ValidateNotNullOrEmpty] public string RoleDefinitionName { get; set; } @@ -170,7 +128,7 @@ public class RemoveAzureRoleAssignmentCommand : ResourcesBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PSRoleAssignment roleAssignment = null; FilterRoleAssignmentsOptions options = new FilterRoleAssignmentsOptions() @@ -190,8 +148,9 @@ public override void ExecuteCmdlet() ResourceGroupName = ResourceGroupName, ResourceName = ResourceName, ResourceType = ResourceType, - Subscription = Profile.Context.Subscription.Id.ToString() - } + Subscription = DefaultProfile.Context.Subscription.Id.ToString() + }, + ExcludeAssignmentsForDeletedPrincipals = false }; ConfirmAction( diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/GetAzureRoleDefinitionCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/GetAzureRoleDefinitionCommand.cs index ff944a5cf3b9..6e6652abb8fb 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/GetAzureRoleDefinitionCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/GetAzureRoleDefinitionCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Get the available role Definitions for certain resource types. /// - [Cmdlet(VerbsCommon.Get, "AzureRoleDefinition"), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMRoleDefinition"), OutputType(typeof(List))] public class GetAzureRoleDefinitionCommand : ResourcesBaseCmdlet { [Parameter(Position = 0, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Optional. The name of the role Definition.")] @@ -32,7 +32,7 @@ public class GetAzureRoleDefinitionCommand : ResourcesBaseCmdlet [Parameter(Mandatory=false)] public SwitchParameter Custom { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (Custom.IsPresent) { diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/NewAzureRoleDefinitionCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/NewAzureRoleDefinitionCommand.cs index cd27da7940da..602a766950ee 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/NewAzureRoleDefinitionCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/NewAzureRoleDefinitionCommand.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Creates a new role definition. /// - [Cmdlet(VerbsCommon.New, "AzureRoleDefinition"), OutputType(typeof(PSRoleDefinition))] + [Cmdlet(VerbsCommon.New, "AzureRMRoleDefinition"), OutputType(typeof(PSRoleDefinition))] public class NewAzureRoleDefinitionCommand : ResourcesBaseCmdlet { [ValidateNotNullOrEmpty] @@ -36,7 +36,7 @@ public class NewAzureRoleDefinitionCommand : ResourcesBaseCmdlet [Parameter(Position = 0, Mandatory = true, ParameterSetName = ParameterSet.RoleDefinition, HelpMessage = "Role definition.")] public PSRoleDefinition Role { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PSRoleDefinition role = null; if (!string.IsNullOrEmpty(InputFile)) diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/RemoveAzureRoleDefinitionCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/RemoveAzureRoleDefinitionCommand.cs index e819b38e07ed..9b393df9d74f 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/RemoveAzureRoleDefinitionCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/RemoveAzureRoleDefinitionCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Deletes a given role definition. /// - [Cmdlet(VerbsCommon.Remove, "AzureRoleDefinition"), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMRoleDefinition"), OutputType(typeof(bool))] public class RemoveAzureRoleDefinitionCommand : ResourcesBaseCmdlet { [ValidateNotNullOrEmpty] @@ -35,7 +35,7 @@ public class RemoveAzureRoleDefinitionCommand : ResourcesBaseCmdlet [Parameter(Mandatory = false)] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PSRoleDefinition roleDefinition = null; diff --git a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/SetAzureRoleDefinitionCommand.cs b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/SetAzureRoleDefinitionCommand.cs index 68d844af9dfc..8ca50a1c7ba5 100644 --- a/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/SetAzureRoleDefinitionCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/RoleDefinitions/SetAzureRoleDefinitionCommand.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.Resources /// /// Updates an existing role definition. /// - [Cmdlet(VerbsCommon.Set, "AzureRoleDefinition"), OutputType(typeof(PSRoleDefinition))] + [Cmdlet(VerbsCommon.Set, "AzureRMRoleDefinition"), OutputType(typeof(PSRoleDefinition))] public class SetAzureRoleDefinitionCommand : ResourcesBaseCmdlet { [ValidateNotNullOrEmpty] @@ -36,7 +36,7 @@ public class SetAzureRoleDefinitionCommand : ResourcesBaseCmdlet [Parameter(Mandatory = true, ValueFromPipeline = true, ParameterSetName = ParameterSet.RoleDefinition, HelpMessage = "Role definition.")] public PSRoleDefinition Role { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PSRoleDefinition role = null; if (!string.IsNullOrEmpty(InputFile)) diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs deleted file mode 100644 index 54fdb43e08f3..000000000000 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/GetAzureResourceGroupGalleryTemplateCommand.cs +++ /dev/null @@ -1,90 +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.Linq; -using System.Management.Automation; -using Microsoft.Azure.Commands.Resources.Models; - -namespace Microsoft.Azure.Commands.Resources.Templates -{ - /// - /// Get one template or a list of templates from the gallery. - /// - [Cmdlet(VerbsCommon.Get, "AzureResourceGroupGalleryTemplate", DefaultParameterSetName = BaseParameterSetName), OutputType(typeof(List))] - public class GetAzureResourceGroupGalleryTemplateCommand : ResourcesBaseCmdlet - { - internal const string BaseParameterSetName = "List gallery templates"; - internal const string ParameterSetNameWithIdentity = "Get a single gallery template"; - - [Parameter(Position = 0, ParameterSetName = ParameterSetNameWithIdentity, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Optional. Name of the template.")] - [ValidateNotNullOrEmpty] - public string Identity { get; set; } - - [Parameter(Position = 1, ParameterSetName = BaseParameterSetName, Mandatory = false, HelpMessage = "Optional. Publisher of the template.")] - [ValidateNotNullOrEmpty] - public string Publisher { get; set; } - - [Parameter(Position = 2, ParameterSetName = BaseParameterSetName, Mandatory = false, HelpMessage = "Optional. Category of the template.")] - [ValidateNotNullOrEmpty] - public string Category { get; set; } - - [Parameter(Position = 3, ParameterSetName = BaseParameterSetName, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Optional. Name of the application.")] - [ValidateNotNullOrEmpty] - public string ApplicationName { get; set; } - - [Parameter(Position = 4, ParameterSetName = BaseParameterSetName, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Optional. Include all versions.")] - public SwitchParameter AllVersions { get; set; } - - public override void ExecuteCmdlet() - { - FilterGalleryTemplatesOptions options = new FilterGalleryTemplatesOptions() - { - Category = Category, - Identity = Identity, - Publisher = Publisher, - ApplicationName = ApplicationName, - AllVersions = AllVersions - }; - - if (Category == null && Identity == null && Publisher == null && ApplicationName == null) - { - // if there are no filter parameters, return everything - options.AllVersions = true; - } - - List galleryItems = GalleryTemplatesClient.FilterGalleryTemplates(options); - - if (galleryItems != null) - { - if (galleryItems.Count == 1 && !string.IsNullOrEmpty(Identity)) - { - WriteObject(galleryItems[0]); - } - else - { - List output = new List(); - galleryItems.Where(gi => !gi.Identity.EndsWith("-placeholder")) - .OrderBy(gi => gi.Identity) - .ToList() - .ForEach(gi => output.Add(base.ConstructPSObject( - null, - "Publisher", gi.Publisher, - "Identity", gi.Identity))); - WriteObject(output, true); - } - } - } - } -} diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs deleted file mode 100644 index b16092d8d93f..000000000000 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/SaveAzureResourceGroupGalleryTemplateCommand.cs +++ /dev/null @@ -1,48 +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.WindowsAzure.Commands.Utilities.Common; -using Microsoft.Azure.Commands.Resources.Models; - -namespace Microsoft.Azure.Commands.Resources.Templates -{ - /// - /// Downloads a template file to the disk. - /// - [Cmdlet(VerbsData.Save, "AzureResourceGroupGalleryTemplate"), OutputType(typeof(PSObject))] - public class SaveAzureResourceGroupGalleryTemplateCommand : ResourcesBaseCmdlet - { - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The gallery template identity.")] - [ValidateNotNullOrEmpty] - public string Identity { get; set; } - - [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The output path of the file.")] - [ValidateNotNullOrEmpty] - public string Path { get; set; } - - [Parameter(Position = 2, Mandatory = false, HelpMessage = "Do not ask for confirmation.")] - public SwitchParameter Force { get; set; } - - public override void ExecuteCmdlet() - { - string path = GalleryTemplatesClient.DownloadGalleryTemplateFile( - Identity, - string.IsNullOrEmpty(Path) ? System.IO.Path.Combine(CurrentPath(), Identity) : this.TryResolvePath(Path), - Force, - ConfirmAction); - WriteObject(PowerShellUtilities.ConstructPSObject(null, "Path", path)); - } - } -} diff --git a/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs b/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs index 7b9b658e11d1..5980a111815c 100644 --- a/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs +++ b/src/ResourceManager/Resources/Commands.Resources/Templates/TestAzureResourceGroupTemplateCommand.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.Resources.ResourceGroupDeployments /// /// Validate a template to see whether it's using the right syntax, resource providers, resource types, etc. /// - [Cmdlet(VerbsDiagnostic.Test, "AzureResourceGroupTemplate", DefaultParameterSetName = ParameterlessTemplateFileParameterSetName), OutputType(typeof(List))] + [Cmdlet(VerbsDiagnostic.Test, "AzureRMResourceGroupTemplate", DefaultParameterSetName = ParameterlessTemplateFileParameterSetName), OutputType(typeof(List))] public class TestAzureResourceGroupTemplateCommand : ResourceWithParameterBaseCmdlet, IDynamicParameters { [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource group name.")] @@ -38,9 +38,13 @@ public TestAzureResourceGroupTemplateCommand() this.Mode = DeploymentMode.Incremental; } - public override void ExecuteCmdlet() + 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/Resources/Commands.Resources/packages.config b/src/ResourceManager/Resources/Commands.Resources/packages.config index 054f506a17b6..2c57e0a9465d 100644 --- a/src/ResourceManager/Resources/Commands.Resources/packages.config +++ b/src/ResourceManager/Resources/Commands.Resources/packages.config @@ -2,11 +2,11 @@ - + - + diff --git a/src/ResourceManager/SiteRecovery/AzureRM.SiteRecovery.psd1 b/src/ResourceManager/SiteRecovery/AzureRM.SiteRecovery.psd1 new file mode 100644 index 000000000000..6fc92ea2d645 --- /dev/null +++ b/src/ResourceManager/SiteRecovery/AzureRM.SiteRecovery.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.SiteRecovery' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'd1de7560-48e1-48f3-bc8c-4eea3af2bbe1' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - SiteRecovery' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.SiteRecovery.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 79d82ace197a..ab06dba64c3a 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery.Test/Commands.SiteRecovery.Test.csproj @@ -1,5 +1,6 @@  + Debug @@ -13,6 +14,7 @@ 512 ..\..\..\ true + 0df6d68c true @@ -33,8 +35,8 @@ - False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Management.SiteRecovery.0.1.1-preview\lib\net40\Microsoft.Azure.Management.SiteRecovery.dll @@ -54,10 +56,10 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -91,10 +93,6 @@ ..\..\..\packages\Microsoft.WindowsAzure.Management.Scheduler.6.2.0\lib\net40\Microsoft.WindowsAzure.Management.Scheduler.dll True - - False - ..\..\..\packages\Hydra.SpecTestSupport.1.0.5417.13285-prerelease\lib\net45\Microsoft.WindowsAzure.Testing.dll - ..\..\..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll @@ -122,11 +120,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -159,13 +158,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 {7c879645-31ee-4a78-ad81-5512300fa104} @@ -183,6 +182,7 @@ + - Get-AzureSiteRecoveryServer + Get-AzureRMSiteRecoveryServer Name @@ -40,7 +40,7 @@ - Get-AzureSiteRecoveryServer + Get-AzureRMSiteRecoveryServer FriendlyName @@ -156,7 +156,7 @@ PS C:\> - Get-AzureSiteRecoveryServer + Get-AzureRMSiteRecoveryServer FriendlyName : sriramvu-hv2.fareast.corp.microsoft.com Name : 57f95c35-6c83-42ce-bb21-2c4f10f92d8e diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionContainer/GetAzureSiteRecoveryProtectionContainer.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionContainer/GetAzureSiteRecoveryProtectionContainer.cs index e733a363b6e4..14483c66ca70 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionContainer/GetAzureSiteRecoveryProtectionContainer.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionContainer/GetAzureSiteRecoveryProtectionContainer.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Protection Container. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryProtectionContainer", DefaultParameterSetName = ASRParameterSets.Default)] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryProtectionContainer", DefaultParameterSetName = ASRParameterSets.Default)] [OutputType(typeof(IEnumerable))] public class GetAzureSiteRecoveryProtectionContainer : SiteRecoveryCmdletBase { @@ -47,7 +47,7 @@ public class GetAzureSiteRecoveryProtectionContainer : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/GetAzureSiteRecoveryProtectionEntity.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/GetAzureSiteRecoveryProtectionEntity.cs index 282d3f34dc93..b6b6f1835648 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/GetAzureSiteRecoveryProtectionEntity.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/GetAzureSiteRecoveryProtectionEntity.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Protection Entity. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryProtectionEntity", DefaultParameterSetName = ASRParameterSets.ByObject)] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryProtectionEntity", DefaultParameterSetName = ASRParameterSets.ByObject)] [OutputType(typeof(IEnumerable))] public class GetAzureSiteRecoveryProtectionEntity : SiteRecoveryCmdletBase { @@ -56,7 +56,7 @@ public class GetAzureSiteRecoveryProtectionEntity : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/SetAzureSiteRecoveryProtectionEntity.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/SetAzureSiteRecoveryProtectionEntity.cs index 850f7ad634bc..f88822e8aae0 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/SetAzureSiteRecoveryProtectionEntity.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/SetAzureSiteRecoveryProtectionEntity.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Set Protection Entity protection state. /// - [Cmdlet(VerbsCommon.Set, "AzureSiteRecoveryProtectionEntity", DefaultParameterSetName = ASRParameterSets.EnterpriseToEnterprise, SupportsShouldProcess = true)] + [Cmdlet(VerbsCommon.Set, "AzureRMSiteRecoveryProtectionEntity", DefaultParameterSetName = ASRParameterSets.EnterpriseToEnterprise, SupportsShouldProcess = true)] [OutputType(typeof(ASRJob))] public class SetAzureSiteRecoveryProtectionEntity : SiteRecoveryCmdletBase { @@ -90,7 +90,7 @@ public class SetAzureSiteRecoveryProtectionEntity : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.targetNameOrId = this.ProtectionEntity.FriendlyName; this.ConfirmAction( diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryCommitFailoverJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryCommitFailoverJob.cs index b99130a7f375..36d96217b91d 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryCommitFailoverJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryCommitFailoverJob.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a commit operation. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryCommitFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryCommitFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryCommitFailoverJob : SiteRecoveryCmdletBase { @@ -58,7 +58,7 @@ public class StartAzureSiteRecoveryCommitFailoverJob : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryPlannedFailoverJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryPlannedFailoverJob.cs index 43af664ecc9e..aad7756efd16 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryPlannedFailoverJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryPlannedFailoverJob.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a failover operation. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryPlannedFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryPlannedFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryPlannedFailoverJob : SiteRecoveryCmdletBase { @@ -67,7 +67,7 @@ public class StartAzureSiteRecoveryPlannedFailoverJob : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryTestFailoverJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryTestFailoverJob.cs index 4eb2ce8a3ab7..b38f86018bad 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryTestFailoverJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryTestFailoverJob.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a commit operation. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryTestFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryTestFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryTestFailoverJob : SiteRecoveryCmdletBase { @@ -60,7 +60,7 @@ public class StartAzureSiteRecoveryTestFailoverJob : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryUnPlannedFailoverJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryUnPlannedFailoverJob.cs index 1e4dab170dd2..c250b90fb91f 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryUnPlannedFailoverJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/StartAzureSiteRecoveryUnPlannedFailoverJob.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a failover operation. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryUnplannedFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryUnplannedFailoverJob", DefaultParameterSetName = ASRParameterSets.ByPEObject)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryUnplannedFailoverJob : SiteRecoveryCmdletBase { @@ -67,7 +67,7 @@ public class StartAzureSiteRecoveryUnplannedFailoverJob : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/UpdateAzureSiteRecoveryProtectionDirection.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/UpdateAzureSiteRecoveryProtectionDirection.cs index 7a55da8cf0c5..706a35f8592c 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/UpdateAzureSiteRecoveryProtectionDirection.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionEntity/UpdateAzureSiteRecoveryProtectionDirection.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a recovery protection operation. /// - [Cmdlet(VerbsData.Update, "AzureSiteRecoveryProtectionDirection", DefaultParameterSetName = ASRParameterSets.ByPEObject)] + [Cmdlet(VerbsData.Update, "AzureRMSiteRecoveryProtectionDirection", DefaultParameterSetName = ASRParameterSets.ByPEObject)] [OutputType(typeof(ASRJob))] public class UpdateAzureSiteRecoveryProtection : SiteRecoveryCmdletBase { @@ -57,7 +57,7 @@ public class UpdateAzureSiteRecoveryProtection : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/GetAzureSiteRecoveryProtectionProfile.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/GetAzureSiteRecoveryProtectionProfile.cs index 91fb9b962935..6408fd3e7b48 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/GetAzureSiteRecoveryProtectionProfile.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/GetAzureSiteRecoveryProtectionProfile.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Server. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryProtectionProfile", DefaultParameterSetName = ASRParameterSets.Default)] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryProtectionProfile", DefaultParameterSetName = ASRParameterSets.Default)] [OutputType(typeof(IEnumerable))] public class GetAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase { @@ -47,7 +47,7 @@ public class GetAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/NewAzureSiteRecoveryProtectionProfile.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/NewAzureSiteRecoveryProtectionProfile.cs index adccc60b8d51..42bdab2ae75b 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/NewAzureSiteRecoveryProtectionProfile.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/NewAzureSiteRecoveryProtectionProfile.cs @@ -17,7 +17,6 @@ using System.Management.Automation; using Microsoft.Azure.Management.SiteRecovery.Models; using Microsoft.Azure.Portal.RecoveryServices.Models.Common; -using Microsoft.WindowsAzure.Commands.Common.Properties; using Properties = Microsoft.Azure.Commands.SiteRecovery.Properties; namespace Microsoft.Azure.Commands.SiteRecovery @@ -25,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Creates Azure Site Recovery Protection Profile object in memory. /// - [Cmdlet(VerbsCommon.New, "AzureSiteRecoveryProtectionProfile", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] + [Cmdlet(VerbsCommon.New, "AzureRMSiteRecoveryProtectionProfile", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] public class NewAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase { /// @@ -158,7 +157,7 @@ public class NewAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/RemoveAzureSiteRecoveryProtectionProfile.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/RemoveAzureSiteRecoveryProtectionProfile.cs index 110444e94cfe..6d4536921383 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/RemoveAzureSiteRecoveryProtectionProfile.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/RemoveAzureSiteRecoveryProtectionProfile.cs @@ -17,7 +17,6 @@ using System.Management.Automation; using Microsoft.Azure.Management.SiteRecovery.Models; using Microsoft.Azure.Portal.RecoveryServices.Models.Common; -using Microsoft.WindowsAzure.Commands.Common.Properties; using Properties = Microsoft.Azure.Commands.SiteRecovery.Properties; namespace Microsoft.Azure.Commands.SiteRecovery @@ -25,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Creates Azure Site Recovery Protection Profile object in memory. /// - [Cmdlet(VerbsCommon.Remove, "AzureSiteRecoveryProtectionProfile")] + [Cmdlet(VerbsCommon.Remove, "AzureRMSiteRecoveryProtectionProfile")] public class RemoveAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase { #region Parameters @@ -41,7 +40,7 @@ public class RemoveAzureSiteRecoveryProtectionProfile : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileAssociationJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileAssociationJob.cs index 7ace2ed55218..1072ff2652c4 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileAssociationJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileAssociationJob.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Adds Azure Site Recovery Protection Profile settings to a Protection Container. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryProtectionProfileAssociationJob", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryProtectionProfileAssociationJob", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryProtectionProfileAssociationJob : SiteRecoveryCmdletBase { @@ -57,7 +57,7 @@ public class StartAzureSiteRecoveryProtectionProfileAssociationJob : SiteRecover /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileDissociationJob.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileDissociationJob.cs index 18c659d9a5ac..ac3aba86d5c3 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileDissociationJob.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/ProtectionProfile/StartAzureSiteRecoveryProtectionProfileDissociationJob.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Adds Azure Site Recovery Protection Profile settings to a Protection Container. /// - [Cmdlet(VerbsLifecycle.Start, "AzureSiteRecoveryProtectionProfileDissociationJob", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] + [Cmdlet(VerbsLifecycle.Start, "AzureRMSiteRecoveryProtectionProfileDissociationJob", DefaultParameterSetName = ASRParameterSets.EnterpriseToAzure)] [OutputType(typeof(ASRJob))] public class StartAzureSiteRecoveryProtectionProfileDissociationJob : SiteRecoveryCmdletBase { @@ -60,7 +60,7 @@ public class StartAzureSiteRecoveryProtectionProfileDissociationJob : SiteRecove /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Server/GetAzureSiteRecoveryServer.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Server/GetAzureSiteRecoveryServer.cs index adeaac994fe0..a850e677f3a7 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Server/GetAzureSiteRecoveryServer.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Server/GetAzureSiteRecoveryServer.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Server. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryServer", DefaultParameterSetName = ASRParameterSets.Default)] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryServer", DefaultParameterSetName = ASRParameterSets.Default)] [OutputType(typeof(IEnumerable))] public class GetAzureSiteRecoveryServer : SiteRecoveryCmdletBase { @@ -47,7 +47,7 @@ public class GetAzureSiteRecoveryServer : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVault.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVault.cs index 9665c0f792f7..3935f3bf060d 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVault.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVault.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Vault. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryVault")] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryVault")] [OutputType(typeof(List))] public class GetAzureSiteRecoveryVaults : SiteRecoveryCmdletBase { @@ -44,7 +44,7 @@ public class GetAzureSiteRecoveryVaults : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettings.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettings.cs index aca434d18ad7..d9c8b7e2e93b 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettings.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettings.cs @@ -23,14 +23,14 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Vault Settings. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryVaultSettings")] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryVaultSettings")] [OutputType(typeof(ASRVaultSettings))] public class GetAzureSiteRecoveryVaultSettings : SiteRecoveryCmdletBase { /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.WriteObject(new ASRVaultSettings( PSRecoveryServicesClient.asrVaultCreds.ResourceName, diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettingsFile.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettingsFile.cs index 34173d261fce..0a3b497098c2 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettingsFile.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/GetAzureSiteRecoveryVaultSettingsFile.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Vault Settings File. /// - [Cmdlet(VerbsCommon.Get, "AzureSiteRecoveryVaultSettingsFile", DefaultParameterSetName = ASRParameterSets.ByParam)] + [Cmdlet(VerbsCommon.Get, "AzureRMSiteRecoveryVaultSettingsFile", DefaultParameterSetName = ASRParameterSets.ByParam)] [OutputType(typeof(VaultSettingsFilePath))] public class GetAzureSiteRecoveryVaultSettingsFile : SiteRecoveryCmdletBase { @@ -53,7 +53,7 @@ public class GetAzureSiteRecoveryVaultSettingsFile : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { @@ -73,7 +73,7 @@ public override void ExecuteCmdlet() /// private void GetVaultSettingsFile() { - AzureSubscription subscription = this.Profile.Context.Subscription; + AzureSubscription subscription = DefaultProfile.Context.Subscription; // Generate certificate X509Certificate2 cert = CertUtils.CreateSelfSignedCertificate(VaultCertificateExpiryInHoursForHRM, subscription.Id.ToString(), this.Vault.Name); diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/ImportAzureSiteRecoveryVaultSettingsFile.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/ImportAzureSiteRecoveryVaultSettingsFile.cs index a93eab4f0018..8e0e0edcc50d 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/ImportAzureSiteRecoveryVaultSettingsFile.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/ImportAzureSiteRecoveryVaultSettingsFile.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Imports Azure Site Recovery Vault Settings. /// - [Cmdlet(VerbsData.Import, "AzureSiteRecoveryVaultSettingsFile")] + [Cmdlet(VerbsData.Import, "AzureRMSiteRecoveryVaultSettingsFile")] [OutputType(typeof(ASRVaultSettings))] public class ImportAzureSiteRecoveryVaultSettingsFile : SiteRecoveryCmdletBase { @@ -46,7 +46,7 @@ public class ImportAzureSiteRecoveryVaultSettingsFile : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { this.WriteVerbose("Vault Settings File path: " + this.Path); diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/NewAzureSiteRecoveryVault.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/NewAzureSiteRecoveryVault.cs index e37a3e159903..bec7236d403b 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/NewAzureSiteRecoveryVault.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/NewAzureSiteRecoveryVault.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Used to initiate a vault create operation. /// - [Cmdlet(VerbsCommon.New, "AzureSiteRecoveryVault")] + [Cmdlet(VerbsCommon.New, "AzureRMSiteRecoveryVault")] public class CreateAzureSiteRecoveryVault : SiteRecoveryCmdletBase { #region Parameters @@ -54,7 +54,7 @@ public class CreateAzureSiteRecoveryVault : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { try { diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/SetAzureSiteRecoveryVaultSettings.cs b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/SetAzureSiteRecoveryVaultSettings.cs index 2a4f1c6885e2..ea7e1c9d9901 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/SetAzureSiteRecoveryVaultSettings.cs +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/Vault/SetAzureSiteRecoveryVaultSettings.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.SiteRecovery /// /// Retrieves Azure Site Recovery Vault Settings. /// - [Cmdlet(VerbsCommon.Set, "AzureSiteRecoveryVaultSettings")] + [Cmdlet(VerbsCommon.Set, "AzureRMSiteRecoveryVaultSettings")] [OutputType(typeof(ASRVaultSettings))] public class SetAzureSiteRecoveryVaultSettings : SiteRecoveryCmdletBase { @@ -42,7 +42,7 @@ public class SetAzureSiteRecoveryVaultSettings : SiteRecoveryCmdletBase /// /// ProcessRecord of the command. /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // Validate the Vault RecoveryServicesClient.ValidateVaultSettings( diff --git a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/packages.config b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/packages.config index e66baca86202..a8552a4e8425 100644 --- a/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/packages.config +++ b/src/ResourceManager/SiteRecovery/Commands.SiteRecovery/packages.config @@ -2,7 +2,7 @@ - + @@ -10,8 +10,8 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Sql/AzureRM.Sql.psd1 b/src/ResourceManager/Sql/AzureRM.Sql.psd1 new file mode 100644 index 000000000000..c8752f397b1e --- /dev/null +++ b/src/ResourceManager/Sql/AzureRM.Sql.psd1 @@ -0,0 +1,97 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Sql' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '150d9544-6348-4373-806f-10cd0b4de4cb' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Sql' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @( + '.\Microsoft.Azure.Commands.Sql.Types.ps1xml' +) + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Sql.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Sql.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @( + 'Get-AzureRMSqlDatabaseServerAuditingPolicy', + 'Remove-AzureRMSqlDatabaseServerAuditing', + 'Set-AzureRMSqlDatabaseServerAuditingPolicy', + 'Use-AzureRMSqlDatabaseServerAuditingPolicy' +) + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 943afcf68a98..9c00abcef899 100644 --- a/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj +++ b/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,7 @@ ..\..\..\ true /assemblyCompareMode:StrongNameIgnoringVersion - 0cebbf8c + 35c46d19 true @@ -47,17 +47,17 @@ ..\..\..\packages\Hyak.Common.1.0.2\lib\net45\Hyak.Common.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True + + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True ..\..\..\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 - ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -68,8 +68,12 @@ False ..\..\..\packages\Microsoft.Azure.Graph.RBAC.1.7.0-preview\lib\net40\Microsoft.Azure.Graph.RBAC.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + True + - ..\..\..\packages\Microsoft.Azure.Management.Sql.0.37.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll + ..\..\..\packages\Microsoft.Azure.Management.Sql.0.38.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -79,10 +83,10 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -170,12 +174,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -240,9 +244,13 @@ - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {e1f5201d-6067-430e-b303-4e367652991b} @@ -252,14 +260,6 @@ {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - {69ed499e-6f3c-488f-86b8-b74cfda4d47e} Commands.Sql @@ -420,6 +420,9 @@ Always + + Always + Always @@ -539,15 +542,11 @@ - - - - - + 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}. - + - - 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-AzureRMSqlDatabaseDirectAccess + + Disables the option to directly access an Azure SQL Database (without auditing). + + + + + Disable + AzureSqlDatabaseDirectAccess + + + + The Disable-AzureRMSqlDatabaseDirectAccess 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-AzureRMSqlDatabaseDirectAccess + + 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-AzureRMSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Enable-AzureRMSqlDatabaseDirectAccess + + + + + + + + Enable-AzureRMSqlDatabaseDirectAccess + + Enables the option to directly access an Azure SQL Database (with auditing). + + + + + Enable + AzureSqlDatabaseDirectAccess + + + + The Enable-AzureRMSqlDatabaseDirectAccess 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-AzureRMSqlDatabaseDirectAccess + + 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-AzureRMSqlDatabaseDirectAccess –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Disable-AzureRMSqlDatabaseDirectAccess + + + + + + + + Get-AzureRMSqlDatabase + + 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-AzureRMSqlDatabase + + 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-AzureRMSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" + + This example returns all databases on server, "server1". + + + + + + + + + + + + + + -------------------------- Code Example 2 -------------------------- + + PS C:\> + + PS C:\>Get-AzureRMSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + This example returns database named "database1", from server "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + New-AzureRMSqlDatabase + + + + Remove-AzureRMSqlDatabase + + + + Set-AzureRMSqlDatabase + + + + + + + + Get-AzureRMSqlDatabaseActivity + + + + + + + Get + AzureSqlDatabaseActivity + + + + + + + + Get-AzureRMSqlDatabaseActivity + + 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-AzureRMSqlDatabaseAuditingPolicy + + Gets an Azure SQL Database's auditing policy. + + + + + Get + AzureSqlDatabaseAuditingPolicy + + + + The Get-AzureRMSqlDatabaseAuditingPolicy 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-AzureRMSqlDatabaseAuditingPolicy + + 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-AzureRMSqlDatabaseAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Remove-AzureRMSqlDatabaseAuditing + + + + Set-AzureRMSqlDatabaseAuditingPolicy + + + + + + + + Get-AzureRMSqlDatabaseDataMaskingPolicy + + Gets an Azure SQL Database's data masking policy. + + + + + Get + AzureSqlDatabaseDataMaskingPolicy + + + + The Get-AzureRMSqlDatabaseDataMaskingPolicy 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-AzureRMSqlDatabaseDataMaskingPolicy + + 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-AzureRMSqlDatabaseDataMaskingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlDatabaseDataMaskingRule + + + + New-AzureRMSqlDatabaseDataMaskingRule + + + + Remove-AzureRMSqlDatabaseDataMaskingRule + + + + Set-AzureRMSqlDatabaseDataMaskingPolicy + + + + Set-AzureRMSqlDatabaseDataMaskingRule + + + + + + + + Get-AzureRMSqlDatabaseDataMaskingRule + + Gets an Azure SQL Database's data masking rule. + + + + + Get + AzureSqlDatabaseDataMaskingRule + + + + The Get-AzureRMSqlDatabaseDataMaskingRule 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + This example returns all data masking rules for "database1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlDatabaseDataMaskingPolicy + + + + New-AzureRMSqlDatabaseDataMaskingRule + + + + Remove-AzureRMSqlDatabaseDataMaskingRule + + + + Set-AzureRMSqlDatabaseDataMaskingPolicy + + + + Set-AzureRMSqlDatabaseDataMaskingRule + + + + + + + + Get-AzureRMSqlDatabaseSecureConnectionPolicy + + Returns the secure connection policy of an Azure SQL Database. + + + + + Get + AzureSqlDatabaseSecureConnectionPolicy + + + + The Get-AzureRMSqlDatabaseSecureConnectionPolicy 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-AzureRMSqlDatabaseSecureConnectionPolicy + + 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-AzureRMSqlDatabaseSecureConnectionPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" -DatabaseName "database1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureRMSqlServerAuditingPolicy + + Gets an Azure SQL Server's auditing policy. + + + + + Get + AzureSqlServerAuditingPolicy + + + + The Get-AzureRMSqlServerAuditingPolicy 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-AzureRMSqlServerAuditingPolicy + + 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-AzureRMSqlServerAuditingPolicy –ResourceGroupName "resourcegroup1" –ServerName "server1" + + The following example returns the auditing policy for "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlDatabaseAuditingPolicy + + + + Remove-AzureRMSqlDatabaseAuditing + + + + Remove-AzureRMSqlServerAuditing + + + + Set-AzureRMSqlDatabaseAuditingPolicy + + + + Set-AzureRMSqlServerAuditingPolicy + + + + Use-AzureRMSqlServerAuditingPolicy + + + + + + + + Get-AzureRMSqlServerActiveDirectoryAdministrator + + Returns information about an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Get + AzureSqlServerActiveDirectoryAdministrator + + + + The Get-AzureRMSqlServerActiveDirectoryAdministrator 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-AzureRMSqlServerActiveDirectoryAdministrator + + 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-AzureRMSqlServerActiveDirectoryAdministrator –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-AzureRMSqlServerActiveDirectoryAdministrator + + + + Set-AzureRMSqlServerActiveDirectoryAdministrator + + + + + + + + Get-AzureRMSqlDatabaseTransparentDataEncryption + + 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-AzureRMSqlDatabaseTransparentDataEncryptionActivity. + + 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-AzureRMSqlDatabaseTransparentDataEncryption + + 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-AzureRMSqlDatabaseTransparentDataEncryption –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-AzureRMSqlDatabaseTransparentDataEncryption –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-AzureRMSqlDatabaseTransparentDataEncryptionActivity + + Gets the status of the Transparent Data Encryption Scan for an Azure SQL Database. + + + + + Get + AzureSqlDatabaseTransparentDataEncryptionActivity + + + + The Get-AzureRMSqlDatabaseTransparentDataEncryptionActivity 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-AzureRMSqlDatabaseTransparentDataEncryptionActivity + + 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-AzureRMSqlDatabaseTransparentDataEncryptionActivity –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-AzureRMSqlDatabaseTransparentDataEncryptionActivity –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-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" + + This example returns all elastic pools on "server1". + + + + + + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + PS C:\>Get-AzureRMSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + This example returns the elastic pool named "elasticpool1" on "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + New-AzureRMSqlElasticPool + + + + Remove-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + Get-AzureRMSqlElasticPoolActivity + + 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-AzureRMSqlElasticPoolActivity + + 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-AzureRMSqlElasticPoolActivity –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following example returns the operation status for the elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlElasticPool + + + + Get-AzureRMSqlElasticPoolDatabase + + + + Get-AzureRMSqlDatabaseActivity + + + + New-AzureRMSqlElasticPool + + + + Remove-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + Get-AzureRMSqlElasticPoolDatabase + + 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-AzureRMSqlElasticPoolDatabase + + 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-AzureRMSqlElasticPoolDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + This example returns all databases in an elastic pool named "elasticpool1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlElasticPool + + + + Get-AzureRMSqlElasticPoolActivity + + + + Get-AzureRMSqlDatabaseActivity + + + + New-AzureRMSqlElasticPool + + + + Remove-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + Get-AzureRMSqlElasticPoolRecommendation + + + + + + + Get + AzureSqlElasticPoolRecommendation + + + + + + + + Get-AzureRMSqlElasticPoolRecommendation + + ElasticPoolRecommendation + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ElasticPoolRecommendation + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureRMSqlElasticPoolRecommendationDatabase + + + + + + + Get + AzureSqlElasticPoolRecommendationDatabase + + + + + + + + Get-AzureRMSqlElasticPoolRecommendationDatabase + + 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-AzureRMSqlElasticPoolRecommendationMetrics + + + + + + + Get + AzureSqlElasticPoolRecommendationMetrics + + + + + + + + Get-AzureRMSqlElasticPoolRecommendationMetrics + + ElasticPoolRecommendation + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ElasticPoolRecommendation + + + + String + + String + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get-AzureRMSqlServer + + 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-AzureRMSqlServer + + 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-AzureRMSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Use this cmdlet to retrieve an Azure SQL Database Server named "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureRMSqlServerFirewallRule + + 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-AzureRMSqlServerFirewallRule + + 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-AzureRMSqlServerFirewallRule –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureRMSqlServerServiceObjective + + 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-AzureRMSqlServerServiceObjective + + 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-AzureRMSqlServerServiceObjective –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + The following example returns the service objective. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureRMSqlServerUpgrade + + + + + + + Get + AzureSqlServerUpgrade + + + + + + + + Get-AzureRMSqlServerUpgrade + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + + + ServerName + + + + String + + String + + + + + + ResourceGroupName + + + + String + + String + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New-AzureRMSqlDatabase + + Creates a new Azure SQL Database, or new elastic database. + + + + + New + AzureSqlDatabase + + + + + The New-AzureRMSqlDatabase 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-AzureRMSqlDatabase + + 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-AzureRMSqlDatabase –ResourceGroupName "resourceGroup1" –ServerName "server1" –DatabaseName "db1" + + The following command creates a database named "db1" in server "Server1". + + + + + + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + PS C:\>New-AzureRMSqlDatabase -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-AzureRMSqlServer + + + + New-AzureRMSqlElasticPool + + + + + + + + New-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + New-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool -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-AzureRMSqlElasticPool + + + + Get-AzureRMSqlElasticPoolActivity + + + + Get-AzureRMSqlElasticPoolDatabase + + + + Get-AzureRMSqlDatabaseActivity + + + + Remove-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + New-AzureRMSqlServer + + Creates a new Azure SQL Database server. + + + + + New + AzureSqlServer + + + + The New-AzureRMSqlDatabaseServer 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-AzureRMSqlServer + + 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-AzureRMSqlServer -ResourceGroupName "resourcegroup1" -ServerName "server1" -Location "West US" -ServerVersion "12.0" + + This command creates a new Azure SQL V12 Server. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlServer + + + + Remove-AzureRMSqlServer + + + + Set-AzureRMSqlServer + + + + New-AzureRMSqlServerFirewallRule + + + + + + + + New-AzureRMSqlServerFirewallRule + + + + + + + New + AzureSqlServerFirewallRule + + + + + + + + New-AzureRMSqlServerFirewallRule + + FirewallRuleName + + + + String + + + StartIpAddress + + + + String + + + EndIpAddress + + + + String + + + ServerName + + + + String + + + ResourceGroupName + + + + String + + + Profile + + + + AzureProfile + + + + New-AzureRMSqlServerFirewallRule + + 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-AzureRMSqlDatabase + + Deletes an Azure SQL Database. + + + + + Remove + AzureSqlDatabase + + + + The Remove-AzureRMSqlDatabase 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-AzureRMSqlDatabase + + 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-AzureRMSqlDatabase –ResourceGroupName "resourcegroup1" –ServerName "server1" –DatabaseName "database1" + + The following code example deletes an Azure SQL Database. + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureRMSqlDatabaseAuditing + + Disables an Azure Sql database's auditing. + + + + + Remove + AzureSqlDatabaseAuditing + + + + The Remove-AzureRMSqlDatabaseAuditing 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-AzureRMSqlDatabaseAuditing + + 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-AzureRMSqlDatabaseAuditing + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureRMSqlDatabaseDataMaskingRule + + Removes an Azure SQL Database's data masking rule. + + + + + Remove + AzureSqlDatabaseDataMaskingRule + + + + The Remove-AzureRMSqlDatabaseDataMaskingRule 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureRMSqlServerAuditing + + Disables auditing of all the databases that rely on the auditing policy of the given database server. + + + + + Remove + AzureSqlDatabaseServerAuditing + + + + The Remove-AzureRMSqlServerAuditing 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-AzureRMSqlServerAuditing + + 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-AzureRMSqlServerAuditing -Full + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureRMSqlElasticPool + + Deletes an Azure SQL elastic database pool. + + + + + Remove + AzureSqlElasticPool + + + + The Remove-AzureRMSqlElasticPool 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-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool –ResourceGroupName "resourcegroup1" –ServerName "server1" –ElasticPoolName "elasticpool1" + + The following command deletes an elastic pool named "elasticpool1": + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlElasticPool + + + + Get-AzureRMSqlElasticPoolActivity + + + + Get-AzureRMSqlElasticPoolDatabase + + + + Get-AzureRMSqlDatabaseActivity + + + + New-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + Remove-AzureRMSqlServer + + Removes an Azure SQL Server. + + + + + Remove + AzureSqlServer + + + + The Remove-AzureRMSqlServer 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-AzureRMSqlServer + + 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-AzureRMSqlServer –ResourceGroupName "resourcegroup1" –ServerName "server1" + + The following example removes "server1". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Remove-AzureRMSqlServerActiveDirectoryAdministrator + + Removes an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Remove + AzureSqlServerActiveDirectoryAdministrator + + + + The Remove-AzureRMSqlServerActiveDirectoryAdministrator 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-AzureRMSqlServerActiveDirectoryAdministrator + + 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-AzureRMSqlServerActiveDirectoryAdministrator -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-AzureRMSqlServerActiveDirectoryAdministrator + + + + Set-AzureRMSqlServerActiveDirectoryAdministrator + + + + + + + + Remove-AzureRMSqlServerFirewallRule + + Deletes a firewall rule from an Azure SQL Database Server. + + + + + Remove + AzureSqlServerFirewallRule + + + + The Remove-AzureRMSqlDatabaseServerFirewallRule 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-AzureRMSqlServerFirewallRule + + 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-AzureRMSqlServerFirewallRule –FirewallRuleName "rule1" –ResourceGroupName "resourcegroup1" –ServerName "server1" + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Get-AzureRMSqlServerFirewallRule + + + + New-AzureRMSqlServerFirewallRule + + + + Set-AzureRMSqlServerFirewallRule + + + + + + + + Set-AzureRMSqlDatabase + + Updates properties for an Azure SQL Database, or moves an existing database into an elastic pool. + + + + + Set + AzureSqlDatabase + + + + + The Set-AzureRMSqlDatabase 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-AzureRMSqlDatabase + + 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-AzureRMSqlDatabase –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-AzureRMSqlDatabase –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-AzureRMSqlDatabaseAuditingPolicy + + Sets an Azure SQL Database's auditing policy. + + + + + Set + AzureSqlDatabaseAuditingPolicy + + + + The Set-AzureRMSqlDatabaseAuditingPolicy 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-AzureRMSqlDatabaseAuditingPolicy + + 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-AzureRMSqlDatabaseAuditingPolicy -Full + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureRMSqlDatabaseDataMaskingPolicy + + Sets an Azure SQL Database's data masking policy. + + + + + Set + AzureSqlDatabaseDataMaskingPolicy + + + + The Set-AzureRMSqlDatabaseDataMaskingPolicy 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-AzureRMSqlDatabaseDataMaskingPolicy + + 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-AzureRMSqlDatabaseDataMaskingPolicy -Full + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule + + 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-AzureRMSqlDatabaseDataMaskingRule -Full + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureRMSqlServerAuditingPolicy + + Sets an Azure SQL Database server's auditing policy. + + + + + Set + AzureSqlServerAuditingPolicy + + + + The Set-AzureRMSqlServerAuditingPolicy 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-AzureRMSqlServerAuditingPolicy + + 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-AzureRMSqlServerAuditingPolicy + + Code Example Description + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureRMSqlDatabaseTransparentDataEncryption + + 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-AzureRMSqlDatabaseTransparentDataEncryption + + 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-AzureRMSqlDatabaseTransparentDataEncryption –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-AzureRMSqlDatabaseTransparentDataEncryption –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-AzureRMSqlElasticPool + + 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-AzureRMSqlElasticPool + + 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-AzureRMSqlDatabaseElasticPool –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-AzureRMSqlElasticPool + + + + Get-AzureRMSqlElasticPoolActivity + + + + Get-AzureRMSqlElasticPoolDatabase + + + + Get-AzureRMSqlDatabaseActivity + + + + New-AzureRMSqlElasticPool + + + + Set-AzureRMSqlElasticPool + + + + + + + + Set-AzureRMSqlServer + + Update the properties for an Azure SQL Server. + + + + + Set + AzureSqlServer + + + + The Set-AzureRMSqlServer 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-AzureRMSqlServer + + 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-AzureRMSqlServer + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Set-AzureRMSqlServerActiveDirectoryAdministrator + + Provisions an Azure Active Directory administrator for Azure SQL Server in the current subscription. + + + + + Set + AzureSqlServerActiveDirectoryAdministrator + + + + The Set-AzureRMSqlServerActiveDirectoryAdministrator 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-AzureRMSqlServerActiveDirectoryAdministrator + + 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-AzureRMSqlServerActiveDirectoryAdministrator –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-AzureRMSqlServerActiveDirectoryAdministrator –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-AzureRMSqlServerActiveDirectoryAdministrator –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-AzureRMSqlServerActiveDirectoryAdministrator –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-AzureRMSqlServerActiveDirectoryAdministrator + + + + Remove-AzureRMSqlServerActiveDirectoryAdministrator + + + + + + + + Start-AzureRMSqlServerUpgrade + + + + + + + Start + AzureSqlServerUpgrade + + + + + + + + Start-AzureRMSqlServerUpgrade + + 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-AzureRMSqlServerUpgrade + + + + + + + Stop + AzureSqlServerUpgrade + + + + + + + + Stop-AzureRMSqlServerUpgrade + + 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-AzureRMSqlServerAuditingPolicy + + Marks an Azure SQL Database as using its server's auditing policy. + + + + + Use + AzureSqlServerAuditingPolicy + + + + The Use-AzureRMSqlServerAuditingPolicy 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-AzureRMSqlServerAuditingPolicy + + 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-AzureRMSqlDatabaseServerAuditPolicy + + + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + + + + + Get-AzureRMSqlDatabaseActivity + + 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-AzureRMSqlDatabaseActivity –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-AzureRMSqlServerFirewallRule + + Creates a new firewall rule for an Azure SQL Database server. + + + + + + + + + + The New-AzureRMSqlServerFirewallRule 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-AzureRMSqlServerFirewallRule -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-AzureRMSqlServerFirewallRule + + + + Remove-AzureRMSqlServerFirewallRule + + + + Set-AzureRMSqlServerFirewallRule + + + + + + + + Start-AzureRMSqlServerUpgrade + + Starts upgrading an Azure SQL V11 server to a V12 server. + + + + + Start + AzureSqlServerUpgrade + + + + + The Start-AzureRMSqlServerUpgrade cmdlet starts the upgrade of a SQL V11 server to V12. + Monitor the progress of an upgrade with the Get-AzureRMSqlServerUpgrade cmdlet. + You can stop the upgrade process with the Stop-AzureRMSqlServerUpgrade 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-AzureRMSqlServerUpgrade -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-AzureRMSqlServerUpgrade -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-AzureRMSqlServerUpgrade -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-AzureRMSqlServerUpgrade + + + + Get-AzureRMSqlServerUpgrade + + + + + + + + Stop-AzureRMSqlServerUpgrade + + Stops an Azure SQL Server Upgrade. + + + + + Stop + AzureSqlServerUpgrade + + + + The Stop-AzureRMSqlServerUpgrade 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-AzureRMSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer + + Stop the request to upgrade server "MySqlServer" in resource group "MyResourceGroup". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Start-AzureRMSqlServerUpgrade + + + + Get-AzureRMSqlServerUpgrade + + + + + + + + Get-AzureRMSqlServerUpgrade + + Gets the status of an Azure SQL Server Upgrade. + + + + + Get + AzureSqlServerUpgrade + + + + The Get-AzureRMSqlServerUpgrade 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-AzureRMSqlServerUpgrade -ResourceGroupName MyResourceGroup -ServerName MySqlServer | Format-List + + Get the status of an upgrade request from server "MySqlServer" in resource group "MyResourceGroup". + + + + + + + + + + + + + + + + Azure_SqlDatabase + + + + Start-AzureRMSqlServerUpgrade + + + + Stop-AzureRMSqlServerUpgrade + + + + + + + + New-AzureRMSqlDatabaseCopy + + 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-AzureRMSqlDatabaseCopy cmdlet when used to create a one-time database copy. It returns the database object of the copy. + Note: Use New-AzureRMSqlDatabaseSecondary 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-AzureRMSqlDatabaseCopy + + 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-AzureRMSqlDatabaseSecondary + + Creates a new secondary database for an existing Azure SQL Database and starts data replication. + + + + + New + AzureSqlDatabaseSecondary + + + + This cmdlet replaces the Start-AzureRMSqlDatabaseCopy 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-AzureRMSqlDatabaseSecondary + + 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-AzureRMSqlDatabaseSecondary + + Terminates data replication between an Azure SQL Database and the specified secondary database. + + + + + Remove + AzureSqlDatabaseSecondary + + + + This cmdlet replaces the Stop-AzureRMSqlDatabaseCopy 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-AzureRMSqlDatabaseSecondary + + 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-AzureRMSqlDatabaseReplicationLink + + 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-AzureRMSqlDatabaseCopy 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-AzureRMSqlDatabaseReplicationLink + + 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-AzureRMSqlDatabaseReplicationLink + + 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-AzureRMSqlDatabaseSecondary + + 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-AzureRMSqlDatabaseSecondary + + 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/Sql/Commands.Sql/Properties/Resources.Designer.cs b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs index 8f8748c4718b..7f598d5dc5f9 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34014 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Sql.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.Sql.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; } @@ -61,27 +61,27 @@ internal Resources() { } /// - /// Looks up a localized string similar to More than one Active Directory group with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct group. To get the object id use Get-AzureADGroup -SearchString "{0}". + /// Looks up a localized string similar to More than one Active Directory group with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct group. To get the object id use Get-AzureRMADGroup -SearchString "{0}". /// - internal static string ADGroupMoreThanOneFound { + public static string ADGroupMoreThanOneFound { get { return ResourceManager.GetString("ADGroupMoreThanOneFound", resourceCulture); } } /// - /// Looks up a localized string similar to Cannot find the Azure Active Directory object '{0}'. Please make sure that the user or group you are authorizing is registered in the current subscription's Azure Active directory. To get a list of Azure Active Directory groups use Get-AzureADGroup, or to get a list of Azure Active Directory users use Get-AzureADUser.. + /// Looks up a localized string similar to Cannot find the Azure Active Directory object '{0}'. Please make sure that the user or group you are authorizing is registered in the current subscription's Azure Active directory. To get a list of Azure Active Directory groups use Get-AzureRMADGroup, or to get a list of Azure Active Directory users use Get-AzureRMADUser.. /// - internal static string ADObjectNotFound { + public static string ADObjectNotFound { get { return ResourceManager.GetString("ADObjectNotFound", resourceCulture); } } /// - /// Looks up a localized string similar to More than one Azure Active Directory user with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct user. To get the object id use Get-AzureADUser -SearchString "{0}". + /// Looks up a localized string similar to More than one Azure Active Directory user with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct user. To get the object id use Get-AzureRMADUser -SearchString "{0}". /// - internal static string ADUserMoreThanOneFound { + public static string ADUserMoreThanOneFound { get { return ResourceManager.GetString("ADUserMoreThanOneFound", resourceCulture); } @@ -90,7 +90,7 @@ internal static string ADUserMoreThanOneFound { /// /// Looks up a localized string similar to Database with name: '{0}' already exists in server '{1}'.. /// - internal static string DatabaseNameExists { + public static string DatabaseNameExists { get { return ResourceManager.GetString("DatabaseNameExists", resourceCulture); } @@ -99,7 +99,7 @@ internal static string DatabaseNameExists { /// /// Looks up a localized string similar to Auditing cannot be enabled . Upgrade to Basic, Standard or Premium Service Tier to enable auditing on your database(s). /// - internal static string DatabaseNotInServiceTierForAuditingPolicy { + public static string DatabaseNotInServiceTierForAuditingPolicy { get { return ResourceManager.GetString("DatabaseNotInServiceTierForAuditingPolicy", resourceCulture); } @@ -108,7 +108,7 @@ internal static string DatabaseNotInServiceTierForAuditingPolicy { /// /// Looks up a localized string similar to A data masking rule for alias '{0}' is already exists. /// - internal static string DataMaskingAliasAlreadyUsedError { + public static string DataMaskingAliasAlreadyUsedError { get { return ResourceManager.GetString("DataMaskingAliasAlreadyUsedError", resourceCulture); } @@ -117,7 +117,7 @@ internal static string DataMaskingAliasAlreadyUsedError { /// /// Looks up a localized string similar to Cannot set a lower bound which is larger than the higher bound. /// - internal static string DataMaskingNumberRuleIntervalDefinitionError { + public static string DataMaskingNumberRuleIntervalDefinitionError { get { return ResourceManager.GetString("DataMaskingNumberRuleIntervalDefinitionError", resourceCulture); } @@ -126,7 +126,7 @@ internal static string DataMaskingNumberRuleIntervalDefinitionError { /// /// Looks up a localized string similar to The rule {0} does not exist. /// - internal static string DataMaskingRuleDoesNotExist { + public static string DataMaskingRuleDoesNotExist { get { return ResourceManager.GetString("DataMaskingRuleDoesNotExist", resourceCulture); } @@ -135,7 +135,7 @@ internal static string DataMaskingRuleDoesNotExist { /// /// Looks up a localized string similar to A data masking rule for the table '{0}' and column '{1}' already exists. /// - internal static string DataMaskingTableAndColumnUsedError { + public static string DataMaskingTableAndColumnUsedError { get { return ResourceManager.GetString("DataMaskingTableAndColumnUsedError", resourceCulture); } @@ -144,7 +144,7 @@ internal static string DataMaskingTableAndColumnUsedError { /// /// Looks up a localized string similar to The {0} cmdlet is deprecated and will be removed in a future release.. /// - internal static string DeprecatedCmdletUsageWarning { + public static string DeprecatedCmdletUsageWarning { get { return ResourceManager.GetString("DeprecatedCmdletUsageWarning", resourceCulture); } @@ -153,7 +153,7 @@ internal static string DeprecatedCmdletUsageWarning { /// /// Looks up a localized string similar to Elastic Pool with name: '{0}' already exists in server '{1}'.. /// - internal static string ElasticPoolNameExists { + public static string ElasticPoolNameExists { get { return ResourceManager.GetString("ElasticPoolNameExists", resourceCulture); } @@ -162,7 +162,7 @@ internal static string ElasticPoolNameExists { /// /// Looks up a localized string similar to {your_password_here}. /// - internal static string EnterPassword { + public static string EnterPassword { get { return ResourceManager.GetString("EnterPassword", resourceCulture); } @@ -171,7 +171,7 @@ internal static string EnterPassword { /// /// Looks up a localized string similar to {your_user_id_here}. /// - internal static string EnterUserId { + public static string EnterUserId { get { return ResourceManager.GetString("EnterUserId", resourceCulture); } @@ -180,7 +180,7 @@ internal static string EnterUserId { /// /// Looks up a localized string similar to The Active Directory Group '{0}' is not security enabled. Only Azure Active Directory Security Enabled Groups are supported.. /// - internal static string InvalidADGroupNotSecurity { + public static string InvalidADGroupNotSecurity { get { return ResourceManager.GetString("InvalidADGroupNotSecurity", resourceCulture); } @@ -189,16 +189,16 @@ internal static string InvalidADGroupNotSecurity { /// /// Looks up a localized string similar to Cannot use the '{0}' option with other event types.. /// - internal static string InvalidEventTypeSet { + public static string InvalidEventTypeSet { get { return ResourceManager.GetString("InvalidEventTypeSet", resourceCulture); } } /// - /// Looks up a localized string similar to Please use Set-AzureEnvironment to set a valid GraphEndpoint in the AzureEnvironment. . + /// Looks up a localized string similar to Please use Set-AzureRMEnvironment to set a valid GraphEndpoint for the current AzureEnvironment.. /// - internal static string InvalidGraphEndpoint { + public static string InvalidGraphEndpoint { get { return ResourceManager.GetString("InvalidGraphEndpoint", resourceCulture); } @@ -207,7 +207,7 @@ internal static string InvalidGraphEndpoint { /// /// Looks up a localized string similar to Cannot use audit table retention without specifying TableIdentifier. You may want to use '{0}'.. /// - internal static string InvalidRetentionTypeSet { + public static string InvalidRetentionTypeSet { get { return ResourceManager.GetString("InvalidRetentionTypeSet", resourceCulture); } @@ -216,7 +216,7 @@ internal static string InvalidRetentionTypeSet { /// /// Looks up a localized string similar to Please set a valid tenant id in the AzureEnvironment.. /// - internal static string InvalidTenantId { + public static string InvalidTenantId { get { return ResourceManager.GetString("InvalidTenantId", resourceCulture); } @@ -225,7 +225,7 @@ internal static string InvalidTenantId { /// /// Looks up a localized string similar to A data masking rule with the id '{0}' already exist. /// - internal static string NewDataMaskingRuleIdAlreadyExistError { + public static string NewDataMaskingRuleIdAlreadyExistError { get { return ResourceManager.GetString("NewDataMaskingRuleIdAlreadyExistError", resourceCulture); } @@ -234,7 +234,7 @@ internal static string NewDataMaskingRuleIdAlreadyExistError { /// /// Looks up a localized string similar to Rule Id cannot contain '<,>,+,=,#,*,%,&,\,/,?' and cannot end with a '.'. /// - internal static string NewDataMaskingRuleIdIsNotValid { + public static string NewDataMaskingRuleIdIsNotValid { get { return ResourceManager.GetString("NewDataMaskingRuleIdIsNotValid", resourceCulture); } @@ -243,7 +243,7 @@ internal static string NewDataMaskingRuleIdIsNotValid { /// /// Looks up a localized string similar to Cannot set auditing policy without a storage account name.. /// - internal static string NoStorageAccountWhenConfiguringAuditingPolicy { + public static string NoStorageAccountWhenConfiguringAuditingPolicy { get { return ResourceManager.GetString("NoStorageAccountWhenConfiguringAuditingPolicy", resourceCulture); } @@ -252,7 +252,7 @@ internal static string NoStorageAccountWhenConfiguringAuditingPolicy { /// /// Looks up a localized string similar to PHP Data Objects(PDO) Sample Code:. /// - internal static string PdoTitle { + public static string PdoTitle { get { return ResourceManager.GetString("PdoTitle", resourceCulture); } @@ -261,7 +261,7 @@ internal static string PdoTitle { /// /// Looks up a localized string similar to Error connecting to SQL Server. /// - internal static string PhpConnectionError { + public static string PhpConnectionError { get { return ResourceManager.GetString("PhpConnectionError", resourceCulture); } @@ -270,7 +270,7 @@ internal static string PhpConnectionError { /// /// Looks up a localized string similar to Permanently removing Azure Sql Database '{0}' on server '{1}'.. /// - internal static string RemoveAzureSqlDatabaseDescription { + public static string RemoveAzureSqlDatabaseDescription { get { return ResourceManager.GetString("RemoveAzureSqlDatabaseDescription", resourceCulture); } @@ -279,7 +279,7 @@ internal static string RemoveAzureSqlDatabaseDescription { /// /// Looks up a localized string similar to Permanently removing Azure Sql Database Elastic Pool '{0}' on server '{1}'.. /// - internal static string RemoveAzureSqlDatabaseElasticPoolDescription { + public static string RemoveAzureSqlDatabaseElasticPoolDescription { get { return ResourceManager.GetString("RemoveAzureSqlDatabaseElasticPoolDescription", resourceCulture); } @@ -288,7 +288,7 @@ internal static string RemoveAzureSqlDatabaseElasticPoolDescription { /// /// Looks up a localized string similar to Are you sure you want to remove the Azure Sql Database Elastic Pool '{0}' on server '{1}'?. /// - internal static string RemoveAzureSqlDatabaseElasticPoolWarning { + public static string RemoveAzureSqlDatabaseElasticPoolWarning { get { return ResourceManager.GetString("RemoveAzureSqlDatabaseElasticPoolWarning", resourceCulture); } @@ -297,7 +297,7 @@ internal static string RemoveAzureSqlDatabaseElasticPoolWarning { /// /// Looks up a localized string similar to Are you sure you want to remove the Azure Sql Database '{0}' on server '{1}'?. /// - internal static string RemoveAzureSqlDatabaseWarning { + public static string RemoveAzureSqlDatabaseWarning { get { return ResourceManager.GetString("RemoveAzureSqlDatabaseWarning", resourceCulture); } @@ -306,7 +306,7 @@ internal static string RemoveAzureSqlDatabaseWarning { /// /// Looks up a localized string similar to Removing Azure Sql Server Active Directory Administrator on server '{0}'.. /// - internal static string RemoveAzureSqlServerActiveDirectoryAdministratorDescription { + public static string RemoveAzureSqlServerActiveDirectoryAdministratorDescription { get { return ResourceManager.GetString("RemoveAzureSqlServerActiveDirectoryAdministratorDescription", resourceCulture); } @@ -315,7 +315,7 @@ internal static string RemoveAzureSqlServerActiveDirectoryAdministratorDescripti /// /// Looks up a localized string similar to Are you sure you want to remove the Azure Sql Server Active Directory Administrator on server '{0}'?. /// - internal static string RemoveAzureSqlServerActiveDirectoryAdministratorWarning { + public static string RemoveAzureSqlServerActiveDirectoryAdministratorWarning { get { return ResourceManager.GetString("RemoveAzureSqlServerActiveDirectoryAdministratorWarning", resourceCulture); } @@ -324,7 +324,7 @@ internal static string RemoveAzureSqlServerActiveDirectoryAdministratorWarning { /// /// Looks up a localized string similar to Permanently removing Azure Sql Database Server '{0}'.. /// - internal static string RemoveAzureSqlServerDescription { + public static string RemoveAzureSqlServerDescription { get { return ResourceManager.GetString("RemoveAzureSqlServerDescription", resourceCulture); } @@ -333,7 +333,7 @@ internal static string RemoveAzureSqlServerDescription { /// /// Looks up a localized string similar to Permanently removing Firewall Rule '{0}' for Azure Sql Database Server '{1}'.. /// - internal static string RemoveAzureSqlServerFirewallRuleDescription { + public static string RemoveAzureSqlServerFirewallRuleDescription { get { return ResourceManager.GetString("RemoveAzureSqlServerFirewallRuleDescription", resourceCulture); } @@ -342,7 +342,7 @@ internal static string RemoveAzureSqlServerFirewallRuleDescription { /// /// Looks up a localized string similar to Are you sure you want to remove the Firewall Rule '{0}' for Azure Sql Database Server '{1}'?. /// - internal static string RemoveAzureSqlServerFirewallRuleWarning { + public static string RemoveAzureSqlServerFirewallRuleWarning { get { return ResourceManager.GetString("RemoveAzureSqlServerFirewallRuleWarning", resourceCulture); } @@ -351,7 +351,7 @@ internal static string RemoveAzureSqlServerFirewallRuleWarning { /// /// Looks up a localized string similar to Are you sure you want to remove the Azure Sql Database Server '{0}'?. /// - internal static string RemoveAzureSqlServerWarning { + public static string RemoveAzureSqlServerWarning { get { return ResourceManager.GetString("RemoveAzureSqlServerWarning", resourceCulture); } @@ -360,7 +360,7 @@ internal static string RemoveAzureSqlServerWarning { /// /// Looks up a localized string similar to Removing firewall rule "{0}" for Microsoft Azure Sql Database "{1}".. /// - internal static string RemoveDatabaseDataMaskingRuleDescription { + public static string RemoveDatabaseDataMaskingRuleDescription { get { return ResourceManager.GetString("RemoveDatabaseDataMaskingRuleDescription", resourceCulture); } @@ -369,7 +369,7 @@ internal static string RemoveDatabaseDataMaskingRuleDescription { /// /// Looks up a localized string similar to Are you sure you want to remove the data masking rule "{0}" for Microsoft Azure Sql Database "{1}"?. /// - internal static string RemoveDatabaseDataMaskingRuleWarning { + public static string RemoveDatabaseDataMaskingRuleWarning { get { return ResourceManager.GetString("RemoveDatabaseDataMaskingRuleWarning", resourceCulture); } @@ -378,7 +378,7 @@ internal static string RemoveDatabaseDataMaskingRuleWarning { /// /// Looks up a localized string similar to Firewall Rule with name: '{0}' already exists for server '{1}'.. /// - internal static string ServerFirewallRuleNameExists { + public static string ServerFirewallRuleNameExists { get { return ResourceManager.GetString("ServerFirewallRuleNameExists", resourceCulture); } @@ -387,7 +387,7 @@ internal static string ServerFirewallRuleNameExists { /// /// Looks up a localized string similar to Server with name: '{0}' already exists.. /// - internal static string ServerNameExists { + public static string ServerNameExists { get { return ResourceManager.GetString("ServerNameExists", resourceCulture); } @@ -396,7 +396,7 @@ internal static string ServerNameExists { /// /// Looks up a localized string similar to Request for upgrade of server '{0}' already exists.. /// - internal static string ServerUpgradeExists { + public static string ServerUpgradeExists { get { return ResourceManager.GetString("ServerUpgradeExists", resourceCulture); } @@ -405,16 +405,25 @@ internal static string ServerUpgradeExists { /// /// Looks up a localized string similar to A data masking rule with the id '{0}' does not exist. /// - internal static string SetDataMaskingRuleIdDoesNotExistError { + public static string SetDataMaskingRuleIdDoesNotExistError { get { return ResourceManager.GetString("SetDataMaskingRuleIdDoesNotExistError", resourceCulture); } } + /// + /// Looks up a localized string similar to No Set Options were provided. + /// + internal static string SetSecondaryNoOptionProvided { + get { + return ResourceManager.GetString("SetSecondaryNoOptionProvided", resourceCulture); + } + } + /// /// Looks up a localized string similar to Confirm. /// - internal static string ShouldProcessCaption { + public static string ShouldProcessCaption { get { return ResourceManager.GetString("ShouldProcessCaption", resourceCulture); } @@ -423,7 +432,7 @@ internal static string ShouldProcessCaption { /// /// Looks up a localized string similar to SQL Server Extension Sample Code:. /// - internal static string sqlSampleTitle { + public static string sqlSampleTitle { get { return ResourceManager.GetString("sqlSampleTitle", resourceCulture); } @@ -432,7 +441,7 @@ internal static string sqlSampleTitle { /// /// Looks up a localized string similar to Azure Sql Database Elastic Pool name is required for this operation. /// - internal static string StandaloneDatabaseActivityNotSupported { + public static string StandaloneDatabaseActivityNotSupported { get { return ResourceManager.GetString("StandaloneDatabaseActivityNotSupported", resourceCulture); } @@ -441,7 +450,7 @@ internal static string StandaloneDatabaseActivityNotSupported { /// /// Looks up a localized string similar to Stopping upgrade for Azure Sql Database Server '{0}'.. /// - internal static string StopAzureSqlServerUpgradeDescription { + public static string StopAzureSqlServerUpgradeDescription { get { return ResourceManager.GetString("StopAzureSqlServerUpgradeDescription", resourceCulture); } @@ -450,7 +459,7 @@ internal static string StopAzureSqlServerUpgradeDescription { /// /// Looks up a localized string similar to Are you sure you want to stop the upgrade for Azure Sql Database Server '{0}'?. /// - internal static string StopAzureSqlServerUpgradeWarning { + public static string StopAzureSqlServerUpgradeWarning { get { return ResourceManager.GetString("StopAzureSqlServerUpgradeWarning", resourceCulture); } @@ -459,7 +468,7 @@ internal static string StopAzureSqlServerUpgradeWarning { /// /// Looks up a localized string similar to Cannot find a storage account with the name '{0}'. It either does not exist, associated with a different subscription or you do not have the appropriate credentials to access it.. /// - internal static string StorageAccountNotFound { + public static string StorageAccountNotFound { get { return ResourceManager.GetString("StorageAccountNotFound", resourceCulture); } @@ -468,7 +477,7 @@ internal static string StorageAccountNotFound { /// /// Looks up a localized string similar to Cannot use a server's auditing policy before it is configured.. /// - internal static string UseServerWithoutStorageAccount { + public static string UseServerWithoutStorageAccount { get { return ResourceManager.GetString("UseServerWithoutStorageAccount", resourceCulture); } diff --git a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx index 4206ff9e5601..540e8bf94a82 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx +++ b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx @@ -117,80 +117,95 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - {your_password_here} + + More than one Active Directory group with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct group. To get the object id use Get-AzureRMADGroup -SearchString "{0}" - - {your_user_id_here} + + Cannot find the Azure Active Directory object '{0}'. Please make sure that the user or group you are authorizing is registered in the current subscription's Azure Active directory. To get a list of Azure Active Directory groups use Get-AzureRMADGroup, or to get a list of Azure Active Directory users use Get-AzureRMADUser. - - Cannot use the '{0}' option with other event types. + + More than one Azure Active Directory user with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct user. To get the object id use Get-AzureRMADUser -SearchString "{0}" - - Cannot set auditing policy without a storage account name. + + Database with name: '{0}' already exists in server '{1}'. - - PHP Data Objects(PDO) Sample Code: + + Auditing cannot be enabled . Upgrade to Basic, Standard or Premium Service Tier to enable auditing on your database(s) - - Error connecting to SQL Server + + A data masking rule for alias '{0}' is already exists - - SQL Server Extension Sample Code: + + Cannot set a lower bound which is larger than the higher bound - - Cannot find a storage account with the name '{0}'. It either does not exist, associated with a different subscription or you do not have the appropriate credentials to access it. + + The rule {0} does not exist - - Cannot use a server's auditing policy before it is configured. + + A data masking rule for the table '{0}' and column '{1}' already exists - - Removing firewall rule "{0}" for Microsoft Azure Sql Database "{1}". + + The {0} cmdlet is deprecated and will be removed in a future release. - - Are you sure you want to remove the data masking rule "{0}" for Microsoft Azure Sql Database "{1}"? + + Elastic Pool with name: '{0}' already exists in server '{1}'. - - Confirm + + {your_password_here} - - A data masking rule for alias '{0}' is already exists + + {your_user_id_here} - - A data masking rule for the table '{0}' and column '{1}' already exists + + The Active Directory Group '{0}' is not security enabled. Only Azure Active Directory Security Enabled Groups are supported. - - A data masking rule with the id '{0}' already exist + + Cannot use the '{0}' option with other event types. - - A data masking rule with the id '{0}' does not exist + + Please use Set-AzureRMEnvironment to set a valid GraphEndpoint for the current AzureEnvironment. - - Cannot set a lower bound which is larger than the higher bound + + Cannot use audit table retention without specifying TableIdentifier. You may want to use '{0}'. - - The rule {0} does not exist + + Please set a valid tenant id in the AzureEnvironment. - - Permanently removing Azure Sql Database Server '{0}'. + + A data masking rule with the id '{0}' already exist - - Are you sure you want to remove the Azure Sql Database Server '{0}'? + + Rule Id cannot contain '<,>,+,=,#,*,%,&,\,/,?' and cannot end with a '.' - - Server with name: '{0}' already exists. + + Cannot set auditing policy without a storage account name. - - Database with name: '{0}' already exists in server '{1}'. + + PHP Data Objects(PDO) Sample Code: + + + Error connecting to SQL Server Permanently removing Azure Sql Database '{0}' on server '{1}'. + + Permanently removing Azure Sql Database Elastic Pool '{0}' on server '{1}'. + + + Are you sure you want to remove the Azure Sql Database Elastic Pool '{0}' on server '{1}'? + Are you sure you want to remove the Azure Sql Database '{0}' on server '{1}'? - - Firewall Rule with name: '{0}' already exists for server '{1}'. + + Removing Azure Sql Server Active Directory Administrator on server '{0}'. + + + Are you sure you want to remove the Azure Sql Server Active Directory Administrator on server '{0}'? + + + Permanently removing Azure Sql Database Server '{0}'. Permanently removing Firewall Rule '{0}' for Azure Sql Database Server '{1}'. @@ -198,61 +213,49 @@ Are you sure you want to remove the Firewall Rule '{0}' for Azure Sql Database Server '{1}'? - - Elastic Pool with name: '{0}' already exists in server '{1}'. + + Are you sure you want to remove the Azure Sql Database Server '{0}'? - - Permanently removing Azure Sql Database Elastic Pool '{0}' on server '{1}'. + + Removing firewall rule "{0}" for Microsoft Azure Sql Database "{1}". - - Are you sure you want to remove the Azure Sql Database Elastic Pool '{0}' on server '{1}'? + + Are you sure you want to remove the data masking rule "{0}" for Microsoft Azure Sql Database "{1}"? - - Cannot use audit table retention without specifying TableIdentifier. You may want to use '{0}'. + + Firewall Rule with name: '{0}' already exists for server '{1}'. + + + Server with name: '{0}' already exists. Request for upgrade of server '{0}' already exists. - - Are you sure you want to stop the upgrade for Azure Sql Database Server '{0}'? + + A data masking rule with the id '{0}' does not exist - - Stopping upgrade for Azure Sql Database Server '{0}'. + + Confirm + + + SQL Server Extension Sample Code: Azure Sql Database Elastic Pool name is required for this operation - - The {0} cmdlet is deprecated and will be removed in a future release. - - - Rule Id cannot contain '<,>,+,=,#,*,%,&,\,/,?' and cannot end with a '.' - - - Auditing cannot be enabled . Upgrade to Basic, Standard or Premium Service Tier to enable auditing on your database(s) - - - More than one Active Directory group with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct group. To get the object id use Get-AzureADGroup -SearchString "{0}" - - - Cannot find the Azure Active Directory object '{0}'. Please make sure that the user or group you are authorizing is registered in the current subscription's Azure Active directory. To get a list of Azure Active Directory groups use Get-AzureADGroup, or to get a list of Azure Active Directory users use Get-AzureADUser. - - - More than one Azure Active Directory user with the display name '{0}' was found. Please provide an Azure Active Directory object id to select the correct user. To get the object id use Get-AzureADUser -SearchString "{0}" - - - Please set a valid tenant id in the AzureEnvironment. + + Stopping upgrade for Azure Sql Database Server '{0}'. - - Removing Azure Sql Server Active Directory Administrator on server '{0}'. + + Are you sure you want to stop the upgrade for Azure Sql Database Server '{0}'? - - Are you sure you want to remove the Azure Sql Server Active Directory Administrator on server '{0}'? + + Cannot find a storage account with the name '{0}'. It either does not exist, associated with a different subscription or you do not have the appropriate credentials to access it. - - The Active Directory Group '{0}' is not security enabled. Only Azure Active Directory Security Enabled Groups are supported. + + Cannot use a server's auditing policy before it is configured. - - Please use Set-AzureEnvironment to set a valid GraphEndpoint for the current AzureEnvironment. + + No Set Options were provided \ No newline at end of file diff --git a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Cmdlet/GetAzureSqlElasticPoolRecommendation.cs b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Cmdlet/GetAzureSqlElasticPoolRecommendation.cs index aaea5d85cba8..88845c54e66a 100644 --- a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Cmdlet/GetAzureSqlElasticPoolRecommendation.cs +++ b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Cmdlet/GetAzureSqlElasticPoolRecommendation.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Sql.RecommendedElasticPools.Cmdlet { - [Cmdlet(VerbsCommon.Get, "AzureSqlElasticPoolRecommendation", + [Cmdlet(VerbsCommon.Get, "AzureRMSqlElasticPoolRecommendation", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlElasticPoolRecommendation : AzureSqlCmdletBase, AzureSqlElasticPoolRecommendationAdapter> { @@ -42,7 +42,7 @@ public class GetAzureSqlElasticPoolRecommendation : AzureSqlCmdletBase protected override AzureSqlElasticPoolRecommendationAdapter InitModelAdapter(Azure.Common.Authentication.Models.AzureSubscription subscription) { - return new AzureSqlElasticPoolRecommendationAdapter(Profile, subscription); + return new AzureSqlElasticPoolRecommendationAdapter(DefaultProfile.Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationAdapter.cs index b75b1397c823..2b15c93701cc 100644 --- a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationAdapter.cs @@ -33,7 +33,7 @@ public class AzureSqlElasticPoolRecommendationAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Gets or sets the Azure Subscription @@ -45,11 +45,11 @@ public class AzureSqlElasticPoolRecommendationAdapter /// /// The current azure profile /// The current azure subscription - public AzureSqlElasticPoolRecommendationAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlElasticPoolRecommendationAdapter(AzureContext context) { - _subscription = subscription; - Profile = profile; - RecommendationCommunicator = new AzureSqlElasticPoolRecommendationCommunicator(profile, subscription); + _subscription = context.Subscription; + Context = context; + RecommendationCommunicator = new AzureSqlElasticPoolRecommendationCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationCommunicator.cs index 03432e400551..7e47e912fa1e 100644 --- a/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/RecommendedElasticPools/Services/AzureSqlElasticPoolRecommendationCommunicator.cs @@ -39,19 +39,19 @@ public class AzureSqlElasticPoolRecommendationCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Recommended Elastic Pool /// /// /// - public AzureSqlElasticPoolRecommendationCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlElasticPoolRecommendationCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -79,7 +79,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseCopyCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseCopyCmdletBase.cs index 4ff27232fa6e..8338e66a197d 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseCopyCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseCopyCmdletBase.cs @@ -39,7 +39,7 @@ public abstract class AzureSqlDatabaseCopyCmdletBase : AzureSqlCmdletBaseA replication Adapter object protected override AzureSqlDatabaseReplicationAdapter InitModelAdapter(Azure.Common.Authentication.Models.AzureSubscription subscription) { - return new AzureSqlDatabaseReplicationAdapter(Profile, subscription); + return new AzureSqlDatabaseReplicationAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseSecondaryCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseSecondaryCmdletBase.cs index abe21c2c51db..0e467bdebf1a 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseSecondaryCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/AzureSqlDatabaseSecondaryCmdletBase.cs @@ -39,7 +39,7 @@ public abstract class AzureSqlDatabaseSecondaryCmdletBase : AzureSqlCmdletBaseA replication Adapter object protected override AzureSqlDatabaseReplicationAdapter InitModelAdapter(Azure.Common.Authentication.Models.AzureSubscription subscription) { - return new AzureSqlDatabaseReplicationAdapter(Profile, subscription); + return new AzureSqlDatabaseReplicationAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/GetAzureSqlDatabaseReplicationLink.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/GetAzureSqlDatabaseReplicationLink.cs index 9d2bb8aa4c20..4ffe4faf22bf 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/GetAzureSqlDatabaseReplicationLink.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/GetAzureSqlDatabaseReplicationLink.cs @@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.Sql.Replication.Cmdlet { - [Cmdlet(VerbsCommon.Get, "AzureSqlDatabaseReplicationLink", + [Cmdlet(VerbsCommon.Get, "AzureRMSqlDatabaseReplicationLink", DefaultParameterSetName = ByDatabaseName, ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlDatabaseReplicationLink : AzureSqlDatabaseSecondaryCmdletBase diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseCopy.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseCopy.cs index 6c3d1269dbc6..bafc2f0af53f 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseCopy.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseCopy.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Sql.Replication.Cmdlet /// /// Cmdlet to create a new Azure SQL Database Copy /// - [Cmdlet(VerbsCommon.New, "AzureSqlDatabaseCopy", + [Cmdlet(VerbsCommon.New, "AzureRMSqlDatabaseCopy", ConfirmImpact = ConfirmImpact.Low)] public class NewAzureSqlDatabaseCopy : AzureSqlDatabaseCopyCmdletBase { diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseSecondary.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseSecondary.cs index 8739796a273c..377976577dfb 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseSecondary.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/NewAzureSqlDatabaseSecondary.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Sql.Replication.Cmdlet /// /// Cmdlet to create a new Azure SQL Database Secondary and Replication Link /// - [Cmdlet(VerbsCommon.New, "AzureSqlDatabaseSecondary", + [Cmdlet(VerbsCommon.New, "AzureRMSqlDatabaseSecondary", ConfirmImpact = ConfirmImpact.Low)] public class NewAzureSqlDatabaseSecondary : AzureSqlDatabaseSecondaryCmdletBase { diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/RemoveAzureSqlDatabaseSecondary.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/RemoveAzureSqlDatabaseSecondary.cs index d3700a00d4d0..de0d218f813b 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/RemoveAzureSqlDatabaseSecondary.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/RemoveAzureSqlDatabaseSecondary.cs @@ -21,8 +21,9 @@ namespace Microsoft.Azure.Commands.Sql.Replication.Cmdlet { - [Cmdlet(VerbsCommon.Remove, "AzureSqlDatabaseSecondary", - SupportsShouldProcess = true, + + + [Cmdlet(VerbsCommon.Remove, "AzureRMSqlDatabaseSecondary", ConfirmImpact = ConfirmImpact.High)] public class RemoveAzureSqlDatabaseSecondary : AzureSqlDatabaseSecondaryCmdletBase { diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/SetAzureSqlDatabaseSecondary.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/SetAzureSqlDatabaseSecondary.cs new file mode 100644 index 000000000000..81a496774b22 --- /dev/null +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Cmdlet/SetAzureSqlDatabaseSecondary.cs @@ -0,0 +1,126 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Sql.Properties; +using Microsoft.Azure.Commands.Sql.Replication.Model; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Sql.Replication.Cmdlet +{ + /// + /// Cmdlet to fail over Azure SQL Database Replication Link to the secondary database + /// + [Cmdlet(VerbsCommon.Set, "AzureRMSqlDatabaseSecondary", + DefaultParameterSetName = NoOptionsSet, + ConfirmImpact = ConfirmImpact.Medium)] + public class SetAzureSqlDatabaseSecondary : AzureSqlDatabaseSecondaryCmdletBase + { + /// + /// ParameterSet to set properties for a given Azure SQL Database Secondary + /// + internal const string NoOptionsSet = "NoOptionsSet"; + + /// + /// ParameterSet to get a Replication Link by its partner Azure SQL Server Name + /// + internal const string ByFailoverParams = "ByFailoverParams"; + + /// + /// Gets or sets the name of the primary Azure SQL Database with the replication link to remove. + /// + [Parameter(Mandatory = true, + ValueFromPipelineByPropertyName = true, + Position = 2, + HelpMessage = "The name of the Azure SQL Database to failover.")] + [ValidateNotNullOrEmpty] + public string DatabaseName { get; set; } + + /// + /// Gets or sets the name of the partner resource group. + /// + [Parameter(Mandatory = true, + ValueFromPipelineByPropertyName = true, + HelpMessage = "The name of the Azure Resource Group of the partner Azure SQL Database.")] + [ValidateNotNullOrEmpty] + public string PartnerResourceGroupName { get; set; } + + /// + /// Gets or sets a value indicating whether this is a failover. + /// + /// + [Parameter(Mandatory = true, + ValueFromPipelineByPropertyName = false, + ParameterSetName = ByFailoverParams, + HelpMessage = "Whether this operation is a failover.")] + public SwitchParameter Failover { get; set; } + + /// + /// Gets or sets a value indicating whether to make this failover will allow data loss. + /// + /// + [Parameter(Mandatory = false, + ValueFromPipelineByPropertyName = false, + ParameterSetName = ByFailoverParams, + HelpMessage = "Whether this failover operation will allow data loss.")] + public SwitchParameter AllowDataLoss { get; set; } + + /// + /// Get the entities from the service + /// + /// The list of entities + protected override IEnumerable GetEntity() + { + return ModelAdapter.ListLinks(this.ResourceGroupName, this.ServerName, this.DatabaseName, this.PartnerResourceGroupName); + } + + /// + /// No user input to apply to model + /// + /// Model retrieved from service + /// The model that was passed in + protected override IEnumerable ApplyUserInputToModel(IEnumerable model) + { + return model; + } + + /// + /// No changes to persist to Azure SQL Server + /// + /// The output of apply user input to model + /// The input entity + protected override IEnumerable PersistChanges(IEnumerable entity) + { + + switch (ParameterSetName) + { + case ByFailoverParams: + return new List() { ModelAdapter.FailoverLink(this.ResourceGroupName, + this.ServerName, + this.DatabaseName, + this.PartnerResourceGroupName, + this.AllowDataLoss.IsPresent) + }; + default: + // Warning user that no options were provided so no action can be taken. + WriteWarning(Resources.SetSecondaryNoOptionProvided); + break; + } + + return entity; + } + } +} diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationAdapter.cs index 889653b22153..0316ae83dc89 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationAdapter.cs @@ -50,7 +50,7 @@ public class AzureSqlDatabaseReplicationAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Gets or sets the Azure Subscription @@ -62,13 +62,13 @@ public class AzureSqlDatabaseReplicationAdapter /// /// The current azure profile /// The current azure subscription - public AzureSqlDatabaseReplicationAdapter(AzureProfile Profile, AzureSubscription subscription) + public AzureSqlDatabaseReplicationAdapter(AzureContext context) { - this.Profile = Profile; - this._subscription = subscription; - ReplicationCommunicator = new AzureSqlDatabaseReplicationCommunicator(Profile, subscription); - DatabaseCommunicator = new AzureSqlDatabaseCommunicator(Profile, subscription); - ServerCommunicator = new AzureSqlServerCommunicator(Profile, subscription); + Context = context; + _subscription = context.Subscription; + ReplicationCommunicator = new AzureSqlDatabaseReplicationCommunicator(Context); + DatabaseCommunicator = new AzureSqlDatabaseCommunicator(Context); + ServerCommunicator = new AzureSqlServerCommunicator(Context); } /// @@ -79,7 +79,7 @@ public AzureSqlDatabaseReplicationAdapter(AzureProfile Profile, AzureSubscriptio /// The region hosting the Azure SQL Server internal string GetServerLocation(string resourceGroupName, string serverName) { - AzureSqlServerAdapter serverAdapter = new AzureSqlServerAdapter(Profile, _subscription); + AzureSqlServerAdapter serverAdapter = new AzureSqlServerAdapter(Context); var server = serverAdapter.GetServer(resourceGroupName, serverName); return server.Location; } @@ -158,8 +158,8 @@ private AzureSqlDatabaseCopyModel CreateDatabaseCopyModelFromDatabaseCreateOrUpd /// /// Creates an Azure SQL Database Secondary /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The input parameters for the create operation /// The Azure SQL Database ReplicationLink object internal AzureReplicationLinkModel CreateLink(string resourceGroupName, string serverName, AzureReplicationLinkModel model) @@ -183,10 +183,10 @@ internal AzureReplicationLinkModel CreateLink(string resourceGroupName, string s /// /// Gets the Secondary Link by linkId /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The name of primary database - /// The resource group name of secondary database + /// The name of the Resource Group containing the secondary database /// The linkId of the replication link to the secondary /// The Azure SQL Database ReplicationLink object internal AzureReplicationLinkModel GetLink(string resourceGroupName, string serverName, string databaseName, @@ -202,10 +202,10 @@ internal AzureReplicationLinkModel GetLink(string resourceGroupName, string serv /// /// Lists Azure SQL Database Secondaries for the specified primary for the specified partner resource group /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The name of primary database - /// The resource group name of secondary database + /// The name of the Resource Group containing the secondary database /// The collection of Azure SQL Database ReplicationLink objects for the primary internal ICollection ListLinks(string resourceGroupName, string serverName, string databaseName, string partnerResourceGroupName) @@ -229,10 +229,10 @@ private void CheckPartnerResourceGroupValid(string partnerResourceGroupName) /// /// Converts the response from the service to a powershell Secondary Link object /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The name of primary database - /// The resource group name of secondary database + /// The name of the Resource Group containing the secondary database /// The linkId of the replication link to the secondary /// The replication link response /// The Azure SQL Database ReplicationLink object @@ -267,11 +267,11 @@ private AzureReplicationLinkModel CreateReplicationLinkModelFromReplicationLinkR /// /// Gets the Secondary Link by the secondary resource group and Azure SQL Server /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The name of primary database - /// The resource group name of secondary database - /// The Azure SQL Server name of secondary database + /// The name of the Resource Group containing the secondary database + /// The name of the Azure SQL Server containing the secondary database /// The Azure SQL Database ReplicationLink object internal AzureReplicationLinkModel GetLink(string resourceGroupName, string serverName, string databaseName, string partnerResourceGroupName, string partnerServerName) @@ -285,16 +285,45 @@ internal AzureReplicationLinkModel GetLink(string resourceGroupName, string serv /// /// Finds and removes the Secondary Link by the secondary resource group and Azure SQL Server /// - /// The resource group name of primary database - /// The Azure SQL Server name of primary database + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database /// The name of primary database - /// The resource group name of secondary database - /// The Azure SQL Server name of secondary database + /// The name of the Resource Group containing the secondary database + /// The name of the Azure SQL Server containing the secondary database internal void RemoveLink(string resourceGroupName, string serverName, string databaseName, string partnerResourceGroupName, string partnerServerName) { AzureReplicationLinkModel link = GetLink(resourceGroupName, serverName, databaseName, partnerResourceGroupName, partnerServerName); ReplicationCommunicator.RemoveLink(link.ResourceGroupName, link.ServerName, link.DatabaseName, link.LinkId, Util.GenerateTracingId()); } + + /// + /// Finds and removes the Secondary Link by the secondary resource group and Azure SQL Server + /// + /// The name of the Resource Group containing the primary database + /// The name of the Azure SQL Server containing the primary database + /// The name of primary database + /// The name of the Resource Group containing the secondary database + /// The name of the Azure SQL Server containing the secondary database + /// Whether the failover operation will allow data loss + /// The Azure SQL Database ReplicationLink object + internal AzureReplicationLinkModel FailoverLink(string resourceGroupName, string serverName, string databaseName, string partnerResourceGroupName, bool allowDataLoss) + { + IList links = ListLinks(resourceGroupName, serverName, databaseName, partnerResourceGroupName).ToList(); + + // Resource Management executes in context of the Secondary + AzureReplicationLinkModel link = links.First(); + + if(allowDataLoss) + { + ReplicationCommunicator.FailoverLinkAllowDataLoss(link.ResourceGroupName, link.ServerName, link.DatabaseName, link.LinkId, Util.GenerateTracingId()); + } + else + { + ReplicationCommunicator.FailoverLink(link.ResourceGroupName, link.ServerName, link.DatabaseName, link.LinkId, Util.GenerateTracingId()); + } + + return GetLink(link.PartnerResourceGroupName, link.PartnerServerName, link.DatabaseName, link.PartnerResourceGroupName, link.PartnerServerName); + } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationCommunicator.cs index 9676b3314c8d..698f6cc8e4e8 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Replication/Services/AzureSqlDatabaseReplicationCommunicator.cs @@ -42,19 +42,19 @@ public class AzureSqlDatabaseReplicationCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure SQL Databases /// /// /// - public AzureSqlDatabaseReplicationCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlDatabaseReplicationCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -91,6 +91,22 @@ public void RemoveLink(string resourceGroupName, string serverName, string datab GetCurrentSqlClient(clientRequestId).DatabaseReplicationLinks.Delete(resourceGroupName, serverName, databaseName, linkId.ToString()); } + /// + /// Fails over a Replication Link without data loss + /// + public void FailoverLink(string resourceGroupName, string serverName, string databaseName, Guid linkId, string clientRequestId) + { + GetCurrentSqlClient(clientRequestId).DatabaseReplicationLinks.Failover(resourceGroupName, serverName, databaseName, linkId.ToString()); + } + + /// + /// Fails over a Replication Link with data loss + /// + public void FailoverLinkAllowDataLoss(string resourceGroupName, string serverName, string databaseName, Guid linkId, string clientRequestId) + { + GetCurrentSqlClient(clientRequestId).DatabaseReplicationLinks.FailoverAllowDataLoss(resourceGroupName, serverName, databaseName, linkId.ToString()); + } + /// /// Retrieve the SQL Management client for the currently selected subscription, adding the session and request /// id tracing headers for the current cmdlet invocation. @@ -101,7 +117,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/GetAzureSqlDatabaseSecureConnectionPolicy.cs b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/GetAzureSqlDatabaseSecureConnectionPolicy.cs index 9a6fafe4c95e..155056dfda6b 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/GetAzureSqlDatabaseSecureConnectionPolicy.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/GetAzureSqlDatabaseSecureConnectionPolicy.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Sql.SecureConnection.Cmdlet /// /// Returns the secure connection policy of a specific database. /// - [Cmdlet(VerbsCommon.Get, "AzureSqlDatabaseSecureConnectionPolicy"), OutputType(typeof(DatabaseSecureConnectionPolicyModel))] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlDatabaseSecureConnectionPolicy"), OutputType(typeof(DatabaseSecureConnectionPolicyModel))] public class GetAzureSqlDatabaseSecureConnectionPolicy : SqlDatabaseSecureConnectionCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/SqlDatabaseSecureConnectionCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/SqlDatabaseSecureConnectionCmdletBase.cs index 072f72c6b4d1..df9906657e5f 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/SqlDatabaseSecureConnectionCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Cmdlet/SqlDatabaseSecureConnectionCmdletBase.cs @@ -40,7 +40,7 @@ protected override DatabaseSecureConnectionPolicyModel GetEntity() /// An initialized and ready to use ModelAdapter object protected override SqlSecureConnectionAdapter InitModelAdapter(AzureSubscription subscription) { - return new SqlSecureConnectionAdapter(Profile, subscription); + return new SqlSecureConnectionAdapter(DefaultProfile.Context); } } } \ No newline at end of file diff --git a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Model/ConnectionStrings.cs b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Model/ConnectionStrings.cs index 6b25e99f0395..03c106b77609 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Model/ConnectionStrings.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Model/ConnectionStrings.cs @@ -56,11 +56,11 @@ public ConnectionStrings(string proxyDnsName, string port, string serverName, st /// private string ConstructPhpConnectionString(string proxyDnsName, string port, string serverName, string databaseName) { - string enterUser = Resources.EnterUserId; - string enterPassword = Resources.EnterPassword; - string pdoTitle = Resources.PdoTitle; - string sqlServerSampleTitle = Resources.sqlSampleTitle; - string connectionError = Resources.PhpConnectionError; + string enterUser = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterUserId; + string enterPassword = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterPassword; + string pdoTitle = Microsoft.Azure.Commands.Sql.Properties.Resources.PdoTitle; + string sqlServerSampleTitle = Microsoft.Azure.Commands.Sql.Properties.Resources.sqlSampleTitle; + string connectionError = Microsoft.Azure.Commands.Sql.Properties.Resources.PhpConnectionError; StringBuilder sb = new StringBuilder(); sb.Append(string.Format("Server: {0}, {1}", proxyDnsName, port)).Append(Environment.NewLine); sb.Append(string.Format("SQL Database: {0}", databaseName)).Append(Environment.NewLine); @@ -88,8 +88,8 @@ private string ConstructPhpConnectionString(string proxyDnsName, string port, st /// private string ConstructOdbcConnectionString(string proxyDnsName, string port, string serverName, string databaseName) { - string enterUser = Resources.EnterUserId; - string enterPassword = Resources.EnterPassword; + string enterUser = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterUserId; + string enterPassword = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterPassword; StringBuilder sb = new StringBuilder(); sb.Append("Driver={SQL Server Native Client 11.0};"); sb.Append(string.Format("Server=tcp:{0},{1};", proxyDnsName, port)); @@ -105,8 +105,8 @@ private string ConstructOdbcConnectionString(string proxyDnsName, string port, s /// private string ConstructJdbcConnectionString(string proxyDnsName, string port, string serverName, string databaseName) { - string enterUser = Resources.EnterUserId; - string enterPassword = Resources.EnterPassword; + string enterUser = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterUserId; + string enterPassword = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterPassword; return string.Format("jdbc:sqlserver://{0}:{1};database={2};user={3}@{4};password={5};encrypt=true;hostNameInCertificate=*.database.secure.windows.net;loginTimeout=30;", proxyDnsName, port, databaseName, enterUser, serverName, enterPassword); } @@ -116,8 +116,8 @@ private string ConstructJdbcConnectionString(string proxyDnsName, string port, s /// private string ConstructAdoNetConnectionString(string proxyDnsName, string port, string serverName, string databaseName) { - string enterUser = Resources.EnterUserId; - string enterPassword = Resources.EnterPassword; + string enterUser = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterUserId; + string enterPassword = Microsoft.Azure.Commands.Sql.Properties.Resources.EnterPassword; return string.Format("Server=tcp:{0},{1};Database={2};User ID={3}@{4};Password={5};Trusted_Connection=False;Encrypt=True;Connection Timeout=30", proxyDnsName, port, databaseName, enterUser, serverName, enterPassword); } diff --git a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SecureConnectionEndpointsCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SecureConnectionEndpointsCommunicator.cs index 5e4e81c537ac..f6d0fe9aaab8 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SecureConnectionEndpointsCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SecureConnectionEndpointsCommunicator.cs @@ -26,17 +26,18 @@ namespace Microsoft.Azure.Commands.Sql.SecureConnection.Services /// public class SecureConnectionEndpointsCommunicator { + private static SqlManagementClient SqlClient { get; set; } - private static SqlManagementClient SqlClient { get; set; } private static AzureSubscription Subscription {get ; set; } - public AzureProfile Profile { get; set; } - public SecureConnectionEndpointsCommunicator(AzureProfile profile , AzureSubscription subscription) + public AzureContext Context { get; set; } + + public SecureConnectionEndpointsCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -70,7 +71,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SqlSecureConnectionAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SqlSecureConnectionAdapter.cs index a407442e2265..0a57f130ab20 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SqlSecureConnectionAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Secure Connection/Services/SqlSecureConnectionAdapter.cs @@ -38,13 +38,13 @@ public class SqlSecureConnectionAdapter /// /// The Azure profile used by this adapter /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } - public SqlSecureConnectionAdapter(AzureProfile profile , AzureSubscription subscription) + public SqlSecureConnectionAdapter(AzureContext context) { - Profile = profile; - Subscription = subscription; - Communicator = new SecureConnectionEndpointsCommunicator(profile, subscription); + Context = context; + Subscription = context.Subscription; + Communicator = new SecureConnectionEndpointsCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/AzureSqlServerCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/AzureSqlServerCmdletBase.cs index 377d1ae30b1d..970d9527c683 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/AzureSqlServerCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/AzureSqlServerCmdletBase.cs @@ -29,7 +29,7 @@ public abstract class AzureSqlServerCmdletBase : AzureSqlCmdletBaseThe server adapter protected override AzureSqlServerAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlServerAdapter(Profile, subscription); + return new AzureSqlServerAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/GetAzureSqlServer.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/GetAzureSqlServer.cs index 622b98a19b65..0c16a3a90bc3 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/GetAzureSqlServer.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/GetAzureSqlServer.cs @@ -19,9 +19,9 @@ namespace Microsoft.Azure.Commands.Sql.Server.Cmdlet { /// - /// Defines the Get-AzureSqlServer cmdlet + /// Defines the Get-AzureRMSqlServer cmdlet /// - [Cmdlet(VerbsCommon.Get, "AzureSqlServer", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlServer", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlServer : AzureSqlServerCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/NewAzureSqlServer.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/NewAzureSqlServer.cs index 515a6624f7af..019cea71a033 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/NewAzureSqlServer.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/NewAzureSqlServer.cs @@ -21,9 +21,9 @@ namespace Microsoft.Azure.Commands.Sql.Server.Cmdlet { /// - /// Defines the Get-AzureSqlServer cmdlet + /// Defines the Get-AzureRMSqlServer cmdlet /// - [Cmdlet(VerbsCommon.New, "AzureSqlServer", + [Cmdlet(VerbsCommon.New, "AzureRMSqlServer", ConfirmImpact = ConfirmImpact.Low)] public class NewAzureSqlServer : AzureSqlServerCmdletBase { @@ -90,7 +90,7 @@ public class NewAzureSqlServer : AzureSqlServerCmdletBase // The server already exists throw new PSArgumentException( - string.Format(Resources.ServerNameExists, this.ServerName), + string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.ServerNameExists, this.ServerName), "ServerName"); } diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/RemoveAzureSqlServer.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/RemoveAzureSqlServer.cs index 6b3d3e39cfc9..4d072c796bfa 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/RemoveAzureSqlServer.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/RemoveAzureSqlServer.cs @@ -20,9 +20,9 @@ namespace Microsoft.Azure.Commands.Sql.Server.Cmdlet { /// - /// Defines the Get-AzureSqlDatabaseServer cmdlet + /// Defines the Get-AzureRMSqlDatabaseServer cmdlet /// - [Cmdlet(VerbsCommon.Remove, "AzureSqlServer", + [Cmdlet(VerbsCommon.Remove, "AzureRMSqlServer", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] public class RemoveAzureSqlServer : AzureSqlServerCmdletBase @@ -78,17 +78,17 @@ public class RemoveAzureSqlServer : AzureSqlServerCmdletBase /// /// Entry point for the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (!Force.IsPresent && !ShouldProcess( - string.Format(CultureInfo.InvariantCulture, Resources.RemoveAzureSqlServerDescription, this.ServerName), - string.Format(CultureInfo.InvariantCulture, Resources.RemoveAzureSqlServerWarning, this.ServerName), - Resources.ShouldProcessCaption)) + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerDescription, this.ServerName), + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerWarning, this.ServerName), + Microsoft.Azure.Commands.Sql.Properties.Resources.ShouldProcessCaption)) { return; } - base.ExecuteCmdlet(); + base.ProcessRecord(); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/SetAzureSqlServer.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/SetAzureSqlServer.cs index 88e2f689867f..7f305dc65a70 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/SetAzureSqlServer.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Cmdlet/SetAzureSqlServer.cs @@ -20,9 +20,9 @@ namespace Microsoft.Azure.Commands.Sql.Server.Cmdlet { /// - /// Defines the Get-AzureSqlServer cmdlet + /// Defines the Get-AzureRMSqlServer cmdlet /// - [Cmdlet(VerbsCommon.Set, "AzureSqlServer", + [Cmdlet(VerbsCommon.Set, "AzureRMSqlServer", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] public class SetAzureSqlServer : AzureSqlServerCmdletBase diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerAdapter.cs index 9e1ca96a379c..a1ef2d04967f 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerAdapter.cs @@ -41,17 +41,17 @@ public class AzureSqlServerAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Constructs a server adapter /// /// The current azure profile /// The current azure subscription - public AzureSqlServerAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerAdapter(AzureContext context) { - Profile = profile; - Communicator = new AzureSqlServerCommunicator(Profile, subscription); + Context = context; + Communicator = new AzureSqlServerCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerCommunicator.cs index d553d78e8b42..11d32f26ca2d 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Server/Services/AzureSqlServerCommunicator.cs @@ -42,19 +42,19 @@ public class AzureSqlServerCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Databases /// /// /// - public AzureSqlServerCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -101,7 +101,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/AzureSqlServerActiveDirectoryAdministratorCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/AzureSqlServerActiveDirectoryAdministratorCmdletBase.cs index 0b0b49b058e0..428ef281d841 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/AzureSqlServerActiveDirectoryAdministratorCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/AzureSqlServerActiveDirectoryAdministratorCmdletBase.cs @@ -40,7 +40,7 @@ public abstract class AzureSqlServerActiveDirectoryAdministratorCmdletBase : Azu /// protected override AzureSqlServerActiveDirectoryAdministratorAdapter InitModelAdapter(Azure.Common.Authentication.Models.AzureSubscription subscription) { - return new AzureSqlServerActiveDirectoryAdministratorAdapter(Profile, subscription); + return new AzureSqlServerActiveDirectoryAdministratorAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/GetAzureSqlServerActiveDirectoryAdministrator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/GetAzureSqlServerActiveDirectoryAdministrator.cs index 2910d4eab455..11e03bf31f7f 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/GetAzureSqlServerActiveDirectoryAdministrator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/GetAzureSqlServerActiveDirectoryAdministrator.cs @@ -18,7 +18,7 @@ namespace Microsoft.Azure.Commands.Sql.ServerActiveDirectoryAdministrator.Cmdlet { - [Cmdlet(VerbsCommon.Get, "AzureSqlServerActiveDirectoryAdministrator", + [Cmdlet(VerbsCommon.Get, "AzureRMSqlServerActiveDirectoryAdministrator", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlServerActiveDirectoryAdministrator : AzureSqlServerActiveDirectoryAdministratorCmdletBase { diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/RemoveAzureSqlServerActiveDirectoryAdministrator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/RemoveAzureSqlServerActiveDirectoryAdministrator.cs index 8fe7b29b198b..7bb5d884bb87 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/RemoveAzureSqlServerActiveDirectoryAdministrator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/RemoveAzureSqlServerActiveDirectoryAdministrator.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.Sql.ServerActiveDirectoryAdministrator.Cmdlet { - [Cmdlet(VerbsCommon.Remove, "AzureSqlServerActiveDirectoryAdministrator", + [Cmdlet(VerbsCommon.Remove, "AzureRMSqlServerActiveDirectoryAdministrator", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] public class RemoveAzureSqlServerActiveDirectoryAdministrator : AzureSqlServerActiveDirectoryAdministratorCmdletBase @@ -66,17 +66,17 @@ protected override IEnumerable /// /// Entry point for the cmdlet /// - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (!Force.IsPresent && !ShouldProcess( - string.Format(CultureInfo.InvariantCulture, Resources.RemoveAzureSqlServerActiveDirectoryAdministratorDescription, this.ServerName), - string.Format(CultureInfo.InvariantCulture, Resources.RemoveAzureSqlServerActiveDirectoryAdministratorWarning, this.ServerName), - Resources.ShouldProcessCaption)) + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerActiveDirectoryAdministratorDescription, this.ServerName), + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerActiveDirectoryAdministratorWarning, this.ServerName), + Microsoft.Azure.Commands.Sql.Properties.Resources.ShouldProcessCaption)) { return; } - base.ExecuteCmdlet(); + base.ProcessRecord(); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/SetAzureSqlServerActiveDirectoryAdministrator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/SetAzureSqlServerActiveDirectoryAdministrator.cs index 3f8d888f7e9d..e4635debcfdb 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/SetAzureSqlServerActiveDirectoryAdministrator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Cmdlet/SetAzureSqlServerActiveDirectoryAdministrator.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.Sql.ServerActiveDirectoryAdministrator.Cmdlet /// /// Cmdlet to create a new Azure SQL Server Active Directory administrator /// - [Cmdlet(VerbsCommon.Set, "AzureSqlServerActiveDirectoryAdministrator", + [Cmdlet(VerbsCommon.Set, "AzureRMSqlServerActiveDirectoryAdministrator", ConfirmImpact = ConfirmImpact.Medium)] public class SetAzureSqlServerActiveDirectoryAdministrator : AzureSqlServerActiveDirectoryAdministratorCmdletBase { diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorAdapter.cs index 500a365733d5..9176486d5ee9 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorAdapter.cs @@ -1,4 +1,5 @@ -// ---------------------------------------------------------------------------------- +extern alias MicrosoftAzureCommandsResources; +// ---------------------------------------------------------------------------------- // // Copyright Microsoft Corporation // Licensed under the Apache License, Version 2.0 (the "License"); @@ -12,8 +13,6 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -extern alias MicrosoftAzureCommandsResources; - using System; using System.Collections.Generic; using System.Globalization; @@ -26,8 +25,8 @@ using Microsoft.Azure.Common.Authentication.Models; using Microsoft.Azure.Management.Sql; using Microsoft.Azure.Management.Sql.Models; -using MicrosoftAzureCommandsResourcesModelsActiveDirectory = MicrosoftAzureCommandsResources::Microsoft.Azure.Commands.Resources.Models.ActiveDirectory; using Microsoft.Azure.Common.Authentication; +using MicrosoftAzureCommandsResources::Microsoft.Azure.Commands.Resources.Models.ActiveDirectory; namespace Microsoft.Azure.Commands.Sql.ServerActiveDirectoryAdministrator.Services { @@ -44,7 +43,7 @@ public class AzureSqlServerActiveDirectoryAdministratorAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Gets or sets the Azure Subscription @@ -54,22 +53,23 @@ public class AzureSqlServerActiveDirectoryAdministratorAdapter /// /// A private instance of ActiveDirectoryClient /// - private MicrosoftAzureCommandsResourcesModelsActiveDirectory.ActiveDirectoryClient _activeDirectoryClient; + private ActiveDirectoryClient _activeDirectoryClient; /// /// Gets or sets the Azure ActiveDirectoryClient instance /// - public MicrosoftAzureCommandsResourcesModelsActiveDirectory.ActiveDirectoryClient ActiveDirectoryClient + public ActiveDirectoryClient ActiveDirectoryClient { get { if (_activeDirectoryClient == null) { - if (!Profile.Context.Environment.IsEndpointSet(AzureEnvironment.Endpoint.Graph)) + _activeDirectoryClient = new ActiveDirectoryClient(Context); + if (!Context.Environment.IsEndpointSet(AzureEnvironment.Endpoint.Graph)) { - throw new ArgumentException(string.Format(Resources.InvalidGraphEndpoint)); + throw new ArgumentException(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.InvalidGraphEndpoint)); } - _activeDirectoryClient = new MicrosoftAzureCommandsResourcesModelsActiveDirectory.ActiveDirectoryClient(Profile.Context); + _activeDirectoryClient = new ActiveDirectoryClient(Context); } return this._activeDirectoryClient; } @@ -82,11 +82,11 @@ public MicrosoftAzureCommandsResourcesModelsActiveDirectory.ActiveDirectoryClien /// /// The current azure profile /// The current azure subscription - public AzureSqlServerActiveDirectoryAdministratorAdapter(AzureProfile Profile, AzureSubscription subscription) + public AzureSqlServerActiveDirectoryAdministratorAdapter(AzureContext context) { - this.Profile = Profile; - this._subscription = subscription; - Communicator = new AzureSqlServerActiveDirectoryAdministratorCommunicator(Profile, subscription); + Context = context; + _subscription = context.Subscription; + Communicator = new AzureSqlServerActiveDirectoryAdministratorCommunicator(Context); } /// @@ -175,9 +175,9 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat Guid tenantId = GetTenantId(); // Check for a Azure Active Directory group. Recommended to always use group. - IEnumerable groupList = null; + IEnumerable groupList = null; - var filter = new MicrosoftAzureCommandsResourcesModelsActiveDirectory.ADObjectFilterOptions() + var filter = new ADObjectFilterOptions() { Id = (objectId != null && objectId != Guid.Empty) ? objectId.ToString() : null, SearchString = displayName, @@ -190,7 +190,7 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat if (groupList.Count() > 1) { // More than one group was found with that display name. - throw new ArgumentException(string.Format(Resources.ADGroupMoreThanOneFound, displayName)); + throw new ArgumentException(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.ADGroupMoreThanOneFound, displayName)); } else if (groupList.Count() == 1) { @@ -200,7 +200,7 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat // Only support Security Groups if (group.SecurityEnabled.HasValue && !group.SecurityEnabled.Value) { - throw new ArgumentException(string.Format(Resources.InvalidADGroupNotSecurity, displayName)); + throw new ArgumentException(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.InvalidADGroupNotSecurity, displayName)); } return new ServerAdministratorCreateOrUpdateProperties() @@ -212,7 +212,7 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat } // No group was found. Check for a user - filter = new MicrosoftAzureCommandsResourcesModelsActiveDirectory.ADObjectFilterOptions() + filter = new ADObjectFilterOptions() { Id = (objectId != null && objectId != Guid.Empty) ? objectId.ToString() : null, SearchString = displayName, @@ -226,7 +226,7 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat if (userList == null || userList.Count() == 0) { // Check if the display name is the UPN - filter = new MicrosoftAzureCommandsResourcesModelsActiveDirectory.ADObjectFilterOptions() + filter = new ADObjectFilterOptions() { Id = (objectId != null && objectId != Guid.Empty) ? objectId.ToString() : null, UPN = displayName, @@ -239,12 +239,12 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat // No user was found if (userList == null || userList.Count() == 0) { - throw new ArgumentException(string.Format(Resources.ADObjectNotFound, displayName)); + throw new ArgumentException(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.ADObjectNotFound, displayName)); } else if (userList.Count() > 1) { // More than one user was found. - throw new ArgumentException(string.Format(Resources.ADUserMoreThanOneFound, displayName)); + throw new ArgumentException(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.ADUserMoreThanOneFound, displayName)); } else { @@ -266,13 +266,14 @@ protected ServerAdministratorCreateOrUpdateProperties GetActiveDirectoryInformat /// protected Guid GetTenantId() { - var tenantIdStr = - Profile.Context.Subscription.GetPropertyAsArray(AzureSubscription.Property.Tenants).FirstOrDefault(); + var tenantIdStr = Context.Tenant.Id.ToString(); + string adTenant = Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.AdTenant); + string graph = Context.Environment.GetEndpoint(AzureEnvironment.Endpoint.Graph); var tenantIdGuid = Guid.Empty; if (string.IsNullOrWhiteSpace(tenantIdStr) || !Guid.TryParse(tenantIdStr, out tenantIdGuid)) { - throw new InvalidOperationException(Resources.InvalidTenantId); + throw new InvalidOperationException(Microsoft.Azure.Commands.Sql.Properties.Resources.InvalidTenantId); } return tenantIdGuid; diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs index 1c39ebc5fef1..2453f62263ea 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerActiveDirectoryAdministrator/Services/AzureSqlServerActiveDirectoryAdministratorCommunicator.cs @@ -52,19 +52,19 @@ public class AzureSqlServerActiveDirectoryAdministratorCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure SQL Server Active Directory administrator /// /// /// - public AzureSqlServerActiveDirectoryAdministratorCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerActiveDirectoryAdministratorCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -113,7 +113,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/AzureSqlServerUpgradeCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/AzureSqlServerUpgradeCmdletBase.cs index d8621fc6eea6..42fbe5a51486 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/AzureSqlServerUpgradeCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/AzureSqlServerUpgradeCmdletBase.cs @@ -42,7 +42,7 @@ public abstract class AzureSqlServerUpgradeCmdletBase : AzureSqlCmdletBaseThe server adapter protected override AzureSqlServerUpgradeAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlServerUpgradeAdapter(Profile, subscription); + return new AzureSqlServerUpgradeAdapter(DefaultProfile.Context); } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/GetAzureSqlServerUpgrade.cs b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/GetAzureSqlServerUpgrade.cs index 048096309a07..ac3c244d62e3 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/GetAzureSqlServerUpgrade.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/GetAzureSqlServerUpgrade.cs @@ -19,9 +19,9 @@ namespace Microsoft.Azure.Commands.Sql.ServerUpgrade.Cmdlet { /// - /// Defines the Get-AzureSqlServerUpgrade cmdlet + /// Defines the Get-AzureRMSqlServerUpgrade cmdlet /// - [Cmdlet(VerbsCommon.Get, "AzureSqlServerUpgrade", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlServerUpgrade", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlServerUpgrade : AzureSqlServerUpgradeCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/StartAzureSqlServerUpgrade.cs b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/StartAzureSqlServerUpgrade.cs index dd6b2c5becf2..2d7c31d21cb1 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/StartAzureSqlServerUpgrade.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Cmdlet/StartAzureSqlServerUpgrade.cs @@ -23,9 +23,9 @@ namespace Microsoft.Azure.Commands.Sql.ServerUpgrade.Cmdlet { /// - /// Defines the Start-AzureSqlServerUpgrade cmdlet + /// Defines the Start-AzureRMSqlServerUpgrade cmdlet /// - [Cmdlet(VerbsLifecycle.Start, "AzureSqlServerUpgrade", + [Cmdlet(VerbsLifecycle.Start, "AzureRMSqlServerUpgrade", ConfirmImpact = ConfirmImpact.Low)] public class StartAzureSqlServerUpgrade : AzureSqlServerUpgradeCmdletBase { @@ -71,7 +71,7 @@ public class StartAzureSqlServerUpgrade : AzureSqlServerUpgradeCmdletBase - /// Defines the Get-AzureSqlDatabaseServer cmdlet + /// Defines the Get-AzureRMSqlDatabaseServer cmdlet /// - [Cmdlet(VerbsLifecycle.Stop, "AzureSqlServerUpgrade", + [Cmdlet(VerbsLifecycle.Stop, "AzureRMSqlServerUpgrade", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] public class StopAzureSqlServerUpgrade : AzureSqlServerUpgradeCmdletBase @@ -63,9 +63,9 @@ public class StopAzureSqlServerUpgrade : AzureSqlServerUpgradeCmdletBase PersistChanges(IEnumerable entity) { if (!Force.IsPresent && !ShouldProcess( - string.Format(CultureInfo.InvariantCulture, Resources.StopAzureSqlServerUpgradeDescription, this.ServerName), - string.Format(CultureInfo.InvariantCulture, Resources.StopAzureSqlServerUpgradeWarning, this.ServerName), - Resources.ShouldProcessCaption)) + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.StopAzureSqlServerUpgradeDescription, this.ServerName), + string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.StopAzureSqlServerUpgradeWarning, this.ServerName), + Microsoft.Azure.Commands.Sql.Properties.Resources.ShouldProcessCaption)) { return null; } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeAdapter.cs index 2038ec8c705f..7daccb1ae5b6 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeAdapter.cs @@ -33,17 +33,17 @@ public class AzureSqlServerUpgradeAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Constructs a server adapter /// /// The current azure profile /// The current azure subscription - public AzureSqlServerUpgradeAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerUpgradeAdapter(AzureContext context) { - Profile = profile; - Communicator = new AzureSqlServerUpgradeCommunicator(Profile, subscription); + Context = context; + Communicator = new AzureSqlServerUpgradeCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeCommunicator.cs index 779ed102f605..d631fcb4a0aa 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServerUpgrade/Services/AzureSqlServerUpgradeCommunicator.cs @@ -47,19 +47,19 @@ public class AzureSqlServerUpgradeCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Databases /// /// /// - public AzureSqlServerUpgradeCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerUpgradeCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -138,7 +138,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/AzureSqlServerServiceObjectiveCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/AzureSqlServerServiceObjectiveCmdletBase.cs index 1709872b783b..8a76daae9105 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/AzureSqlServerServiceObjectiveCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/AzureSqlServerServiceObjectiveCmdletBase.cs @@ -30,7 +30,7 @@ public abstract class AzureSqlServerServiceObjectiveCmdletBase /// The service objective adapter protected override AzureSqlServerServiceObjectiveAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlServerServiceObjectiveAdapter(Profile, subscription); + return new AzureSqlServerServiceObjectiveAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/GetAzureSqlServerServiceObjective.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/GetAzureSqlServerServiceObjective.cs index d990240ec11f..1aa86c145f2a 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/GetAzureSqlServerServiceObjective.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Cmdlet/GetAzureSqlServerServiceObjective.cs @@ -20,9 +20,9 @@ namespace Microsoft.Azure.Commands.Sql.ServiceObjective.Cmdlet { /// - /// Defines the Get-AzureSqlDatabaseServer cmdlet + /// Defines the Get-AzureRMSqlDatabaseServer cmdlet /// - [Cmdlet(VerbsCommon.Get, "AzureSqlServerServiceObjective", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlServerServiceObjective", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlServerServiceObjective : AzureSqlServerServiceObjectiveCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveAdapter.cs index 4665707c7717..29b0e30d323f 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveAdapter.cs @@ -41,17 +41,17 @@ public class AzureSqlServerServiceObjectiveAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Constructs a ServiceObjective adapter /// /// The current azure profile /// The current azure subscription - public AzureSqlServerServiceObjectiveAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerServiceObjectiveAdapter(AzureContext context) { - Profile = profile; - Communicator = new AzureSqlServerServiceObjectiveCommunicator(Profile, subscription); + Context = context; + Communicator = new AzureSqlServerServiceObjectiveCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveCommunicator.cs index f28fc53c6ee7..dc6482731f7a 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceObjective/Service/AzureSqlServerServiceObjectiveCommunicator.cs @@ -42,19 +42,19 @@ public class AzureSqlServerServiceObjectiveCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Databases ServiceObjective /// /// /// - public AzureSqlServerServiceObjectiveCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServerServiceObjectiveCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -85,7 +85,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeDatabaseHint.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeDatabaseHint.cs index b54941bf3fbd..6d1aab0294ac 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeDatabaseHint.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeDatabaseHint.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Sql.ServiceTierAdvisor.Cmdlet { - [Cmdlet(VerbsCommon.Get, "AzureSqlDatabaseUpgradeHint", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlDatabaseUpgradeHint", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlDatabaseUpgradeHint : AzureSqlCmdletBase, AzureSqlServiceTierAdvisorAdapter> { /// @@ -81,7 +81,7 @@ protected override IEnumerable GetEntity() /// Returns new AzureSqlServiceTierAdvisorAdapter protected override AzureSqlServiceTierAdvisorAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlServiceTierAdvisorAdapter(Profile, subscription); + return new AzureSqlServiceTierAdvisorAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeServerHint.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeServerHint.cs index fce6de2d5f82..13c44497ea4c 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeServerHint.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Cmdlet/GetAzureSqlUpgradeServerHint.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Sql.ServiceTierAdvisor.Cmdlet { - [Cmdlet(VerbsCommon.Get, "AzureSqlServerUpgradeHint", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlServerUpgradeHint", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlServerUpgradeHint : AzureSqlCmdletBase { /// @@ -61,7 +61,7 @@ protected override UpgradeServerHint GetEntity() else { // Return elastic pool hints and exclude databases contained in pools - var elasticPoolAdapter = new AzureSqlElasticPoolRecommendationAdapter(Profile, Profile.Context.Subscription); + var elasticPoolAdapter = new AzureSqlElasticPoolRecommendationAdapter(DefaultProfile.Context); return new UpgradeServerHint { Databases = ModelAdapter.ListUpgradeDatabaseHints(ResourceGroupName, ServerName, true), @@ -77,7 +77,7 @@ protected override UpgradeServerHint GetEntity() /// Returns new AzureSqlServiceTierAdvisorAdapter protected override AzureSqlServiceTierAdvisorAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlServiceTierAdvisorAdapter(Profile, subscription); + return new AzureSqlServiceTierAdvisorAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorAdapter.cs index a86414025e0c..e81e63de2f18 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorAdapter.cs @@ -38,7 +38,7 @@ public class AzureSqlServiceTierAdvisorAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Gets or sets the Azure Subscription @@ -50,11 +50,11 @@ public class AzureSqlServiceTierAdvisorAdapter /// /// The current azure profile /// The current azure subscription - public AzureSqlServiceTierAdvisorAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServiceTierAdvisorAdapter(AzureContext context) { - _subscription = subscription; - Profile = profile; - Communicator = new AzureSqlServiceTierAdvisorCommunicator(profile, subscription); + _subscription = context.Subscription; + Context = context; + Communicator = new AzureSqlServiceTierAdvisorCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorCommunicator.cs index 168fb45fe8d3..dd74ebdbbb78 100644 --- a/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/ServiceTierAdvisor/Services/AzureSqlServiceTierAdvisorCommunicator.cs @@ -39,19 +39,19 @@ public class AzureSqlServiceTierAdvisorCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Service Tier Advisor /// /// /// - public AzureSqlServiceTierAdvisorCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlServiceTierAdvisorCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -105,7 +105,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/Services/Util.cs b/src/ResourceManager/Sql/Commands.Sql/Services/Util.cs index e31d8fa6233d..12b136075026 100644 --- a/src/ResourceManager/Sql/Commands.Sql/Services/Util.cs +++ b/src/ResourceManager/Sql/Commands.Sql/Services/Util.cs @@ -78,11 +78,11 @@ internal static string[] ProcessAuditEvents(string[] eventTypes) { if (eventTypes.Contains(SecurityConstants.All)) { - throw new Exception(string.Format(Resources.InvalidEventTypeSet, SecurityConstants.All)); + throw new Exception(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.InvalidEventTypeSet, SecurityConstants.All)); } if (eventTypes.Contains(SecurityConstants.None)) { - throw new Exception(string.Format(Resources.InvalidEventTypeSet, SecurityConstants.None)); + throw new Exception(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.InvalidEventTypeSet, SecurityConstants.None)); } } return eventTypes; diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBase.cs index 221b39b213b2..5d816281adc8 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBase.cs @@ -50,7 +50,7 @@ public abstract class AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBas /// The server adapter protected override AzureSqlDatabaseTransparentDataEncryptionAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlDatabaseTransparentDataEncryptionAdapter(Profile, subscription); + return new AzureSqlDatabaseTransparentDataEncryptionAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionCmdletBase.cs index 487fa28bc6cb..d3f8a80fe729 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionCmdletBase.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/AzureSqlDatabaseTransparentDataEncryptionCmdletBase.cs @@ -50,7 +50,7 @@ public abstract class AzureSqlDatabaseTransparentDataEncryptionCmdletBase : Azur /// The server adapter protected override AzureSqlDatabaseTransparentDataEncryptionAdapter InitModelAdapter(AzureSubscription subscription) { - return new AzureSqlDatabaseTransparentDataEncryptionAdapter(Profile, subscription); + return new AzureSqlDatabaseTransparentDataEncryptionAdapter(DefaultProfile.Context); } } } diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryption.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryption.cs index c8ebd232b885..fcb7e5eea986 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryption.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryption.cs @@ -19,9 +19,9 @@ namespace Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Cmdlet { /// - /// Defines the Get-AzureSqlDatabaseTransparentDataEncryption cmdlet + /// Defines the Get-AzureRMSqlDatabaseTransparentDataEncryption cmdlet /// - [Cmdlet(VerbsCommon.Get, "AzureSqlDatabaseTransparentDataEncryption", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlDatabaseTransparentDataEncryption", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlDatabaseTransparentDataEncryption : AzureSqlDatabaseTransparentDataEncryptionCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryptionActivity.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryptionActivity.cs index 77ddadf89fa7..c89fc0f2ee45 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryptionActivity.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/GetAzureSqlDatabaseTransparentDataEncryptionActivity.cs @@ -19,9 +19,9 @@ namespace Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Cmdlet { /// - /// Defines the Get-AzureSqlDatabaseTransparentDataEncryption cmdlet + /// Defines the Get-AzureRMSqlDatabaseTransparentDataEncryption cmdlet /// - [Cmdlet(VerbsCommon.Get, "AzureSqlDatabaseTransparentDataEncryptionActivity", ConfirmImpact = ConfirmImpact.None)] + [Cmdlet(VerbsCommon.Get, "AzureRMSqlDatabaseTransparentDataEncryptionActivity", ConfirmImpact = ConfirmImpact.None)] public class GetAzureSqlDatabaseTransparentDataEncryptionActivity : AzureSqlDatabaseTransparentDataEncryptionActivityCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/SetAzureSqlDatabaseTransparentDataEncryption.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/SetAzureSqlDatabaseTransparentDataEncryption.cs index f78968be19fb..6b01db2ac0a3 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/SetAzureSqlDatabaseTransparentDataEncryption.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Cmdlet/SetAzureSqlDatabaseTransparentDataEncryption.cs @@ -20,9 +20,9 @@ namespace Microsoft.Azure.Commands.Sql.TransparentDataEncryption.Cmdlet { /// - /// Defines the Get-AzureSqlDatabaseTransparentDataEncryption cmdlet + /// Defines the Get-AzureRMSqlDatabaseTransparentDataEncryption cmdlet /// - [Cmdlet(VerbsCommon.Set, "AzureSqlDatabaseTransparentDataEncryption", ConfirmImpact = ConfirmImpact.Low)] + [Cmdlet(VerbsCommon.Set, "AzureRMSqlDatabaseTransparentDataEncryption", ConfirmImpact = ConfirmImpact.Low)] public class SetAzureSqlDatabaseTransparentDataEncryption : AzureSqlDatabaseTransparentDataEncryptionCmdletBase { /// diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionAdapter.cs index 58d77ce068bd..797090507571 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionAdapter.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionAdapter.cs @@ -38,17 +38,17 @@ public class AzureSqlDatabaseTransparentDataEncryptionAdapter /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Constructs a Transparent Data Encryption adapter /// /// The current azure profile /// The current azure subscription - public AzureSqlDatabaseTransparentDataEncryptionAdapter(AzureProfile profile, AzureSubscription subscription) + public AzureSqlDatabaseTransparentDataEncryptionAdapter(AzureContext context) { - Profile = profile; - Communicator = new AzureSqlDatabaseTransparentDataEncryptionCommunicator(Profile, subscription); + Context = context; + Communicator = new AzureSqlDatabaseTransparentDataEncryptionCommunicator(Context); } /// diff --git a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionCommunicator.cs index 1abd559139f2..64d78f415e78 100644 --- a/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionCommunicator.cs +++ b/src/ResourceManager/Sql/Commands.Sql/TransparentDataEncryption/Services/AzureSqlDatabaseTransparentDataEncryptionCommunicator.cs @@ -42,19 +42,19 @@ public class AzureSqlDatabaseTransparentDataEncryptionCommunicator /// /// Gets or sets the Azure profile /// - public AzureProfile Profile { get; set; } + public AzureContext Context { get; set; } /// /// Creates a communicator for Azure Sql Databases TransparentDataEncryption /// /// /// - public AzureSqlDatabaseTransparentDataEncryptionCommunicator(AzureProfile profile, AzureSubscription subscription) + public AzureSqlDatabaseTransparentDataEncryptionCommunicator(AzureContext context) { - Profile = profile; - if (subscription != Subscription) + Context = context; + if (context.Subscription != Subscription) { - Subscription = subscription; + Subscription = context.Subscription; SqlClient = null; } } @@ -93,7 +93,7 @@ private SqlManagementClient GetCurrentSqlClient(String clientRequestId) // Get the SQL management client for the current subscription if (SqlClient == null) { - SqlClient = AzureSession.ClientFactory.CreateClient(Profile, Subscription, AzureEnvironment.Endpoint.ResourceManager); + SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager); } SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName); SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId); diff --git a/src/ResourceManager/Sql/Commands.Sql/packages.config b/src/ResourceManager/Sql/Commands.Sql/packages.config index 97c8df2ae80d..4d5c9f30042d 100644 --- a/src/ResourceManager/Sql/Commands.Sql/packages.config +++ b/src/ResourceManager/Sql/Commands.Sql/packages.config @@ -2,20 +2,18 @@ - + + - + - - - diff --git a/src/ResourceManager/Storage/AzureRM.Storage.psd1 b/src/ResourceManager/Storage/AzureRM.Storage.psd1 new file mode 100644 index 000000000000..e50c9e9505b5 --- /dev/null +++ b/src/ResourceManager/Storage/AzureRM.Storage.psd1 @@ -0,0 +1,93 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Management.Storage' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'da67eaa7-4cb1-4bfa-a194-8bf3faae8ac5' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Storage' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( + @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }, + @{ ModuleName = 'Azure.Storage'; ModuleVersion = '0.9.8' } +) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Management.Storage.format.ps1xml', +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Management.Storage.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 026167413206..e9e9552370ad 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 @@ -13,6 +13,7 @@ 512 ..\..\..\..\ true + e6b6ae5d true @@ -38,8 +39,9 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -47,9 +49,8 @@ ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll @@ -59,10 +60,10 @@ ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -97,25 +98,19 @@ - - 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 @@ -124,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} @@ -178,10 +173,6 @@ - - - - - Get-AzureStorageAccount + Get-AzureRMStorageAccount Get the properties of a Storage Account @@ -18,7 +18,7 @@ - Get-AzureStorageAccount + Get-AzureRMStorageAccount ResourceGroupName @@ -121,7 +121,7 @@ PS C:\> PS C:\> #Get one storage account - Get-AzureStorageAccount -ResourceGroupName "RG1" -AccountName "myStorageAccount" + Get-AzureRMStorageAccount -ResourceGroupName "RG1" -AccountName "myStorageAccount" @@ -142,7 +142,7 @@ PS C:\> PS C:\> # Get all Storage Accounts in a Resource Group - Get-AzureStorageAccount -ResourceGroupName "RG1" + Get-AzureRMStorageAccount -ResourceGroupName "RG1" @@ -163,7 +163,7 @@ PS C:\> PS C:\> # Get all Storage Accounts in the subscription - Get-AzureStorageAccount + Get-AzureRMStorageAccount @@ -185,7 +185,7 @@ - Get-AzureStorageAccountKey + Get-AzureRMStorageAccountKey Get the access keys for an Azure storage account @@ -201,7 +201,7 @@ - Get-AzureStorageAccountKey + Get-AzureRMStorageAccountKey ResourceGroupName @@ -304,7 +304,7 @@ PS C:\> #Get keys - Get-AzureStorageAccountKey -ResourceGroupName "RG1" -AccountName "myStorageAccount" + Get-AzureRMStorageAccountKey -ResourceGroupName "RG1" -AccountName "myStorageAccount" @@ -326,7 +326,7 @@ - New-AzureStorageAccount + New-AzureRMStorageAccount Allows you to create a new Storage Account @@ -342,7 +342,7 @@ - New-AzureStorageAccount + New-AzureRMStorageAccount ResourceGroupName @@ -490,7 +490,7 @@ PS C:\> - New-AzureStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -Location "US West" -Type "Standard_GRS" + New-AzureRMStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -Location "US West" -Type "Standard_GRS" @@ -512,7 +512,7 @@ - New-AzureStorageAccountKey + New-AzureRMStorageAccountKey Regenerates a storage key for an Azure storage account. @@ -528,7 +528,7 @@ - New-AzureStorageAccountKey + New-AzureRMStorageAccountKey ResourceGroupName @@ -654,7 +654,7 @@ PS C:\> #Regenerate a key -New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -keyName "key1" +New-AzureRMStorageKey -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -keyName "key1" @@ -676,7 +676,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Remove-AzureStorageAccount + Remove-AzureRMStorageAccount Remove Storage Account from Azure @@ -692,7 +692,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Remove-AzureStorageAccount + Remove-AzureRMStorageAccount ResourceGroupName @@ -794,7 +794,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName PS C:\> - PS C:\> Remove-AzureStorageAccount -ResourceGroupName "RG1" -AccountName "myStorageAccount" + PS C:\> Remove-AzureRMStorageAccount -ResourceGroupName "RG1" -AccountName "myStorageAccount" @@ -816,7 +816,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Set-AzureStorageAccount + Set-AzureRMStorageAccount Update the Storage Account properties @@ -832,7 +832,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Set-AzureStorageAccount + Set-AzureRMStorageAccount ResourceGroupName @@ -869,7 +869,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Set-AzureStorageAccount + Set-AzureRMStorageAccount ResourceGroupName @@ -907,7 +907,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName - Set-AzureStorageAccount + Set-AzureRMStorageAccount ResourceGroupName @@ -1083,7 +1083,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName PS C:\> PS C:\> # Set account type - Set-AzureStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -Type "Standard_RAGRS" + Set-AzureRMStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -Type "Standard_RAGRS" @@ -1104,7 +1104,7 @@ New-AzureStorageKey -ResourceGroupName "myResourceGroup" -AccountName PS C:\> PS C:\> #Set custom domain - Set-AzureStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -CustomDomainName "domain name" –UseSubDomain “true” + Set-AzureRMStorageAccount -ResourceGroupName "myResourceGroup" -AccountName "myStorageAccount" -CustomDomainName "domain name" –UseSubDomain “true” diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccount.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccount.cs index d6531ac7d914..8e0b0fbbcd61 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccount.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccount.cs @@ -38,9 +38,9 @@ public class GetAzureStorageAccountCommand : StorageAccountBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); if (string.IsNullOrEmpty(this.ResourceGroupName)) { diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccountKey.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccountKey.cs index a21d0ec20b76..2d47e3c4d399 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccountKey.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/GetAzureStorageAccountKey.cs @@ -38,9 +38,9 @@ public class GetAzureStorageAccountKeyCommand : StorageAccountBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var listKeyResponse = this.StorageClient.StorageAccounts.ListKeys( this.ResourceGroupName, diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccount.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccount.cs index cd58adbaabce..4fda789c9d57 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccount.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccount.cs @@ -60,9 +60,9 @@ public class NewAzureStorageAccountCommand : StorageAccountBaseCmdlet [ValidateNotNullOrEmpty] public string Location { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); StorageAccountCreateParameters createParameters = new StorageAccountCreateParameters() { diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccountKey.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccountKey.cs index fb599de4bfb7..3a0ee7340a64 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccountKey.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/NewAzureStorageAccountKey.cs @@ -52,9 +52,9 @@ public class NewAzureStorageAccountKeyCommand : StorageAccountBaseCmdlet [ValidateSet(Key1, Key2, IgnoreCase = true)] public string KeyName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); KeyName keyName = ParseKeyName(this.KeyName); diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/RemoveAzureStorageAccount.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/RemoveAzureStorageAccount.cs index 07dbeb11f352..8d5e73104416 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/RemoveAzureStorageAccount.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/RemoveAzureStorageAccount.cs @@ -40,9 +40,9 @@ public class RemoveAzureStorageAccountCommand : StorageAccountBaseCmdlet [ValidateNotNullOrEmpty] public string Name { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); var op = this.StorageClient.StorageAccounts.Delete( this.ResourceGroupName, diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/SetAzureStorageAccount.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/SetAzureStorageAccount.cs index 6560cfef6e8f..44021f577768 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/SetAzureStorageAccount.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/SetAzureStorageAccount.cs @@ -89,9 +89,9 @@ public class SetAzureStorageAccountCommand : StorageAccountBaseCmdlet [ValidateNotNullOrEmpty] public Hashtable[] Tags { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { - base.ExecuteCmdlet(); + base.ProcessRecord(); Dictionary tagDictionary = null; StorageAccountUpdateParameters updateParameters = null; diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/StorageAccountBaseCmdlet.cs b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/StorageAccountBaseCmdlet.cs index 6a2f27aac6ba..75707c30d643 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/StorageAccountBaseCmdlet.cs +++ b/src/ResourceManager/Storage/Commands.Management.Storage/StorageAccount/StorageAccountBaseCmdlet.cs @@ -15,17 +15,18 @@ using System; using System.Collections.Generic; using Microsoft.Azure.Commands.Management.Storage.Models; +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.Azure.Management.Storage; using Microsoft.Azure.Management.Storage.Models; using Microsoft.WindowsAzure.Commands.Utilities.Common; namespace Microsoft.Azure.Commands.Management.Storage { - public abstract class StorageAccountBaseCmdlet : AzurePSCmdlet + public abstract class StorageAccountBaseCmdlet : AzureRMCmdlet { private StorageManagementClientWrapper storageClientWrapper; - protected const string StorageAccountNounStr = "AzureStorageAccount"; + protected const string StorageAccountNounStr = "AzureRMStorageAccount"; protected const string StorageAccountKeyNounStr = StorageAccountNounStr + "Key"; protected const string StorageAccountNameAlias = "StorageAccountName"; @@ -49,7 +50,7 @@ public IStorageManagementClient StorageClient { if (storageClientWrapper == null) { - storageClientWrapper = new StorageManagementClientWrapper(Profile.Context) + storageClientWrapper = new StorageManagementClientWrapper(DefaultProfile.Context) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp @@ -66,15 +67,10 @@ public string SubscriptionId { get { - return Profile.Context.Subscription.Id.ToString(); + return DefaultProfile.Context.Subscription.Id.ToString(); } } - public override void ExecuteCmdlet() - { - base.ExecuteCmdlet(); - } - protected static AccountType ParseAccountType(string accountType) { if ("Standard_LRS".Equals(accountType, StringComparison.OrdinalIgnoreCase)) diff --git a/src/ResourceManager/Storage/Commands.Management.Storage/packages.config b/src/ResourceManager/Storage/Commands.Management.Storage/packages.config index 8789ade50686..c9df8289e4c5 100644 --- a/src/ResourceManager/Storage/Commands.Management.Storage/packages.config +++ b/src/ResourceManager/Storage/Commands.Management.Storage/packages.config @@ -2,7 +2,7 @@ - + @@ -10,7 +10,7 @@ - - + + \ No newline at end of file diff --git a/src/ResourceManager/StreamAnalytics/AzureRM.StreamAnalytics.psd1 b/src/ResourceManager/StreamAnalytics/AzureRM.StreamAnalytics.psd1 new file mode 100644 index 000000000000..6376e26fc05b --- /dev/null +++ b/src/ResourceManager/StreamAnalytics/AzureRM.StreamAnalytics.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.StreamAnalytics' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '59713673-194f-418a-b1f2-ac60db82edf9' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - StreamAnalytics' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.StreamAnalytics.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.StreamAnalytics.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 5346ad58f98d..94b78981337e 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics.Test/Commands.StreamAnalytics.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ 512 ..\..\..\ true - fccf0734 + e11bc73b true @@ -48,8 +48,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -57,7 +57,11 @@ ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + + False ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll @@ -70,11 +74,11 @@ False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -153,33 +157,26 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {bc420543-c04e-4bf3-96e1-cd81b823bdd7} - Commands.Test.Utilities + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {9577252e-0a6b-4d61-86e8-95f7f309a987} @@ -225,14 +222,10 @@ 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}. - + - - - - - - Get-AzureStreamAnalyticsInput + Get-AzureRMStreamAnalyticsInput Lists all of the inputs that are defined in a specified Stream Analytics job or gets information about a specific input. @@ -14,11 +14,11 @@ - The Get-AzureStreamAnalyticsInput cmdlet lists all of the inputs that are defined in a specified Stream Analytics job or gets information about a specific input. + The Get-AzureRMStreamAnalyticsInput cmdlet lists all of the inputs that are defined in a specified Stream Analytics job or gets information about a specific input. - Get-AzureStreamAnalyticsInput + Get-AzureRMStreamAnalyticsInput JobName @@ -152,7 +152,7 @@ PS C:\> - Get-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob + Get-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob This command returns information about all the inputs defined on the job StreamingJob. @@ -172,7 +172,7 @@ PS C:\> - Get-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EntryStream + Get-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EntryStream This command returns information about the input named EntryStream defined on the job StreamingJob. @@ -190,15 +190,15 @@ - New-AzureStreamAnalyticsInput + New-AzureRMStreamAnalyticsInput - Remove-AzureStreamAnalyticsInput + Remove-AzureRMStreamAnalyticsInput - Test-AzureStreamAnalyticsInput + Test-AzureRMStreamAnalyticsInput @@ -206,7 +206,7 @@ - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob Lists all Stream Analytics jobs defined in the Azure subscription or specified resource group or gets job information about a specific job within a resource group. @@ -218,11 +218,11 @@ - The Get-AzureStreamAnalyticsJob cmdlet lists all Stream Analytics jobs defined in the Azure subscription or specified resource group or gets job information about a specific job within a resource group. + The Get-AzureRMStreamAnalyticsJob cmdlet lists all Stream Analytics jobs defined in the Azure subscription or specified resource group or gets job information about a specific job within a resource group. - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob ResourceGroupName @@ -253,7 +253,7 @@ - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob NoExpand @@ -373,7 +373,7 @@ PS C:\> - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob This command returns information about all the Stream Analytics jobs in the Azure subscription. @@ -393,7 +393,7 @@ PS C:\> - Get-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US + Get-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US This command returns information about all the Stream Analytics jobs in the resource group StreamAnalytics-Default-West-US. @@ -413,7 +413,7 @@ PS C:\> - Get-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob + Get-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob This command returns information about the Stream Analytics job StreamingJob in the resource group StreamAnalytics-Default-West-US. @@ -431,19 +431,19 @@ - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob @@ -451,7 +451,7 @@ - Get-AzureStreamAnalyticsOutput + Get-AzureRMStreamAnalyticsOutput Lists all of the outputs that are defined in a specified Stream Analytics job or gets information about a specific output. @@ -463,11 +463,11 @@ - The Get-AzureStreamAnalyticsOutput cmdlet lists all of the outputs that are defined in a specified Stream Analytics job or gets information about a specific output. + The Get-AzureRMStreamAnalyticsOutput cmdlet lists all of the outputs that are defined in a specified Stream Analytics job or gets information about a specific output. - Get-AzureStreamAnalyticsOutput + Get-AzureRMStreamAnalyticsOutput JobName @@ -601,7 +601,7 @@ PS C:\> - Get-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob + Get-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob This command returns information about the outputs defined on the job StreamingJob. @@ -621,7 +621,7 @@ PS C:\> - Get-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output + Get-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output This command returns information about the output named Output defined on the job StreamingJob. @@ -639,15 +639,15 @@ - New-AzureStreamAnalyticsOutput + New-AzureRMStreamAnalyticsOutput - Remove-AzureStreamAnalyticsOutput + Remove-AzureRMStreamAnalyticsOutput - Test-AzureStreamAnalyticsOutput + Test-AzureRMStreamAnalyticsOutput @@ -655,7 +655,7 @@ - Get-AzureStreamAnalyticsQuota + Get-AzureRMStreamAnalyticsQuota Gets information about the Streaming Unit quota of a specified region. @@ -668,11 +668,11 @@ - The Get-AzureStreamAnalyticsQuota cmdlet gets information about the Streaming Unit quota of a specified region. + The Get-AzureRMStreamAnalyticsQuota cmdlet gets information about the Streaming Unit quota of a specified region. - Get-AzureStreamAnalyticsQuota + Get-AzureRMStreamAnalyticsQuota Location @@ -768,7 +768,7 @@ PS C:\> - Get-AzureStreamAnalyticsQuota -Location "West US" + Get-AzureRMStreamAnalyticsQuota -Location "West US" This command returns information about Streaming Unit quota and usage in the West US region. @@ -794,7 +794,7 @@ - Get-AzureStreamAnalyticsTransformation + Get-AzureRMStreamAnalyticsTransformation Gets information about a specific transformation defined on Stream Analytics job. @@ -806,11 +806,11 @@ - The Get-AzureStreamAnalyticsTransformation cmdlet gets information about a specific transformation defined on Stream Analytics job. + The Get-AzureRMStreamAnalyticsTransformation cmdlet gets information about a specific transformation defined on Stream Analytics job. - Get-AzureStreamAnalyticsTransformation + Get-AzureRMStreamAnalyticsTransformation JobName @@ -944,7 +944,7 @@ PS C:\> - Get-AzureStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name StreamingJob + Get-AzureRMStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name StreamingJob This command returns information about the transformation called StreamingJob on the job StreamingJob. @@ -962,7 +962,7 @@ - New-AzureStreamAnalyticsTransformation + New-AzureRMStreamAnalyticsTransformation @@ -970,7 +970,7 @@ - New-AzureStreamAnalyticsInput + New-AzureRMStreamAnalyticsInput Creates a new input within a Stream Analytics job or updates an existing specified input. @@ -987,14 +987,14 @@ - The New-AzureStreamAnalyticsInput cmdlet creates a new input within a Stream Analytics job or updates an existing specified input. + The New-AzureRMStreamAnalyticsInput cmdlet creates a new input within a Stream Analytics job or updates an existing specified input. The name of the input can be specified in the .JSON file or on the command line. If both are specified, the name on command line must be the same with the one in the file. If you specify an input that already exists and do not specify -Force parameter, the cmdlet will ask whether or not to replace the existing input. If you specify -Force parameter and specify an existing input name, the input will be replaced without confirmation. - New-AzureStreamAnalyticsInput + New-AzureRMStreamAnalyticsInput JobName @@ -1165,7 +1165,7 @@ PS C:\> - New-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" + New-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" This command creates a new input from the file Input.json. If an existing input with the name specified in the input definition file is already defined, the cmdlet will ask whether or not to replace it. @@ -1185,7 +1185,7 @@ PS C:\> - New-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" -Name EntryStream + New-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" -Name EntryStream This command creates a new input on the job called EntryStream. If an existing input with this name is already defined, the cmdlet will ask whether or not to replace it. @@ -1205,7 +1205,7 @@ PS C:\> - New-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" -Name EntryStream -Force + New-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -File "C:\Input.json" -Name EntryStream -Force This command replaces the definition of the existing input source called EntryStream with the definition from file. @@ -1223,15 +1223,15 @@ - Get-AzureStreamAnalyticsInput + Get-AzureRMStreamAnalyticsInput - Remove-AzureStreamAnalyticsInput + Remove-AzureRMStreamAnalyticsInput - Test-AzureStreamAnalyticsInput + Test-AzureRMStreamAnalyticsInput @@ -1239,7 +1239,7 @@ - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob Creates a new Stream Analytics job in Microsoft Azure or updates the definition of an existing specified job. @@ -1256,14 +1256,14 @@ - The New-AzureStreamAnalyticsJob cmdlet creates a new Stream Analytics job in Microsoft Azure or updates the definition of an existing specified job. + The New-AzureRMStreamAnalyticsJob cmdlet creates a new Stream Analytics job in Microsoft Azure or updates the definition of an existing specified job. The name of the job can be specified in the .JSON file or on the command line. If both are specified, the name on command line must be the same with the one in the file. If you specify a job name that already exists and do not specify -Force parameter, the cmdlet will ask whether or not to replace the existing job. If you specify -Force parameter and specify an existing job name, the job definition will be replaced without confirmation. - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob Name @@ -1415,7 +1415,7 @@ PS C:\> - New-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\JobDefinition.json" + New-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\JobDefinition.json" This command creates a new job from the definition in JobDefinition.json. If an existing job with the name specified in the job definition file is already defined, the cmdlet will ask whether or not to replace it. @@ -1435,7 +1435,7 @@ PS C:\> - New-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\JobDefinition.json" -Name StreamingJob -Force + New-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\JobDefinition.json" -Name StreamingJob -Force This command replaces the job definition for StreamingJob. @@ -1453,19 +1453,19 @@ - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob @@ -1473,7 +1473,7 @@ - New-AzureStreamAnalyticsOutput + New-AzureRMStreamAnalyticsOutput Creates a new output within a Stream Analytics job or updates an existing output. @@ -1490,14 +1490,14 @@ - The New-AzureStreamAnalyticsOutput cmdlet creates a new output within a Stream Analytics job or updates an existing output. + The New-AzureRMStreamAnalyticsOutput cmdlet creates a new output within a Stream Analytics job or updates an existing output. The name of the output can be specified in the .JSON file or on the command line. If both are specified, the name on command line must be the same with the one in the file. If you specify an output that already exists and do not specify -Force parameter, the cmdlet will ask whether or not to replace the existing output. If you specify -Force parameter and specify an existing output name, the output will be replaced without confirmation. - New-AzureStreamAnalyticsOutput + New-AzureRMStreamAnalyticsOutput JobName @@ -1668,7 +1668,7 @@ PS C:\> - New-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Output.json" -JobName StreamingJob -Name output + New-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Output.json" -JobName StreamingJob -Name output This command creates a new output called "output" in the job StreamingJob. If an existing output with this name is already defined, the cmdlet will ask whether or not to replace it. @@ -1689,7 +1689,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - New-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Output.json" -JobName StreamingJob -Name output -Force + New-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Output.json" -JobName StreamingJob -Name output -Force This command replaces the definition for "output" in the job StreamingJob. @@ -1707,15 +1707,15 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsOutput + Get-AzureRMStreamAnalyticsOutput - Remove-AzureStreamAnalyticsOutput + Remove-AzureRMStreamAnalyticsOutput - Test-AzureStreamAnalyticsOutput + Test-AzureRMStreamAnalyticsOutput @@ -1723,7 +1723,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - New-AzureStreamAnalyticsTransformation + New-AzureRMStreamAnalyticsTransformation Creates a new transformation within a Stream Analytics job or updates the existing transformation. @@ -1740,14 +1740,14 @@ is already defined, the cmdlet will ask whether or not to replace it. - The New-AzureStreamAnalyticsTransformation cmdlet creates a new transformation within a Stream Analytics job or updates the existing transformation. + The New-AzureRMStreamAnalyticsTransformation cmdlet creates a new transformation within a Stream Analytics job or updates the existing transformation. The name of the transformation can be specified in the .JSON file or on the command line. If both are specified, the name on command line must be the same with the one in the file. If you specify a transformation that already exists and do not specify -Force parameter, the cmdlet will ask whether or not to replace the existing transformation. If you specify -Force parameter and specify an existing transformation name, the transformation will be replaced without confirmation. - New-AzureStreamAnalyticsTransformation + New-AzureRMStreamAnalyticsTransformation JobName @@ -1918,7 +1918,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - New-AzureStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Transformation.json" -JobName StreamingJob -Name StreamingJobTransform + New-AzureRMStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Transformation.json" -JobName StreamingJob -Name StreamingJobTransform This command creates a new transformation called StreamingJobTransform in the job StreamingJob. If an existing transformation is already defined with this name, the cmdlet will ask whether or not to replace it. @@ -1938,7 +1938,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - New-AzureStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Transformation.json" -JobName StreamingJob -Name StreamingJobTransform -Force + New-AzureRMStreamAnalyticsTransformation -ResourceGroupName StreamAnalytics-Default-West-US -File "C:\Transformation.json" -JobName StreamingJob -Name StreamingJobTransform -Force This command replaces the definition of StreamingJobTransform in the job StreamingJob. @@ -1956,7 +1956,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsTransformation + Get-AzureRMStreamAnalyticsTransformation @@ -1964,7 +1964,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Remove-AzureStreamAnalyticsInput + Remove-AzureRMStreamAnalyticsInput Asynchronously deletes a specific input from a Stream Analytics job in Microsoft Azure. @@ -1979,12 +1979,12 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Remove-AzureStreamAnalyticsInput cmdlet asynchronously deletes a specific input from a Stream Analytics job in Microsoft Azure. + The Remove-AzureRMStreamAnalyticsInput cmdlet asynchronously deletes a specific input from a Stream Analytics job in Microsoft Azure. If you specify -Force parameter the input will be deleted without confirmation. - Remove-AzureStreamAnalyticsInput + Remove-AzureRMStreamAnalyticsInput JobName @@ -2136,7 +2136,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Remove-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EventStream + Remove-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EventStream This command removes the input EventStream from StreamingJob @@ -2154,15 +2154,15 @@ is already defined, the cmdlet will ask whether or not to replace it. - New-AzureStreamAnalyticsInput + New-AzureRMStreamAnalyticsInput - Get-AzureStreamAnalyticsInput + Get-AzureRMStreamAnalyticsInput - Test-AzureStreamAnalyticsInput + Test-AzureRMStreamAnalyticsInput @@ -2170,7 +2170,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob Asynchronously deletes a specific Stream Analytics job in Microsoft Azure. @@ -2185,12 +2185,12 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Remove-AzureStreamAnalyticsJob cmdlet asynchronously deletes a specific Stream Analytics job in Microsoft Azure. + The Remove-AzureRMStreamAnalyticsJob cmdlet asynchronously deletes a specific Stream Analytics job in Microsoft Azure. If you specify -Force parameter the job will be deleted without confirmation. - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob Name @@ -2323,7 +2323,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Remove-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob + Remove-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob This command removes the job StreamingJob. @@ -2341,19 +2341,19 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob @@ -2361,7 +2361,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Remove-AzureStreamAnalyticsOutput + Remove-AzureRMStreamAnalyticsOutput Asynchronously deletes a specific output from a Stream Analytics job in Microsoft Azure. @@ -2376,12 +2376,12 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Remove-AzureStreamAnalyticsOutput cmdlet asynchronously deletes a specific output from a Stream Analytics job in Microsoft Azure. + The Remove-AzureRMStreamAnalyticsOutput cmdlet asynchronously deletes a specific output from a Stream Analytics job in Microsoft Azure. If you specify -Force parameter the output will be deleted without confirmation. - Remove-AzureStreamAnalyticsOutput + Remove-AzureRMStreamAnalyticsOutput JobName @@ -2533,7 +2533,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Remove-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output + Remove-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output This command removes the output Output in the job StreamingJob. @@ -2551,15 +2551,15 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsOutput + Get-AzureRMStreamAnalyticsOutput - New-AzureStreamAnalyticsOutput + New-AzureRMStreamAnalyticsOutput - Test-AzureStreamAnalyticsOutput + Test-AzureRMStreamAnalyticsOutput @@ -2567,7 +2567,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob Asynchronously deploys and starts a Stream Analytics job in Microsoft Azure. @@ -2579,11 +2579,11 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Start-AzureStreamAnalyticsJob cmdlet asynchronously deploys and starts a Stream Analytics job in Microsoft Azure. + The Start-AzureRMStreamAnalyticsJob cmdlet asynchronously deploys and starts a Stream Analytics job in Microsoft Azure. - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob Name @@ -2735,7 +2735,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Start-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob -OutputStartMode CustomTime -OutputStartTime 2014-07-03T01:00Z + Start-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob -OutputStartMode CustomTime -OutputStartTime 2014-07-03T01:00Z This command starts the job StreamingJob and specifies that the output event stream should start at timestamp 2014-07-03T01:00Z. @@ -2753,19 +2753,19 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob @@ -2773,7 +2773,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob Asynchronously stops a Stream Analytics job from running in Microsoft Azure and de-allocates resources that were that were being used. The job definition and meta-data will remain available within your subscription through both the Azure Portal and Management APIs, such that the job can be edited and restarted. You will not be charged for a job in the Stopped state. @@ -2785,11 +2785,11 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Stop-AzureStreamAnalyticsJob cmdlet asynchronously stops a Stream Analytics job from running in Microsoft Azure and de-allocates resources that were that were being used. The job definition and meta-data will remain available within your subscription through both the Azure Portal and Management APIs, such that the job can be edited and restarted. You will not be charged for a job in the Stopped state. + The Stop-AzureRMStreamAnalyticsJob cmdlet asynchronously stops a Stream Analytics job from running in Microsoft Azure and de-allocates resources that were that were being used. The job definition and meta-data will remain available within your subscription through both the Azure Portal and Management APIs, such that the job can be edited and restarted. You will not be charged for a job in the Stopped state. - Stop-AzureStreamAnalyticsJob + Stop-AzureRMStreamAnalyticsJob Name @@ -2903,7 +2903,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Stop-AzureStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob + Stop-AzureRMStreamAnalyticsJob -ResourceGroupName StreamAnalytics-Default-West-US -Name StreamingJob This command stops the job StreamingJob. @@ -2921,19 +2921,19 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsJob + Get-AzureRMStreamAnalyticsJob - New-AzureStreamAnalyticsJob + New-AzureRMStreamAnalyticsJob - Remove-AzureStreamAnalyticsJob + Remove-AzureRMStreamAnalyticsJob - Start-AzureStreamAnalyticsJob + Start-AzureRMStreamAnalyticsJob @@ -2941,7 +2941,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Test-AzureStreamAnalyticsInput + Test-AzureRMStreamAnalyticsInput Tests the ability of Stream Analytics to connect to a specified input. @@ -2953,11 +2953,11 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Test-AzureStreamAnalyticsInput cmdlet tests the ability of Stream Analytics to connect to a specified input. + The Test-AzureRMStreamAnalyticsInput cmdlet tests the ability of Stream Analytics to connect to a specified input. - Test-AzureStreamAnalyticsInput + Test-AzureRMStreamAnalyticsInput JobName @@ -3090,7 +3090,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Test-AzureStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EntryStream + Test-AzureRMStreamAnalyticsInput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name EntryStream This tests the connection status of the input EntryStream in StreamingJob. @@ -3108,15 +3108,15 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsInput + Get-AzureRMStreamAnalyticsInput - New-AzureStreamAnalyticsInput + New-AzureRMStreamAnalyticsInput - Remove-AzureStreamAnalyticsInput + Remove-AzureRMStreamAnalyticsInput @@ -3124,7 +3124,7 @@ is already defined, the cmdlet will ask whether or not to replace it. - Test-AzureStreamAnalyticsOutput + Test-AzureRMStreamAnalyticsOutput Tests the ability of Stream Analytics to connect to a specified output. @@ -3136,11 +3136,11 @@ is already defined, the cmdlet will ask whether or not to replace it. - The Test-AzureStreamAnalyticsOutput cmdlet tests the ability of Stream Analytics to connect to a specified output. + The Test-AzureRMStreamAnalyticsOutput cmdlet tests the ability of Stream Analytics to connect to a specified output. - Test-AzureStreamAnalyticsOutput + Test-AzureRMStreamAnalyticsOutput JobName @@ -3273,7 +3273,7 @@ is already defined, the cmdlet will ask whether or not to replace it. PS C:\> - Test-AzureStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output + Test-AzureRMStreamAnalyticsOutput -ResourceGroupName StreamAnalytics-Default-West-US -JobName StreamingJob -Name Output This tests the connection status of the output Output in StreamingJob. @@ -3291,15 +3291,15 @@ is already defined, the cmdlet will ask whether or not to replace it. - Get-AzureStreamAnalyticsOuput + Get-AzureRMStreamAnalyticsOuput - New-AzureStreamAnalyticsOuput + New-AzureRMStreamAnalyticsOuput - Remove-AzureStreamAnalyticsOuput + Remove-AzureRMStreamAnalyticsOuput diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/GetAzureStreamAnalyticsOutputCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/GetAzureStreamAnalyticsOutputCommand.cs index 359f09a44969..79f11845c9b5 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/GetAzureStreamAnalyticsOutputCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/GetAzureStreamAnalyticsOutputCommand.cs @@ -31,7 +31,7 @@ public class GetAzureStreamAnalyticsOutputCommand : StreamAnalyticsResourceProvi public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ResourceGroupName != null && string.IsNullOrWhiteSpace(ResourceGroupName)) { diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/NewAzureStreamAnalyticsOutputCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/NewAzureStreamAnalyticsOutputCommand.cs index 3e23cdc197e5..cefb32611a36 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/NewAzureStreamAnalyticsOutputCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/NewAzureStreamAnalyticsOutputCommand.cs @@ -40,7 +40,7 @@ public class NewAzureStreamAnalyticsOutputCommand : StreamAnalyticsResourceProvi public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { string rawJsonContent = StreamAnalyticsClient.ReadJsonFileContent(this.TryResolvePath(File)); diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/RemoveAzureStreamAnalyticsOutputCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/RemoveAzureStreamAnalyticsOutputCommand.cs index debefdbd8ac5..cb0b63fc3597 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/RemoveAzureStreamAnalyticsOutputCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/RemoveAzureStreamAnalyticsOutputCommand.cs @@ -35,7 +35,7 @@ public class RemoveAzureStreamAnalyticsOutputCommand : StreamAnalyticsResourcePr public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ResourceGroupName != null && string.IsNullOrWhiteSpace(ResourceGroupName)) { diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/TestAzureStreamAnalyticsOutputCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/TestAzureStreamAnalyticsOutputCommand.cs index 0167bb6182d0..c72715521902 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/TestAzureStreamAnalyticsOutputCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Output/TestAzureStreamAnalyticsOutputCommand.cs @@ -34,7 +34,7 @@ public class TestAzureStreamAnalyticsOutputCommand : StreamAnalyticsResourceProv public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ResourceGroupName != null && string.IsNullOrWhiteSpace(ResourceGroupName)) { diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/StreamAnalyticsBaseCmdlet.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/StreamAnalyticsBaseCmdlet.cs index 0fd25ac2e2ca..dc0f422827ca 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/StreamAnalyticsBaseCmdlet.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/StreamAnalyticsBaseCmdlet.cs @@ -19,10 +19,11 @@ using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Commands.Utilities.Common; using Hyak.Common; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.StreamAnalytics { - public abstract class StreamAnalyticsBaseCmdlet : AzurePSCmdlet + public abstract class StreamAnalyticsBaseCmdlet : AzureRMCmdlet { private StreamAnalyticsClient streamAnalyticsClient; @@ -35,7 +36,7 @@ internal StreamAnalyticsClient StreamAnalyticsClient { if (this.streamAnalyticsClient == null) { - this.streamAnalyticsClient = new StreamAnalyticsClient(Profile.Context); + this.streamAnalyticsClient = new StreamAnalyticsClient(DefaultProfile.Context); } return this.streamAnalyticsClient; } diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Subscription/GetAzureStreamAnalyticsQuotasCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Subscription/GetAzureStreamAnalyticsQuotasCommand.cs index a98bcd5a7e23..18ea4e031bb6 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Subscription/GetAzureStreamAnalyticsQuotasCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Subscription/GetAzureStreamAnalyticsQuotasCommand.cs @@ -27,7 +27,7 @@ public class GetAzureStreamAnalyticsQuotasCommand : StreamAnalyticsBaseCmdlet public string Location { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (Location != null && string.IsNullOrWhiteSpace(Location)) { diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/GetAzureStreamAnalyticsTransformationCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/GetAzureStreamAnalyticsTransformationCommand.cs index 032d0cda2c61..2cff97889527 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/GetAzureStreamAnalyticsTransformationCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/GetAzureStreamAnalyticsTransformationCommand.cs @@ -31,7 +31,7 @@ public class GetAzureStreamAnalyticsTransformationCommand : StreamAnalyticsResou public string Name { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (ResourceGroupName != null && string.IsNullOrWhiteSpace(ResourceGroupName)) { diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/NewAzureStreamAnalyticsTransformationCommand.cs b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/NewAzureStreamAnalyticsTransformationCommand.cs index 2e6018278b22..494ec00f1112 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/NewAzureStreamAnalyticsTransformationCommand.cs +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/Transformation/NewAzureStreamAnalyticsTransformationCommand.cs @@ -40,7 +40,7 @@ public class NewAzureStreamAnalyticsTransformationCommand : StreamAnalyticsResou public SwitchParameter Force { get; set; } [EnvironmentPermission(SecurityAction.Demand, Unrestricted = true)] - public override void ExecuteCmdlet() + protected override void ProcessRecord() { string rawJsonContent = StreamAnalyticsClient.ReadJsonFileContent(this.TryResolvePath(File)); diff --git a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/packages.config b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/packages.config index 4c7cab1e15e7..198350208389 100644 --- a/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/packages.config +++ b/src/ResourceManager/StreamAnalytics/Commands.StreamAnalytics/packages.config @@ -2,8 +2,9 @@ - + + @@ -20,4 +21,4 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Tags/AzureRM.Tags.psd1 b/src/ResourceManager/Tags/AzureRM.Tags.psd1 new file mode 100644 index 000000000000..7d6e69ed92cd --- /dev/null +++ b/src/ResourceManager/Tags/AzureRM.Tags.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Tags' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '59713673-194f-418a-b1f2-ac60db82edf9' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Tags' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.Tags.format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Tags.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/Tags/Commands.Tags/Commands.Tags.csproj b/src/ResourceManager/Tags/Commands.Tags/Commands.Tags.csproj index e2d09ed1bac4..3bdba790afb9 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Commands.Tags.csproj +++ b/src/ResourceManager/Tags/Commands.Tags/Commands.Tags.csproj @@ -20,7 +20,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\Tags + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.Tags DEBUG;TRACE prompt 4 @@ -29,7 +29,7 @@ false - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\Tags + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.Tags TRACE;SIGN true pdbonly @@ -55,7 +55,7 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -121,20 +121,6 @@ - - - {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} - Commands.Common.Storage - - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c60342b1-47d3-4a0e-8081-9b97ce60b7af} - Commands.Profile - - PreserveNewest @@ -143,6 +129,10 @@ Designer PreserveNewest + + AzureRM.Tags.psd1 + PreserveNewest + @@ -170,6 +160,12 @@ + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + @@ -177,8 +173,4 @@ - - - - - \ No newline at end of file + diff --git a/src/ResourceManager/Tags/Commands.Tags/Microsoft.Azure.Commands.Tags.dll-help.xml b/src/ResourceManager/Tags/Commands.Tags/Microsoft.Azure.Commands.Tags.dll-help.xml index 1aee30ad1b7e..1c8ff261eb2a 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Microsoft.Azure.Commands.Tags.dll-help.xml +++ b/src/ResourceManager/Tags/Commands.Tags/Microsoft.Azure.Commands.Tags.dll-help.xml @@ -2,7 +2,7 @@ - Get-AzureTag + Get-AzureRMTag Gets predefined Azure tags @@ -15,15 +15,15 @@ - The Get-AzureTag cmdlet gets predefined Azure tags in your subscription. This cmdlet returns basic information about the tags or detailed information about tags and their values. All output objects include a Count property that represents the number of resources and resource groups to which the tags and values have been applied. Get-AzureTag is part of a set of cmdlets (New/Get/Remove) that help you manage predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups. You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription.To create a predefined tag, use the New-AzureTag cmdlet. To apply a predefined tag to a resource or resource group. use the Tag parameters of the New and Set cmdlets in the AzureResourceManager module. To search for resources or resource groups with a specified tag name or name and value, use the Tag parameters of the Get-AzureResource and Get-AzureResourceGroup cmdlets. + The Get-AzureRMTag cmdlet gets predefined Azure tags in your subscription. This cmdlet returns basic information about the tags or detailed information about tags and their values. All output objects include a Count property that represents the number of resources and resource groups to which the tags and values have been applied. Get-AzureRMTag is part of a set of cmdlets (New/Get/Remove) that help you manage predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups. You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription.To create a predefined tag, use the New-AzureRMTag cmdlet. To apply a predefined tag to a resource or resource group. use the Tag parameters of the New and Set cmdlets in the AzureResourceManager module. To search for resources or resource groups with a specified tag name or name and value, use the Tag parameters of the Get-AzureRMResource and Get-AzureRMResourceGroup cmdlets. - Get-AzureTag + Get-AzureRMTag Name - Gets detailed information about the predefined tag with the specified name. By default, Get-AzureTag gets basic information about all predefined tags in the subscription.When you use the Name parameter, the Detailed parameter has no effect. + Gets detailed information about the predefined tag with the specified name. By default, Get-AzureRMTag gets basic information about all predefined tags in the subscription.When you use the Name parameter, the Detailed parameter has no effect. String @@ -40,7 +40,7 @@ Name - Gets detailed information about the predefined tag with the specified name. By default, Get-AzureTag gets basic information about all predefined tags in the subscription.When you use the Name parameter, the Detailed parameter has no effect. + Gets detailed information about the predefined tag with the specified name. By default, Get-AzureRMTag gets basic information about all predefined tags in the subscription.When you use the Name parameter, the Detailed parameter has no effect. String @@ -100,7 +100,7 @@ - PS C:\>Get-AzureTag + PS C:\>Get-AzureRMTag Name Count ======== ===== @@ -124,7 +124,7 @@ CostCenter 20 - PS C:\>Get-AzureTag -Name Department + PS C:\>Get-AzureRMTag -Name Department Name: Department Count: 5 @@ -152,7 +152,7 @@ Values: - PS C:\>Get-AzureTag -Detailed + PS C:\>Get-AzureRMTag -Detailed Name: Department Count: 5 @@ -204,11 +204,11 @@ Values: http://go.microsoft.com/fwlink/?LinkId=404173 - New-AzureTag + New-AzureRMTag - Remove-AzureTag + Remove-AzureRMTag @@ -216,7 +216,7 @@ Values: - New-AzureTag + New-AzureRMTag Creates a predefined Azure tag or adds values to an existing tag @@ -229,15 +229,15 @@ Values: - The New-AzureTag cmdlet creates a predefined Azure tag with an optional predefined value. You can also use it to add additional values to existing predefined tags. To create a new predefined tag, enter a unique tag name. To add a value to an existing predefined tag, specify the name of the existing tag and the new value. This cmdlet returns an object that represents the new or changed tag with its values and the number of resources to which it has been applied. New-AzureTag is part of a set of cmdlets (New/Get/Remove) that let you manage predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups. You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription.To apply a predefined tag to a resource or resource group. use the Tag parameters of the New and Set cmdlets in the AzureResourceManager module. To search for resources or resource groups with a specified tag name or name and value, use the Tag parameters of the Get-AzureResource and Get-AzureResourceGroup cmdlets.Every tag has a name. The values are optional. A predefined Azure tag can have multiple values, but when you apply the tag to a resource or resource group, you apply the tag name and only one of its values. For example, you can create a predefined Department tag with a value for each department, such as Finance, Human Resources, and IT. When you apply the Department tag to a resource, you apply only one predefined value, such as Finance. + The New-AzureRMTag cmdlet creates a predefined Azure tag with an optional predefined value. You can also use it to add additional values to existing predefined tags. To create a new predefined tag, enter a unique tag name. To add a value to an existing predefined tag, specify the name of the existing tag and the new value. This cmdlet returns an object that represents the new or changed tag with its values and the number of resources to which it has been applied. New-AzureRMTag is part of a set of cmdlets (New/Get/Remove) that let you manage predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups. You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription.To apply a predefined tag to a resource or resource group. use the Tag parameters of the New and Set cmdlets in the AzureResourceManager module. To search for resources or resource groups with a specified tag name or name and value, use the Tag parameters of the Get-AzureRMResource and Get-AzureRMResourceGroup cmdlets.Every tag has a name. The values are optional. A predefined Azure tag can have multiple values, but when you apply the tag to a resource or resource group, you apply the tag name and only one of its values. For example, you can create a predefined Department tag with a value for each department, such as Finance, Human Resources, and IT. When you apply the Department tag to a resource, you apply only one predefined value, such as Finance. - New-AzureTag + New-AzureRMTag Name - Specifies the tag name. To create a new predefined tag, enter a unique name. To add a new value to an existing tag, enter the name of the existing tag.If an existing predefined tag has the specified name, New-AzureTag adds the specified value, if any, to the tag with that name, instead of creating a new tag. + Specifies the tag name. To create a new predefined tag, enter a unique name. To add a new value to an existing tag, enter the name of the existing tag.If an existing predefined tag has the specified name, New-AzureRMTag adds the specified value, if any, to the tag with that name, instead of creating a new tag. String @@ -254,7 +254,7 @@ Values: Name - Specifies the tag name. To create a new predefined tag, enter a unique name. To add a new value to an existing tag, enter the name of the existing tag.If an existing predefined tag has the specified name, New-AzureTag adds the specified value, if any, to the tag with that name, instead of creating a new tag. + Specifies the tag name. To create a new predefined tag, enter a unique name. To add a new value to an existing tag, enter the name of the existing tag.If an existing predefined tag has the specified name, New-AzureRMTag adds the specified value, if any, to the tag with that name, instead of creating a new tag. String @@ -314,7 +314,7 @@ Values: - PS C:\>New-AzureTag -Name FY2015 + PS C:\>New-AzureRMTag -Name FY2015 Name: Department Count: 0 @@ -327,7 +327,7 @@ Values: Finance 0 - This command creates a predefined tag named "FY2015". This tag has no values. You can apply a tag with no values to a resource or resource group, or use New-AzureTag to add values to the tag. You can also specify a value when you apply the tag to the resource or resource group. + This command creates a predefined tag named "FY2015". This tag has no values. You can apply a tag with no values to a resource or resource group, or use New-AzureRMTag to add values to the tag. You can also specify a value when you apply the tag to the resource or resource group. @@ -340,7 +340,7 @@ Values: - PS C:\>New-AzureTag -Name Department -Value Finance + PS C:\>New-AzureRMTag -Name Department -Value Finance Name: Department Count: 0 @@ -366,7 +366,7 @@ Values: - PS C:\>New-AzureTag -Name Department -Value Finance + PS C:\>New-AzureRMTag -Name Department -Value Finance Name: Department Count: 0 @@ -376,7 +376,7 @@ Values: Finance 0 -PS C:\>New-AzureTag -Name Department -Value IT +PS C:\>New-AzureRMTag -Name Department -Value IT Name: Department Count: 0 @@ -386,7 +386,7 @@ Values: Finance 0 IT 0 - These commands creates a Department predefined tag with two values. When the tag name exists, New-AzureTag adds the value to the existing tag, instead of creating a new one. + These commands creates a Department predefined tag with two values. When the tag name exists, New-AzureRMTag adds the value to the existing tag, instead of creating a new one. @@ -399,7 +399,7 @@ Values: - PS C:\>New-AzureTag -Name CostCenter -Value 0001 + PS C:\>New-AzureRMTag -Name CostCenter -Value 0001 Name: CostCenter @@ -410,7 +410,7 @@ Values: 0001 0 -PS C:\>Set-AzureResourceGroup -Name EngineerBlog -Tag @{Name="CostCenter";Value="0001"} +PS C:\>Set-AzureRMResourceGroup -Name EngineerBlog -Tag @{Name="CostCenter";Value="0001"} Name: EngineerBlog @@ -428,7 +428,7 @@ Tags: CostCenter 0001 -PS C:\>Get-AzureTag -Name CostCenter +PS C:\>Get-AzureRMTag -Name CostCenter Name: CostCenter @@ -438,7 +438,7 @@ Values: ========= ===== 0001 1 -PS C:\>Get-AzureResourceGroup -Tag @{Name="CostCenter"} +PS C:\>Get-AzureRMResourceGroup -Tag @{Name="CostCenter"} Name: EngineerBlog Location: East US @@ -458,7 +458,7 @@ Tags: - The first command uses the New-AzureTag cmdlet to create a predefined CostCenter tag with a value of 0001. You can use New-AzureTag again to add more values to the predefined tag.The second command uses the Set-AzureResourceGroup cmdlet to apply the CostCenter tag to the EngineerBlog resource group.The third command uses the Get-AzureTag cmdlet to get the CostCenter tag. The output shows that the Count property of the tag and its values were incremented when the tag was applied to the EngineeringBlog resource group.The fourth command uses the Tag parameter of the Get-AzureResource cmdlet to search for resource groups with the CostCenter tag (and any value). The cmdlet returns the EngineeringBlog resource group. + The first command uses the New-AzureRMTag cmdlet to create a predefined CostCenter tag with a value of 0001. You can use New-AzureRMTag again to add more values to the predefined tag.The second command uses the Set-AzureRMResourceGroup cmdlet to apply the CostCenter tag to the EngineerBlog resource group.The third command uses the Get-AzureRMTag cmdlet to get the CostCenter tag. The output shows that the Count property of the tag and its values were incremented when the tag was applied to the EngineeringBlog resource group.The fourth command uses the Tag parameter of the Get-AzureRMResource cmdlet to search for resource groups with the CostCenter tag (and any value). The cmdlet returns the EngineeringBlog resource group. @@ -469,11 +469,11 @@ Tags: http://go.microsoft.com/fwlink/?LinkId=404172 - Get-AzureTag + Get-AzureRMTag - Remove-AzureTag + Remove-AzureRMTag @@ -481,7 +481,7 @@ Tags: - Remove-AzureTag + Remove-AzureRMTag Deletes predefined Azure tags or values @@ -494,15 +494,15 @@ Tags: - The Remove-AzureTag cmdlet deletes predefined Azure tags and values from your subscription. To delete particular values from a predefined tag, use the Value parameter. By default, Remove-AzureTag deletes the specified tag and all of its values.You cannot delete a tag or value that is currently applied to a resource or resource group. Before using Remove-AzureTag, use the Tag parameter of the Set-AzureResource or Set-AzureResourceGroup cmdlets to delete the tag or values from the resource or resource group. The Remove-AzureTag cmdlet is part of a set of cmdlets (New/Get/Remove) that help you to manage your predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups.You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription. + The Remove-AzureRMTag cmdlet deletes predefined Azure tags and values from your subscription. To delete particular values from a predefined tag, use the Value parameter. By default, Remove-AzureRMTag deletes the specified tag and all of its values.You cannot delete a tag or value that is currently applied to a resource or resource group. Before using Remove-AzureRMTag, use the Tag parameter of the Set-AzureRMResource or Set-AzureRMResourceGroup cmdlets to delete the tag or values from the resource or resource group. The Remove-AzureRMTag cmdlet is part of a set of cmdlets (New/Get/Remove) that help you to manage your predefined Azure tags.An Azure "tag" is a name-value pair that you can use to categorize your Azure resources and resource groups, such as by department or cost center, or to track notes or comments about the resources and groups.You can define and apply tags in a single step, but predefined tags let you establish standard, consistent, predictable names and values for the tags in your subscription. If the subscription includes any predefined tags, you cannot apply undefined tags or values to any resource or resource group in the subscription. - Remove-AzureTag + Remove-AzureRMTag Name - Specifies the name of the tag to be deleted. This parameter is required. By default, Remove-AzureTag removes the specified tag and all of its values. To delete selected values, but not delete the tag, use the Value parameter. + Specifies the name of the tag to be deleted. This parameter is required. By default, Remove-AzureRMTag removes the specified tag and all of its values. To delete selected values, but not delete the tag, use the Value parameter. String @@ -516,7 +516,7 @@ Tags: Force - Suppresses the confirmation prompt. By default, Remove-AzureTag prompts for confirmation before deleting a predefined Azure tag. + Suppresses the confirmation prompt. By default, Remove-AzureRMTag prompts for confirmation before deleting a predefined Azure tag. SwitchParameter @@ -533,7 +533,7 @@ Tags: Name - Specifies the name of the tag to be deleted. This parameter is required. By default, Remove-AzureTag removes the specified tag and all of its values. To delete selected values, but not delete the tag, use the Value parameter. + Specifies the name of the tag to be deleted. This parameter is required. By default, Remove-AzureRMTag removes the specified tag and all of its values. To delete selected values, but not delete the tag, use the Value parameter. String @@ -557,7 +557,7 @@ Tags: Force - Suppresses the confirmation prompt. By default, Remove-AzureTag prompts for confirmation before deleting a predefined Azure tag. + Suppresses the confirmation prompt. By default, Remove-AzureRMTag prompts for confirmation before deleting a predefined Azure tag. SwitchParameter @@ -617,7 +617,7 @@ Tags: - PS C:\>Remove-AzureTag -Name Department + PS C:\>Remove-AzureRMTag -Name Department This command deletes the predefined Department tag and all of its resources. If the tag has been applied to any resources or resource groups, the command fails. @@ -632,7 +632,7 @@ Tags: - PS C:\>Remove-AzureTag -Name Department -Value HumanResources -PassThru + PS C:\>Remove-AzureRMTag -Name Department -Value HumanResources -PassThru Name: Department Count: 14 @@ -662,11 +662,11 @@ Values: http://go.microsoft.com/fwlink/?LinkId=404174 - Get-AzureTag + Get-AzureRMTag - New-AzureTag + New-AzureRMTag diff --git a/src/ResourceManager/Tags/Commands.Tags/Model/TagBaseCmdlet.cs b/src/ResourceManager/Tags/Commands.Tags/Model/TagBaseCmdlet.cs index c5311c1b5b17..fa466ad253c3 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Model/TagBaseCmdlet.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Model/TagBaseCmdlet.cs @@ -12,11 +12,11 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.Azure.Commands.ResourceManager.Common; namespace Microsoft.Azure.Commands.Tags.Model { - public abstract class TagBaseCmdlet : AzurePSCmdlet + public abstract class TagBaseCmdlet : AzureRMCmdlet { private TagsClient tagsClient; @@ -26,7 +26,7 @@ public TagsClient TagsClient { if (tagsClient == null) { - tagsClient = new TagsClient(Profile, Profile.Context.Subscription) + tagsClient = new TagsClient(DefaultContext) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp diff --git a/src/ResourceManager/Tags/Commands.Tags/Model/TagsClient.cs b/src/ResourceManager/Tags/Commands.Tags/Model/TagsClient.cs index 5a9dd56d3c6b..3c9d66e3c0ad 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Model/TagsClient.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Model/TagsClient.cs @@ -36,11 +36,11 @@ public class TagsClient public Action ErrorLogger { get; set; } /// - /// Creates new TagsClient + /// Creates new tags client instance. /// - /// Subscription containing resources to manipulate - public TagsClient(AzureProfile profile, AzureSubscription subscription) - : this(AzureSession.ClientFactory.CreateClient(profile, subscription, AzureEnvironment.Endpoint.ResourceManager)) + /// The Azure context instance + public TagsClient(AzureContext context) + : this(AzureSession.ClientFactory.CreateClient(context, AzureEnvironment.Endpoint.ResourceManager)) { } diff --git a/src/ResourceManager/Tags/Commands.Tags/Properties/AssemblyInfo.cs b/src/ResourceManager/Tags/Commands.Tags/Properties/AssemblyInfo.cs index 0271e56caa08..86e179aeed0c 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Properties/AssemblyInfo.cs @@ -17,7 +17,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("Microsoft Azure Powershell - Resource Manager")] +[assembly: AssemblyTitle("Microsoft Azure Powershell - Tags")] [assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)] [assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)] [assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] @@ -25,8 +25,8 @@ [assembly: ComVisible(false)] [assembly: CLSCompliant(false)] [assembly: Guid("e386b843-f3f0-4db3-8664-37d16b860dde")] -[assembly: AssemblyVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] -[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] +[assembly: AssemblyVersion("0.9.9")] +[assembly: AssemblyFileVersion("0.9.9")] #if SIGN [assembly: InternalsVisibleTo("Microsoft.Azure.Commands.Resources.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] #else diff --git a/src/ResourceManager/Tags/Commands.Tags/Tag/GetAzureTagCommand.cs b/src/ResourceManager/Tags/Commands.Tags/Tag/GetAzureTagCommand.cs index c490a8be3b00..af78be81c469 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Tag/GetAzureTagCommand.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Tag/GetAzureTagCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Tags.Tag /// /// Creates a new tag with the specified values /// - [Cmdlet(VerbsCommon.Get, "AzureTag"), OutputType(typeof(List))] + [Cmdlet(VerbsCommon.Get, "AzureRMTag"), OutputType(typeof(List))] public class GetAzureTagCommand : TagBaseCmdlet { [Parameter(Position = 0, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the tag. If not specified, return all the tags of the subscription.")] @@ -31,7 +31,7 @@ public class GetAzureTagCommand : TagBaseCmdlet [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Whether should get the tag values information as well.")] public SwitchParameter Detailed { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { List tags = string.IsNullOrEmpty(Name) ? TagsClient.ListTags() : new List() { TagsClient.GetTag(Name) }; if (tags != null && tags.Count > 0) diff --git a/src/ResourceManager/Tags/Commands.Tags/Tag/NewAzureTagCommand.cs b/src/ResourceManager/Tags/Commands.Tags/Tag/NewAzureTagCommand.cs index 5b53f5d04040..395b5bd8125e 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Tag/NewAzureTagCommand.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Tag/NewAzureTagCommand.cs @@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.Tags.Tag /// /// Creates a new tag with the specified values /// - [Cmdlet(VerbsCommon.New, "AzureTag"), OutputType(typeof(PSTag))] + [Cmdlet(VerbsCommon.New, "AzureRMTag"), OutputType(typeof(PSTag))] public class NewAzureTagCommand : TagBaseCmdlet { [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the tag. If the tag name doesn't exist, create the tag name. Otherwise, add the value to the existing tag name.")] @@ -32,7 +32,7 @@ public class NewAzureTagCommand : TagBaseCmdlet [ValidateNotNullOrEmpty] public string Value { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { WriteObject(TagsClient.CreateTag(Name, Value != null ? new List { Value } : null)); } diff --git a/src/ResourceManager/Tags/Commands.Tags/Tag/RemoveAzureTagCommand.cs b/src/ResourceManager/Tags/Commands.Tags/Tag/RemoveAzureTagCommand.cs index 2657532cf777..09533d9dda7f 100644 --- a/src/ResourceManager/Tags/Commands.Tags/Tag/RemoveAzureTagCommand.cs +++ b/src/ResourceManager/Tags/Commands.Tags/Tag/RemoveAzureTagCommand.cs @@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.Tags.Tag /// /// Creates a new tag with the specified values /// - [Cmdlet(VerbsCommon.Remove, "AzureTag"), OutputType(typeof(PSTag))] + [Cmdlet(VerbsCommon.Remove, "AzureRMTag"), OutputType(typeof(PSTag))] public class RemoveAzureTagCommand : TagBaseCmdlet { [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Name of the tag to remove.")] @@ -39,7 +39,7 @@ public class RemoveAzureTagCommand : TagBaseCmdlet [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Return object if specified.")] public SwitchParameter PassThru { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { PSTag tag = null; diff --git a/src/ResourceManager/Tags/Commands.Tags/packages.config b/src/ResourceManager/Tags/Commands.Tags/packages.config index 653d89f6ed0b..7b3702039384 100644 --- a/src/ResourceManager/Tags/Commands.Tags/packages.config +++ b/src/ResourceManager/Tags/Commands.Tags/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ResourceManager/TrafficManager/AzureRM.TrafficManager.psd1 b/src/ResourceManager/TrafficManager/AzureRM.TrafficManager.psd1 new file mode 100644 index 000000000000..8cbe47a799e4 --- /dev/null +++ b/src/ResourceManager/TrafficManager/AzureRM.TrafficManager.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.TrafficManager' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = '59713673-194f-418a-b1f2-ac60db82edf9' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - TrafficManager' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.TrafficManager.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj b/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager.Test.csproj similarity index 78% rename from src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj rename to src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager.Test.csproj index 2bc0080bd04d..54ff306a39d9 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager2.Test.csproj +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/Commands.TrafficManager.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ ..\ true - 9440b745 + a5adf578 true @@ -45,8 +45,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True False @@ -55,21 +55,25 @@ ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + True - + False - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\TrafficManager\Microsoft.Azure.Management.TrafficManager.dll + ..\..\..\Package\$(Configuration)\ResourceManager\AzureResourceManager\AzureRM.TrafficManager\Microsoft.Azure.Management.TrafficManager.dll False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - + + False + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + + False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-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 @@ -103,8 +107,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -132,17 +140,17 @@ - - {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 - + {270cbb5f-bb8a-4e33-b35b-95698e607d97} - Commands.TrafficManager2 + Commands.TrafficManager @@ -152,15 +160,12 @@ - - - - - + 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}. - + + - Add-AzureTrafficManagerEndpointConfig + Add-AzureRMTrafficManagerEndpointConfig Adds an endpoint to an Azure Traffic Manager profile. @@ -15,12 +15,12 @@ - The Add-AzureTrafficManagerEndpointConfig cmdlet adds an endpoint to a local Azure Traffic Manager profile object. You can get a profile by using the New-AzureTrafficManagerProfile or Get-AzureTrafficManagerProfile cmdlets. - This cmdlet operates on the local profile object. Commit your changes to the profile for Traffic Manager by using the Set-AzureTrafficManagerProfile cmdlet. + The Add-AzureRMTrafficManagerEndpointConfig cmdlet adds an endpoint to a local Azure Traffic Manager profile object. You can get a profile by using the New-AzureRMTrafficManagerProfile or Get-AzureRMTrafficManagerProfile cmdlets. + This cmdlet operates on the local profile object. Commit your changes to the profile for Traffic Manager by using the Set-AzureRMTrafficManagerProfile cmdlet. - Add-AzureTrafficManagerEndpointConfig + Add-AzureRMTrafficManagerEndpointConfig EndpointLocation @@ -264,12 +264,12 @@ - PS C:\>$TrafficManagerProfile = Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" -PS C:\> Add-AzureTrafficManagerEndpointConfig -EndpointName "contoso" -EndpointStatus Enabled -Target "www.contoso.com" -TrafficManagerProfile $TrafficManagerProfile -Type ExternalEndpoints -EndpointLocation "North Europe" -Priority 1 -Weight 10 -PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile + PS C:\>$TrafficManagerProfile = Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" +PS C:\> Add-AzureRMTrafficManagerEndpointConfig -EndpointName "contoso" -EndpointStatus Enabled -Target "www.contoso.com" -TrafficManagerProfile $TrafficManagerProfile -Type ExternalEndpoints -EndpointLocation "North Europe" -Priority 1 -Weight 10 +PS C:\> Set-AzureRMTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile - The first command gets an Azure Traffic Manager profile by using the Get-AzureTrafficManagerProfile cmdlet. The command stores the local profile in the $TrafficManagerProfile variable. + The first command gets an Azure Traffic Manager profile by using the Get-AzureRMTrafficManagerProfile cmdlet. The command stores the local profile in the $TrafficManagerProfile variable. The second command adds an endpoint named contoso to the profile stored in $TrafficManagerProfile. The command includes configuration data for the endpoint. This command changes only the local object. The final command updates the Traffic Manager profile named ContosoProfile to match the local value in $TrafficManagerProfile. @@ -284,22 +284,22 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Remove-AzureTrafficManagerEndpointConfig + Remove-AzureRMTrafficManagerEndpointConfig - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile Gets an Azure Traffic Manager profile. @@ -311,11 +311,11 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - The Get-AzureTrafficManagerProfile cmdlet gets a Traffic Manager profile from Azure Traffic Manager, and returns an object that represents that profile. You can modify the local object, and then apply changes to the profile by using the Set-AzureTrafficManagerProfile cmdlet. + The Get-AzureRMTrafficManagerProfile cmdlet gets a Traffic Manager profile from Azure Traffic Manager, and returns an object that represents that profile. You can modify the local object, and then apply changes to the profile by using the Set-AzureRMTrafficManagerProfile cmdlet. - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile Profile @@ -405,7 +405,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - This cmdlet returns a TrafficManagerProfile object. You can modify this object, and then apply changes to Traffic Manager by using Set-AzureTrafficManagerProfile. + This cmdlet returns a TrafficManagerProfile object. You can modify this object, and then apply changes to Traffic Manager by using Set-AzureRMTrafficManagerProfile. @@ -418,7 +418,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" + PS C:\>Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" This command gets the profile named ContosoProfile in ResourceGroup11. @@ -434,22 +434,22 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - New-AzureTrafficManagerProfile + New-AzureRMTrafficManagerProfile - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile - New-AzureTrafficManagerProfile + New-AzureRMTrafficManagerProfile Creates an Azure Traffic Manager profile. @@ -461,12 +461,12 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - The New-AzureTrafficManagerProfile cmdlet creates an Azure Traffic Manager profile. Specify a name and required settings. This cmdlet returns a local object that represents the new profile. - This cmdlet does not configure Traffic Manager endpoints. Update the local profile object by using the Add-AzureTrafficManagerEndpointConfig cmdlet. Then upload changes to Traffic Manager by using the Set-AzureTrafficManagerProfile cmdlet. + The New-AzureRMTrafficManagerProfile cmdlet creates an Azure Traffic Manager profile. Specify a name and required settings. This cmdlet returns a local object that represents the new profile. + This cmdlet does not configure Traffic Manager endpoints. Update the local profile object by using the Add-AzureRMTrafficManagerEndpointConfig cmdlet. Then upload changes to Traffic Manager by using the Set-AzureRMTrafficManagerProfile cmdlet. - New-AzureTrafficManagerProfile + New-AzureRMTrafficManagerProfile Profile @@ -704,7 +704,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>New-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" -ProfileStatus Enabled -TrafficRoutingMethod Performance -RelativeDnsName "contosoapp" -TTL 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/default.aspx" + PS C:\>New-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" -ProfileStatus Enabled -TrafficRoutingMethod Performance -RelativeDnsName "contosoapp" -TTL 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/default.aspx" This command creates an Azure Traffic Manager profile named ContosoProfile in resource group ResourceGroup11. The DNS FQDN is contosoapp.trafficmanager.net. @@ -720,26 +720,26 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile - Add-AzureTrafficManagerEndpointConfig + Add-AzureRMTrafficManagerEndpointConfig - Remove-AzureTrafficManagerEndpointConfig + Remove-AzureRMTrafficManagerEndpointConfig Removes an endpoint from an Azure Traffic Manager profile. @@ -751,12 +751,12 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - The Remove-AzureTrafficManagerEndpointConfig cmdlet removes an endpoint from a local Azure Traffic Manager profile object. You can get a profile by using the New-AzureTrafficManagerProfile or Get-AzureTrafficManagerProfile cmdlets. - This cmdlet operates on the local profile object. Commit your changes to the profile for Traffic Manager by using the Set-AzureTrafficManagerProfile cmdlet. + The Remove-AzureRMTrafficManagerEndpointConfig cmdlet removes an endpoint from a local Azure Traffic Manager profile object. You can get a profile by using the New-AzureRMTrafficManagerProfile or Get-AzureRMTrafficManagerProfile cmdlets. + This cmdlet operates on the local profile object. Commit your changes to the profile for Traffic Manager by using the Set-AzureRMTrafficManagerProfile cmdlet. - Remove-AzureTrafficManagerEndpointConfig + Remove-AzureRMTrafficManagerEndpointConfig Profile @@ -857,12 +857,12 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>$TrafficManagerProfile = Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" -PS C:\> Remove-AzureTrafficManagerEndpointConfig -EndpointName "contoso" -TrafficManagerProfile $TrafficManagerProfile -PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile + PS C:\>$TrafficManagerProfile = Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" +PS C:\> Remove-AzureRMTrafficManagerEndpointConfig -EndpointName "contoso" -TrafficManagerProfile $TrafficManagerProfile +PS C:\> Set-AzureRMTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile - The first command gets an Azure Traffic Manager profile by using the Get-AzureTrafficManagerProfile cmdlet. The command stores the local profile in the $TrafficManagerProfile variable. + The first command gets an Azure Traffic Manager profile by using the Get-AzureRMTrafficManagerProfile cmdlet. The command stores the local profile in the $TrafficManagerProfile variable. The second command removes an endpoint named contoso from the profile stored in $TrafficManagerProfile. This command changes only the local object. The final command updates the Traffic Manager profile named ContosoProfile to match the local value in $TrafficManagerProfile. @@ -880,10 +880,10 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" | Remove-AzureTrafficManagerEndpointConfig -EndpointName "contoso" | Set-AzureTrafficManagerProfile + PS C:\>Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" | Remove-AzureRMTrafficManagerEndpointConfig -EndpointName "contoso" | Set-AzureRMTrafficManagerProfile - This command gets a profile, and then passes the local profile to Remove-AzureTrafficManagerEndpointConfig by using the pipeline operator. That cmdlet removes an endpoint named contoso from that profile, and then passes the result to Set-AzureTrafficManagerProfile. The final cmdlet updates the Traffic Manager profile to match the local value. + This command gets a profile, and then passes the local profile to Remove-AzureRMTrafficManagerEndpointConfig by using the pipeline operator. That cmdlet removes an endpoint named contoso from that profile, and then passes the result to Set-AzureRMTrafficManagerProfile. The final cmdlet updates the Traffic Manager profile to match the local value. @@ -896,22 +896,22 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Add-AzureTrafficManagerEndpointConfig + Add-AzureRMTrafficManagerEndpointConfig - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile Deletes an Azure Traffic Manager profile. @@ -923,11 +923,11 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - The Remove-AzureTrafficManagerProfile cmdlet deletes an Azure Traffic Manager profile. You can specify a profile to delete by name, or you can specify a profile object. You can delete a profile object from Traffic Manager by using the pipeline or as a parameter value. + The Remove-AzureRMTrafficManagerProfile cmdlet deletes an Azure Traffic Manager profile. You can specify a profile to delete by name, or you can specify a profile object. You can delete a profile object from Traffic Manager by using the pipeline or as a parameter value. - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile Force @@ -957,7 +957,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile Force @@ -1081,7 +1081,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>Remove-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" + PS C:\>Remove-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" This command deletes the profile named ContosoProfile in ResourceGroup11. @@ -1100,7 +1100,7 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" | Remove-AzureTrafficManagerProfile + PS C:\>Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" | Remove-AzureRMTrafficManagerProfile This command gets the profile named ContosoProfile in ResourceGroup11, and then passes that profile to the current cmdlet by using the pipeline operator. The current command deletes that profile. @@ -1116,22 +1116,22 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile - New-AzureTrafficManagerProfile + New-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile Updates an Azure Traffic Manager profile. @@ -1143,11 +1143,11 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - The Set-AzureTrafficManagerProfile cmdlet updates an Azure Traffic Manager profile. This cmdlet updates the settings of the profile from a local profile object. You can pass a profile object to Traffic Manager by using the pipeline or as a parameter value. + The Set-AzureRMTrafficManagerProfile cmdlet updates an Azure Traffic Manager profile. This cmdlet updates the settings of the profile from a local profile object. You can pass a profile object to Traffic Manager by using the pipeline or as a parameter value. - Set-AzureTrafficManagerProfile + Set-AzureRMTrafficManagerProfile Profile @@ -1229,11 +1229,11 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - PS C:\>$TrafficManagerProfile = Get-AzureTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" -PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile + PS C:\>$TrafficManagerProfile = Get-AzureRMTrafficManagerProfile -Name "ContosoProfile" -ResourceGroupName "ResourceGroup11" +PS C:\> Set-AzureRMTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile - The first command gets an Azure Traffic Manager profile by using the Get-AzureTrafficManagerProfile cmdlet. The command stores the profile locally in the $TrafficManagerProfile variable. After you get that profile, you can change it locally. + The first command gets an Azure Traffic Manager profile by using the Get-AzureRMTrafficManagerProfile cmdlet. The command stores the profile locally in the $TrafficManagerProfile variable. After you get that profile, you can change it locally. The second command updates the Traffic Manager profile named ContosoProfile to match the local value in $TrafficManagerProfile. @@ -1247,15 +1247,15 @@ PS C:\> Set-AzureTrafficManagerProfile -TrafficManagerProfile $TrafficManager - Get-AzureTrafficManagerProfile + Get-AzureRMTrafficManagerProfile - New-AzureTrafficManagerProfile + New-AzureRMTrafficManagerProfile - Remove-AzureTrafficManagerProfile + Remove-AzureRMTrafficManagerProfile diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/DisableAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/DisableAzureTrafficManagerProfile.cs index a08d75c43daa..9affaccbf45a 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/DisableAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/DisableAzureTrafficManagerProfile.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.TrafficManager { - [Cmdlet(VerbsLifecycle.Disable, "AzureTrafficManagerProfile"), OutputType(typeof(bool))] + [Cmdlet(VerbsLifecycle.Disable, "AzureRMTrafficManagerProfile"), OutputType(typeof(bool))] public class DisableAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = true, HelpMessage = "The name of the profile.", ParameterSetName = "Fields")] @@ -38,7 +38,7 @@ public class DisableAzureTrafficManagerProfile : TrafficManagerBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "Do not ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var disabled = false; TrafficManagerProfile profileToDisable = null; diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/EnableAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/EnableAzureTrafficManagerProfile.cs index aa117f4b0c4b..1d718c2a4532 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/EnableAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/EnableAzureTrafficManagerProfile.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.TrafficManager { - [Cmdlet(VerbsLifecycle.Enable, "AzureTrafficManagerProfile"), OutputType(typeof(bool))] + [Cmdlet(VerbsLifecycle.Enable, "AzureRMTrafficManagerProfile"), OutputType(typeof(bool))] public class EnableAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = true, HelpMessage = "The name of the profile.", ParameterSetName = "Fields")] @@ -35,7 +35,7 @@ public class EnableAzureTrafficManagerProfile : TrafficManagerBaseCmdlet [ValidateNotNullOrEmpty] public TrafficManagerProfile TrafficManagerProfile { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { TrafficManagerProfile profileToEnable = null; diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/GetAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/GetAzureTrafficManagerProfile.cs index 5dc3f164a763..85bb2120d922 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/GetAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/GetAzureTrafficManagerProfile.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.TrafficManager { - [Cmdlet(VerbsCommon.Get, "AzureTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] + [Cmdlet(VerbsCommon.Get, "AzureRMTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] public class GetAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = false, HelpMessage = "The name of the profile.")] @@ -31,7 +31,7 @@ public class GetAzureTrafficManagerProfile : TrafficManagerBaseCmdlet [ValidateNotNullOrEmpty] public string ResourceGroupName { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (this.ResourceGroupName == null && this.Name != null) { diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/NewAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/NewAzureTrafficManagerProfile.cs index dc2a2eb85be4..e3d665a529e6 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/NewAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/NewAzureTrafficManagerProfile.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.TrafficManager using System.Net; using Hyak.Common; - [Cmdlet(VerbsCommon.New, "AzureTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] + [Cmdlet(VerbsCommon.New, "AzureRMTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] public class NewAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = true, HelpMessage = "The name of the profile.")] @@ -70,7 +70,7 @@ public class NewAzureTrafficManagerProfile : TrafficManagerBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "A hash table which represents resource tags.")] public Hashtable[] Tag { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { // We are not supporting etags yet, NewAzureTrafficManagerProfile should not overwrite any existing profile. // Since our create operation is implemented using PUT, it will overwrite by default. diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/RemoveAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/RemoveAzureTrafficManagerProfile.cs index b325e9d77b02..8faab3274813 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/RemoveAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/RemoveAzureTrafficManagerProfile.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.TrafficManager { - [Cmdlet(VerbsCommon.Remove, "AzureTrafficManagerProfile"), OutputType(typeof(bool))] + [Cmdlet(VerbsCommon.Remove, "AzureRMTrafficManagerProfile"), OutputType(typeof(bool))] public class RemoveAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = true, HelpMessage = "The name of the profile.", ParameterSetName = "Fields")] @@ -38,7 +38,7 @@ public class RemoveAzureTrafficManagerProfile : TrafficManagerBaseCmdlet [Parameter(Mandatory = false, HelpMessage = "Do not ask for confirmation.")] public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { var deleted = false; TrafficManagerProfile profileToDelete = null; diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/SetAzureTrafficManagerProfile.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/SetAzureTrafficManagerProfile.cs index 2e703c25237d..2f7d02d04f33 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/SetAzureTrafficManagerProfile.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/SetAzureTrafficManagerProfile.cs @@ -20,14 +20,14 @@ namespace Microsoft.Azure.Commands.TrafficManager { - [Cmdlet(VerbsCommon.Set, "AzureTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] + [Cmdlet(VerbsCommon.Set, "AzureRMTrafficManagerProfile"), OutputType(typeof(TrafficManagerProfile))] public class SetAzureTrafficManagerProfile : TrafficManagerBaseCmdlet { [Parameter(Mandatory = true, ValueFromPipeline = true, HelpMessage = "The profile.")] [ValidateNotNullOrEmpty] public TrafficManagerProfile TrafficManagerProfile { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { TrafficManagerProfile profile = this.TrafficManagerClient.SetTrafficManagerProfile(this.TrafficManagerProfile); diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Utilities/TrafficManagerBaseCmdlet.cs b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Utilities/TrafficManagerBaseCmdlet.cs index ec9cb7ae0a0f..498e34cd661b 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Utilities/TrafficManagerBaseCmdlet.cs +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/Utilities/TrafficManagerBaseCmdlet.cs @@ -14,9 +14,10 @@ namespace Microsoft.Azure.Commands.TrafficManager.Utilities { + using ResourceManager.Common; using Microsoft.WindowsAzure.Commands.Utilities.Common; - public abstract class TrafficManagerBaseCmdlet : AzurePSCmdlet + public abstract class TrafficManagerBaseCmdlet : AzureRMCmdlet { private TrafficManagerClient trafficManagerClient; @@ -26,7 +27,7 @@ public TrafficManagerClient TrafficManagerClient { if (this.trafficManagerClient == null) { - this.trafficManagerClient = new TrafficManagerClient(Profile.Context) + this.trafficManagerClient = new TrafficManagerClient(DefaultProfile.Context) { VerboseLogger = WriteVerboseWithTimestamp, ErrorLogger = WriteErrorWithTimestamp diff --git a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/packages.config b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/packages.config index 4769d79213ea..09091389c170 100644 --- a/src/ResourceManager/TrafficManager/Commands.TrafficManager2/packages.config +++ b/src/ResourceManager/TrafficManager/Commands.TrafficManager2/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ResourceManager/UsageAggregates/AzureRM.UsageAggregates.psd1 b/src/ResourceManager/UsageAggregates/AzureRM.UsageAggregates.psd1 new file mode 100644 index 000000000000..7ceaef1553f5 --- /dev/null +++ b/src/ResourceManager/UsageAggregates/AzureRM.UsageAggregates.psd1 @@ -0,0 +1,90 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.UsageAggregates' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'e43e47c8-8bff-4013-b003-ded1741f403a' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - UsageAggregates' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @( + '.\Microsoft.Azure.Commands.UsageAggregates.Format.ps1xml' +) + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.UsageAggregates.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj similarity index 83% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj index 2d9efd2fcd60..8ad30ca01f64 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Commands.UsageAggregates.Test.csproj @@ -1,7 +1,6 @@  - - + Debug @@ -15,7 +14,7 @@ 512 ..\..\..\ true - df51711b + 970255a4 true @@ -48,19 +47,19 @@ True - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll True - - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll True - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -90,19 +89,18 @@ True - - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -111,13 +109,13 @@ - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {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} @@ -147,7 +145,7 @@ - + diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Common/UsageAggregatesTestController.cs b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Common/UsageAggregatesTestController.cs similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Common/UsageAggregatesTestController.cs rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Common/UsageAggregatesTestController.cs diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs similarity index 96% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs index 0ca05ff08c1d..261c9d36e779 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/Properties/AssemblyInfo.cs @@ -14,6 +14,7 @@ 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 @@ -32,4 +33,4 @@ [assembly: Guid("e1252a92-e377-4295-ab57-7e06fb319d5e")] [assembly: AssemblyVersion("0.1.0")] -[assembly: AssemblyFileVersion("0.1.0")] \ No newline at end of file +[assembly: AssemblyFileVersion("0.1.0")] diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs similarity index 91% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs index eeab9bd60eeb..26a76f78be9c 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.cs @@ -13,11 +13,12 @@ // ---------------------------------------------------------------------------------- using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; using Xunit; namespace Microsoft.Azure.Commands.UsageAggregates.Test.ScenarioTests { - public class UsageAggregatesTests + public class UsageAggregatesTests : RMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.ps1 b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.ps1 similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.ps1 rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/ScenarioTests/UsageAggregatesTests.ps1 diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/SessionRecords/Microsoft.Azure.Commands.UsageAggregates.Test.ScenarioTests.UsageAggregatesTests/TestGetUsageAggregatesWithDefaultParameters.json b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/SessionRecords/Microsoft.Azure.Commands.UsageAggregates.Test.ScenarioTests.UsageAggregatesTests/TestGetUsageAggregatesWithDefaultParameters.json similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/SessionRecords/Microsoft.Azure.Commands.UsageAggregates.Test.ScenarioTests.UsageAggregatesTests/TestGetUsageAggregatesWithDefaultParameters.json rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/SessionRecords/Microsoft.Azure.Commands.UsageAggregates.Test.ScenarioTests.UsageAggregatesTests/TestGetUsageAggregatesWithDefaultParameters.json diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/packages.config b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/packages.config similarity index 83% rename from src/ResourceManager/Commerce/Commands.UsageAggregates.Test/packages.config rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/packages.config index adb8566b5b65..810a3f3b33e6 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates.Test/packages.config +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates.Test/packages.config @@ -3,10 +3,10 @@ - + - - + + @@ -18,5 +18,5 @@ - + \ No newline at end of file diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/Commands.UsageAggregates.csproj b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Commands.UsageAggregates.csproj similarity index 87% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/Commands.UsageAggregates.csproj rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Commands.UsageAggregates.csproj index e29de8cdd6f7..4faf76673e15 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates/Commands.UsageAggregates.csproj +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Commands.UsageAggregates.csproj @@ -19,7 +19,7 @@ true full false - ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\UsageAggregates + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.UsageAggregates DEBUG;TRACE prompt 4 @@ -28,7 +28,7 @@ pdbonly TRACE;SIGN true - ..\..\..\Package\Release\ResourceManager\AzureResourceManager\UsageAggregates + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.UsageAggregates AnyCPU true true @@ -49,7 +49,7 @@ True - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -99,12 +99,10 @@ - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - + + AzureRM.UsageAggregates.psd1 + PreserveNewest + Always @@ -118,6 +116,12 @@ PreserveNewest + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + @@ -127,8 +131,4 @@ - - - - - \ No newline at end of file + diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/GetUsageAggregatesCommand.cs b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/GetUsageAggregatesCommand.cs similarity index 91% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/GetUsageAggregatesCommand.cs rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/GetUsageAggregatesCommand.cs index 38023fe9eb55..76ab4a7b9bee 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates/GetUsageAggregatesCommand.cs +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/GetUsageAggregatesCommand.cs @@ -23,9 +23,10 @@ namespace Microsoft.Azure.Commands.UsageAggregates using WindowsAzure.Commands.Utilities.Common; using System; using System.Management.Automation; + using ResourceManager.Common; [Cmdlet(VerbsCommon.Get, "UsageAggregates"), OutputType(typeof(UsageAggregationGetResponse))] - public class GetUsageAggregatesCommand : AzurePSCmdlet + public class GetUsageAggregatesCommand : AzureRMCmdlet { private UsageAggregationManagementClient _theClient; private AggregationGranularity _aggregationGranularity = AggregationGranularity.Daily; @@ -52,12 +53,12 @@ public bool ShowDetails { [Parameter(Mandatory = false, HelpMessage = "Retrieved from previous calls, this is the bookmark used for progress when the responses are paged.")] public string ContinuationToken { get; set; } - public override void ExecuteCmdlet() + protected override void ProcessRecord() { if (_theClient == null) { - _theClient = AzureSession.ClientFactory.CreateClient(Profile, - Profile.Context.Subscription, AzureEnvironment.Endpoint.ResourceManager); + _theClient = AzureSession.ClientFactory.CreateClient(DefaultProfile.Context, + AzureEnvironment.Endpoint.ResourceManager); } UsageAggregationGetResponse aggregations = _theClient.UsageAggregates.Get(ReportedStartTime, diff --git a/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/MSSharedLibKey.snk b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/MSSharedLibKey.snk new file mode 100644 index 000000000000..695f1b38774e Binary files /dev/null and b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/MSSharedLibKey.snk differ diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.Format.ps1xml b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.Format.ps1xml similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.Format.ps1xml rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.Format.ps1xml diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.psd1 b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.psd1 similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.psd1 rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.psd1 diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.xml b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.xml similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.xml rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Microsoft.Azure.Commands.UsageAggregates.dll-help.xml diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/Properties/AssemblyInfo.cs b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Properties/AssemblyInfo.cs similarity index 100% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/Properties/AssemblyInfo.cs rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/Properties/AssemblyInfo.cs diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/TestTheCmdLet.ps1 b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/TestTheCmdLet.ps1 similarity index 86% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/TestTheCmdLet.ps1 rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/TestTheCmdLet.ps1 index 5fea7b035480..5f9c95451fa9 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates/TestTheCmdLet.ps1 +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/TestTheCmdLet.ps1 @@ -3,9 +3,9 @@ $subscription = "" Import-Module ""Microsoft.Azure.Commands.UsageAggregates.dll -Add-AzureAccount +Add-AzureRMAccount -Set-AzureSubscription -SubscriptionId $subscription +Set-AzureRMSubscription -SubscriptionId $subscription $agggregate = get-UsageAggregates -ReportedStartTime "5/2/2015" -ReportedEndTime "5/5/2015" diff --git a/src/ResourceManager/Commerce/Commands.UsageAggregates/packages.config b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/packages.config similarity index 96% rename from src/ResourceManager/Commerce/Commands.UsageAggregates/packages.config rename to src/ResourceManager/UsageAggregates/Commands.UsageAggregates/packages.config index 5cf7ce1d3502..a95b798c8f16 100644 --- a/src/ResourceManager/Commerce/Commands.UsageAggregates/packages.config +++ b/src/ResourceManager/UsageAggregates/Commands.UsageAggregates/packages.config @@ -1,9 +1,9 @@  - + diff --git a/src/ResourceManager/Websites/AzureRM.Websites.psd1 b/src/ResourceManager/Websites/AzureRM.Websites.psd1 new file mode 100644 index 000000000000..c4f64c490fba --- /dev/null +++ b/src/ResourceManager/Websites/AzureRM.Websites.psd1 @@ -0,0 +1,88 @@ +# +# Module manifest for module 'Microsoft.Azure.Commands.Websites' +# +# Generated by: Microsoft Corporation +# +# Generated on: 9/19/2015 +# + +@{ + +# Version number of this module. +ModuleVersion = '0.9.8' + +# ID used to uniquely identify this module +GUID = 'cc69c625-e961-43f4-8b50-0061eba6e4b6' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = ' Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Websites' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = '' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion='4.0' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = 'None' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @( @{ ModuleName = 'AzureRM.Profile'; ModuleVersion = '0.9.8' }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @( + '.\Microsoft.Azure.Commands.Websites.dll' +) + +# Functions to export from this module +FunctionsToExport = '*' + +# Cmdlets to export from this module +CmdletsToExport = '*' + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} \ No newline at end of file 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 252e30185537..5fa223edf939 100644 --- a/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj +++ b/src/ResourceManager/Websites/Commands.Websites.Test/Commands.Websites.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ ..\ true - 8441fb0b + c8f5e508 true @@ -47,8 +47,8 @@ ..\..\..\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 + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -57,9 +57,8 @@ False ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - - False - ..\..\..\packages\Microsoft.Azure.Management.Authorization.0.19.2-preview\lib\net40\Microsoft.Azure.Management.Authorization.dll + + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll ..\..\..\packages\Microsoft.Azure.Management.WebSites.0.16.4-prerelease\lib\net40\Microsoft.Azure.Management.WebSites.dll @@ -68,12 +67,12 @@ False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - + False - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -103,7 +102,6 @@ False - D:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll @@ -114,8 +112,13 @@ ..\..\..\packages\Microsoft.Net.Http.2.2.29\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 @@ -147,17 +150,13 @@ - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common - - {5ee72c53-1720-4309-b54b-5fb79703195f} - Commands.Common - - - {c1bda476-a5cc-4394-914d-48b0ec31a710} - Commands.ScenarioTests.Common + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common {d470e50a-9607-48d6-a924-4f9f86502704} @@ -182,14 +181,10 @@ 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}. - + - - - - - - Get-AzureAppServicePlan + Get-AzureRMAppServicePlan Gets Azure app service plan in the given resource group. @@ -18,7 +18,7 @@ - Get-AzureAppServicePlan + Get-AzureRMAppServicePlan ResourceGroupName @@ -120,7 +120,7 @@ PS C:\> - Get-AzureAppServicePlan -ResourceGroupName "Default-Web-WestUS" -Name myWHP + Get-AzureRMAppServicePlan -ResourceGroupName "Default-Web-WestUS" -Name myWHP Gets the app service plan myWHP in resource group "Default-Web-WestUS". @@ -142,7 +142,7 @@ - Get-AzureAppServicePlanMetrics + Get-AzureRMAppServicePlanMetrics @@ -158,7 +158,7 @@ - Get-AzureAppServicePlanMetrics + Get-AzureRMAppServicePlanMetrics Metrics @@ -376,7 +376,7 @@ - Get-AzureWebApp + Get-AzureRMWebApp Gets Azure web apps in the specified resource group @@ -388,11 +388,11 @@ - The Get-AzureWebApp cmdlet gets information about Azure web apps in the specified resource group. + The Get-AzureRMWebApp cmdlet gets information about Azure web apps in the specified resource group. - Get-AzureWebApp + Get-AzureRMWebApp SlotName @@ -513,7 +513,7 @@ PS C:\> - Get-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name ngolistandard -SlotName dev + Get-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name ngolistandard -SlotName dev Gets the slot dev for ngolistandard web app from resource group Default-Web-WestUS @@ -535,7 +535,7 @@ - Get-AzureWebAppMetrics + Get-AzureRMWebAppMetrics @@ -551,7 +551,7 @@ - Get-AzureWebAppMetrics + Get-AzureRMWebAppMetrics Metrics @@ -786,7 +786,7 @@ - Get-AzureWebAppPublishingProfile + Get-AzureRMWebAppPublishingProfile Get the web app publishing profile. @@ -802,7 +802,7 @@ - Get-AzureWebAppPublishingProfile + Get-AzureRMWebAppPublishingProfile SlotName @@ -925,7 +925,7 @@ - New-AzureAppServicePlan + New-AzureRMAppServicePlan Creates a new app service plan in a given Geo location. @@ -941,7 +941,7 @@ - New-AzureAppServicePlan + New-AzureRMAppServicePlan Location @@ -1119,7 +1119,7 @@ PS C:\> - New-AzureAppServicePlan -ResourceGroupName "Default-Web-WestUS" -AppServicePlanName "NgoliWHP" -location "West US" -Debug -Sku Basic -NumberofWorkers 2 -WorkerSize Small + New-AzureRMAppServicePlan -ResourceGroupName "Default-Web-WestUS" -AppServicePlanName "NgoliWHP" -location "West US" -Debug -Sku Basic -NumberofWorkers 2 -WorkerSize Small Creates a new app service plan in resource group "Default-Web-WestUS" -with app service plan name "NgoliWHP" in geo location "West US" using Basic sku and allocates total 2 workers worker size is Small @@ -1141,7 +1141,7 @@ - New-AzureWebApp + New-AzureRMWebApp Create an Azure Web app @@ -1157,7 +1157,7 @@ - New-AzureWebApp + New-AzureRMWebApp SlotName @@ -1316,7 +1316,7 @@ PS C:\> - New-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite -Location "West US" -AppServicePlan MyAppServicePlan + New-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite -Location "West US" -AppServicePlan MyAppServicePlan Creates a new Azure web app named MyFirstSite in the existing resourcegroup named Default-Web-WestUS in data center "West US" using existing app service plan MyAppServicePlan @@ -1338,7 +1338,7 @@ - Remove-AzureAppServicePlan + Remove-AzureRMAppServicePlan Remove an Azure app service plan @@ -1354,7 +1354,7 @@ - Remove-AzureAppServicePlan + Remove-AzureRMAppServicePlan Force @@ -1475,7 +1475,7 @@ PS C:\> - Remove-AzureAppServicePlan -ResourceGroupName "Default-Web-WestUS" -AppServicePlanName "NGoliStandard" + Remove-AzureRMAppServicePlan -ResourceGroupName "Default-Web-WestUS" -AppServicePlanName "NGoliStandard" Deletes azure app service plan in resource group "Default-Web-WestUS" with app service plan name "NGoliStandard" @@ -1497,7 +1497,7 @@ - Remove-AzureWebApp + Remove-AzureRMWebApp Remove an Azure web app @@ -1513,7 +1513,7 @@ - Remove-AzureWebApp + Remove-AzureRMWebApp Force @@ -1634,7 +1634,7 @@ PS C:\> - Remove-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite + Remove-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite Deletes the Azure Web app named MyFirstSite in the resource group named Default-Web-WestUS @@ -1656,7 +1656,7 @@ - Restart-AzureWebApp + Restart-AzureRMWebApp Stop and start an Azure web app. @@ -1668,11 +1668,11 @@ - Stops and then starts an Azure web app. If web app is already in stopped state use Start-AzureWebApp command + Stops and then starts an Azure web app. If web app is already in stopped state use Start-AzureRMWebApp command - Restart-AzureWebApp + Restart-AzureRMWebApp SlotName @@ -1793,7 +1793,7 @@ PS C:\> - Restart-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite + Restart-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name MyFirstSite Stops the site MyFirstSite and then starts it. @@ -1815,7 +1815,7 @@ - Set-AzureAppServicePlan + Set-AzureRMAppServicePlan Sets the app service plan @@ -1831,7 +1831,7 @@ - Set-AzureAppServicePlan + Set-AzureRMAppServicePlan Location @@ -2031,7 +2031,7 @@ - Start-AzureWebApp + Start-AzureRMWebApp Start an Azure web app @@ -2047,7 +2047,7 @@ - Start-AzureWebApp + Start-AzureRMWebApp SlotName @@ -2168,7 +2168,7 @@ PS C:\> - Start-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name MyWebApp + Start-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name MyWebApp Starts the web app named MyWebApp in resource group Default-Web-WestUS @@ -2190,7 +2190,7 @@ - Stop-AzureWebApp + Stop-AzureRMWebApp Stop the web app. @@ -2206,7 +2206,7 @@ - Stop-AzureWebApp + Stop-AzureRMWebApp SlotName @@ -2327,7 +2327,7 @@ PS C:\> - Stop-AzureWebApp -ResourceGroupName Default-Web-WestUS -Name ngolistandard + Stop-AzureRMWebApp -ResourceGroupName Default-Web-WestUS -Name ngolistandard Stops the web app named MyWebApp in resource group Default-Web-WestUS diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseCmdlet.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseCmdlet.cs index 9c7a54165a0d..b92b9ad0e3a0 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseCmdlet.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseCmdlet.cs @@ -12,8 +12,8 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.WebApp.Models; using System.Management.Automation; +using Microsoft.Azure.Commands.WebApp.Models; namespace Microsoft.Azure.Commands.WebApp { diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseNotMandatoryCmdlet.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseNotMandatoryCmdlet.cs index f512d4c824b0..28c921cce34d 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseNotMandatoryCmdlet.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/AppServicePlanBaseNotMandatoryCmdlet.cs @@ -12,8 +12,8 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.WebApp.Models; using System.Management.Automation; +using Microsoft.Azure.Commands.WebApp.Models; namespace Microsoft.Azure.Commands.WebApp { diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseClient.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseClient.cs index 44e5ba4fae5e..67753ed46bd0 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseClient.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseClient.cs @@ -13,17 +13,12 @@ // ---------------------------------------------------------------------------------- -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Microsoft.WindowsAzure.Commands.Utilities.Common; +using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.Azure.Commands.WebApp.Utilities; namespace Microsoft.Azure.Commands.WebApp.Models { - public abstract class WebAppBaseClientCmdLet : AzurePSCmdlet + public abstract class WebAppBaseClientCmdLet : AzureRMCmdlet { private WebsitesClient _websitesClient; public WebsitesClient WebsitesClient @@ -32,7 +27,7 @@ public WebsitesClient WebsitesClient { if (_websitesClient == null) { - _websitesClient = new WebsitesClient(this.Profile.Context); + _websitesClient = new WebsitesClient(DefaultProfile.Context); } return _websitesClient; } diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseCmdlet.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseCmdlet.cs index c4be20beffc4..9d3cd7ad9f55 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseCmdlet.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseCmdlet.cs @@ -12,8 +12,8 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.WebApp.Models; using System.Management.Automation; +using Microsoft.Azure.Commands.WebApp.Models; namespace Microsoft.Azure.Commands.WebApp diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseNotMandatoryCmdlet.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseNotMandatoryCmdlet.cs index 9ba0905e2f5d..65ed02059887 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseNotMandatoryCmdlet.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseNotMandatoryCmdlet.cs @@ -12,8 +12,8 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.WebApp.Models; using System.Management.Automation; +using Microsoft.Azure.Commands.WebApp.Models; namespace Microsoft.Azure.Commands.WebApp { diff --git a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseSlotCmdlet.cs b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseSlotCmdlet.cs index b2fd98d211b9..8cca78af6ff4 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseSlotCmdlet.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Models.WebApp/WebAppBaseSlotCmdlet.cs @@ -12,7 +12,6 @@ // limitations under the License. // ---------------------------------------------------------------------------------- -using Microsoft.Azure.Commands.WebApp.Models; using System.Management.Automation; namespace Microsoft.Azure.Commands.WebApp diff --git a/src/ResourceManager/Websites/Commands.Websites/Properties/Resources.Designer.cs b/src/ResourceManager/Websites/Commands.Websites/Properties/Resources.Designer.cs index 12e17e64f6ab..ff3b2efd1369 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Properties/Resources.Designer.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Properties/Resources.Designer.cs @@ -8,10 +8,10 @@ // //------------------------------------------------------------------------------ -namespace Microsoft.Azure.Commands.WebApp.Properties { - using System; - - +namespace Microsoft.Azure.Commands.WebApp.Properties +{ + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// diff --git a/src/ResourceManager/Websites/Commands.Websites/Utilities/WebsitesClient.cs b/src/ResourceManager/Websites/Commands.Websites/Utilities/WebsitesClient.cs index f2e880d3779a..156623b4e247 100644 --- a/src/ResourceManager/Websites/Commands.Websites/Utilities/WebsitesClient.cs +++ b/src/ResourceManager/Websites/Commands.Websites/Utilities/WebsitesClient.cs @@ -13,19 +13,12 @@ // ---------------------------------------------------------------------------------- using System; -using System.Collections; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Runtime.Serialization.Formatters; -using System.Threading; +using Microsoft.Azure.Common.Authentication; +using Microsoft.Azure.Common.Authentication.Models; using Microsoft.Azure.Management.Resources; -using Microsoft.Azure.Commands; using Microsoft.Azure.Management.WebSites; -using System.Net; -using Hyak.Common; -using Microsoft.Azure.Common.Authentication.Models; -using Microsoft.Azure.Common.Authentication; using Microsoft.Azure.Management.WebSites.Models; namespace Microsoft.Azure.Commands.WebApp.Utilities diff --git a/src/ResourceManager/Websites/Commands.Websites/packages.config b/src/ResourceManager/Websites/Commands.Websites/packages.config index e802bf014596..48f24c431bed 100644 --- a/src/ResourceManager/Websites/Commands.Websites/packages.config +++ b/src/ResourceManager/Websites/Commands.Websites/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ServiceManagement.Compute.sln b/src/ServiceManagement.Compute.sln deleted file mode 100644 index 0faec6a7a3cb..000000000000 --- a/src/ServiceManagement.Compute.sln +++ /dev/null @@ -1,87 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement", "ServiceManagement\Compute\Commands.ServiceManagement\Commands.ServiceManagement.csproj", "{E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.PlatformImageRepository", "ServiceManagement\Compute\Commands.ServiceManagement.PlatformImageRepository\Commands.ServiceManagement.PlatformImageRepository.csproj", "{6478FA8B-3801-4863-8591-87F0855D5C82}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Preview", "ServiceManagement\Compute\Commands.ServiceManagement.Preview\Commands.ServiceManagement.Preview.csproj", "{E895BBDA-0B06-46AB-B909-9B97B3ECE47E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Test", "ServiceManagement\Compute\Commands.ServiceManagement.Test\Commands.ServiceManagement.Test.csproj", "{58A78F29-8C0C-4A5E-893E-3953C0F29C8A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sync", "ServiceManagement\Compute\Sync\Sync.csproj", "{73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VhdManagement", "ServiceManagement\Compute\VhdManagement\VhdManagement.csproj", "{80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" -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.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.Build.0 = Release|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6478FA8B-3801-4863-8591-87F0855D5C82}.Release|Any CPU.Build.0 = Release|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E895BBDA-0B06-46AB-B909-9B97B3ECE47E}.Release|Any CPU.Build.0 = Release|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {58A78F29-8C0C-4A5E-893E-3953C0F29C8A}.Release|Any CPU.Build.0 = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.ActiveCfg = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.Build.0 = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.Build.0 = Release|Any CPU - {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.ExpressRoute.sln b/src/ServiceManagement.ExpressRoute.sln deleted file mode 100644 index 833452b147e4..000000000000 --- a/src/ServiceManagement.ExpressRoute.sln +++ /dev/null @@ -1,26 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ExpressRoute", "ServiceManagement\ExpressRoute\Commands.ExpressRoute\Commands.ExpressRoute.csproj", "{45C2D687-E0CE-4C97-B731-335834DC2BF2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {45C2D687-E0CE-4C97-B731-335834DC2BF2}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.ManagedCache.sln b/src/ServiceManagement.ManagedCache.sln deleted file mode 100644 index 957db60c4403..000000000000 --- a/src/ServiceManagement.ManagedCache.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30110.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache", "ServiceManagement\ManagedCache\Commands.ManagedCache\Commands.ManagedCache.csproj", "{46C06ED8-43D9-41FD-B73B-41547D9C04E1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache.Test", "ServiceManagement\ManagedCache\Commands.ManagedCache.Test\Commands.ManagedCache.Test.csproj", "{374D4000-DEDE-4995-9B63-E3B9FE0C4D29}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {46C06ED8-43D9-41FD-B73B-41547D9C04E1}.Release|Any CPU.Build.0 = Release|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Debug|Any CPU.Build.0 = Debug|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.ActiveCfg = Release|Any CPU - {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.Network.sln b/src/ServiceManagement.Network.sln deleted file mode 100644 index 41c17fb45e57..000000000000 --- a/src/ServiceManagement.Network.sln +++ /dev/null @@ -1,93 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30723.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network", "ServiceManagement\Network\Commands.Network\Commands.ServiceManagement.Network.csproj", "{40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network.Test", "ServiceManagement\Network\Commands.Network.Test\Commands.ServiceManagement.Network.Test.csproj", "{FDB897BD-FCB4-44A1-8D66-AC99F22EC737}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -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.Common.Storage", "Common\Commands.Common.Storage\Commands.Common.Storage.csproj", "{65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Profile", "Common\Commands.Profile\Commands.Profile.csproj", "{C60342B1-47D3-4A0E-8081-9B97CE60B7AF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement", "ServiceManagement\Compute\Commands.ServiceManagement\Commands.ServiceManagement.csproj", "{E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sync", "ServiceManagement\Compute\Sync\Sync.csproj", "{73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VhdManagement", "ServiceManagement\Compute\VhdManagement\VhdManagement.csproj", "{80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.Build.0 = Release|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.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 - {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.Build.0 = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.Build.0 = Release|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F}.Release|Any CPU.Build.0 = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.ActiveCfg = Release|Any CPU - {73820CBC-F4EB-4C5E-B4F0-CC4A93FBF157}.Release|Any CPU.Build.0 = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80496B7B-068A-4A1E-B0BB-4B1FFF3FA616}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.RecoveryServices.sln b/src/ServiceManagement.RecoveryServices.sln deleted file mode 100644 index 23cb2abadaac..000000000000 --- a/src/ServiceManagement.RecoveryServices.sln +++ /dev/null @@ -1,32 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices", "ServiceManagement\RecoveryServices\Commands.RecoveryServices\Commands.RecoveryServices.csproj", "{98B10548-DF97-4FB1-8D82-2A12945D4F21}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices.Test", "ServiceManagement\RecoveryServices\Commands.RecoveryServices.Test\Commands.RecoveryServices.Test.csproj", "{A415F75B-EB6A-49A6-934E-5BA71B83D6EB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.Build.0 = Debug|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Release|Any CPU.ActiveCfg = Release|Any CPU - {98B10548-DF97-4FB1-8D82-2A12945D4F21}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.Services.sln b/src/ServiceManagement.Services.sln deleted file mode 100644 index 310c61e6be38..000000000000 --- a/src/ServiceManagement.Services.sln +++ /dev/null @@ -1,39 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test", "ServiceManagement\Services\Commands.Test\Commands.Test.csproj", "{B7FD03F6-98BC-4F54-9A14-0455E579FCD4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.Build.0 = Release|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B7FD03F6-98BC-4F54-9A14-0455E579FCD4}.Release|Any CPU.Build.0 = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.Sql.sln b/src/ServiceManagement.Sql.sln deleted file mode 100644 index b822ca0fadcf..000000000000 --- a/src/ServiceManagement.Sql.sln +++ /dev/null @@ -1,63 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30110.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase", "ServiceManagement\Sql\Commands.SqlDatabase\Commands.SqlDatabase.csproj", "{DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase.Test", "ServiceManagement\Sql\Commands.SqlDatabase.Test\Commands.SqlDatabase.Test.csproj", "{37455286-D8A7-4E0C-8B4D-C517D20C641A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands", "ServiceManagement\Services\Commands\Commands.csproj", "{CD5AA507-F5EF-473D-855B-84B91A1ABE54}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "ServiceManagement\Services\Commands.Utilities\Commands.Utilities.csproj", "{4900EC4E-8DEB-4412-9108-0BC52F81D457}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage", "ServiceManagement\Storage\Commands.Storage\Commands.Storage.csproj", "{08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA}.Release|Any CPU.Build.0 = Release|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37455286-D8A7-4E0C-8B4D-C517D20C641A}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD5AA507-F5EF-473D-855B-84B91A1ABE54}.Release|Any CPU.Build.0 = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4900EC4E-8DEB-4412-9108-0BC52F81D457}.Release|Any CPU.Build.0 = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BC420543-C04E-4BF3-96E1-CD81B823BDD7}.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 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.StorSimple.sln b/src/ServiceManagement.StorSimple.sln deleted file mode 100644 index afa3e916ca94..000000000000 --- a/src/ServiceManagement.StorSimple.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.31101.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple", "ServiceManagement\StorSimple\Commands.StorSimple\Commands.StorSimple.csproj", "{11524D98-6C40-4091-A8E1-86463FEE607C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple.Test", "ServiceManagement\StorSimple\Commands.StorSimple.Test\Commands.StorSimple.Test.csproj", "{0FA676D5-1349-4086-B33F-65EC2CB7DA41}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {11524D98-6C40-4091-A8E1-86463FEE607C}.Release|Any CPU.Build.0 = Release|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.Storage.sln b/src/ServiceManagement.Storage.sln deleted file mode 100644 index e9b9033504b5..000000000000 --- a/src/ServiceManagement.Storage.sln +++ /dev/null @@ -1,69 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30110.0 -MinimumVisualStudioVersion = 10.0.40219.1 -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.Storage.MsTest2", "ServiceManagement\Storage\Commands.Storage.MsTest2\Commands.Storage.MsTest2.csproj", "{9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTestLib", "ServiceManagement\Storage\Commands.Storage.MsTestLib\Commands.Storage.MsTestLib.csproj", "{CE97967B-7479-43B9-9561-776232AC5D47}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.ScenarioTest", "ServiceManagement\Storage\Commands.Storage.ScenarioTest\Commands.Storage.ScenarioTest.csproj", "{4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.StorageTestLib", "ServiceManagement\Storage\Commands.Storage.StorageTestLib\Commands.Storage.StorageTestLib.csproj", "{0A513849-2690-4D07-8DE7-0ACE39645D12}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.Test", "ServiceManagement\Storage\Commands.Storage.Test\Commands.Storage.Test.csproj", "{D6F470A6-7395-4B8B-9D29-44DF0EC8F624}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -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.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {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 - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}.Release|Any CPU.Build.0 = Release|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CE97967B-7479-43B9-9561-776232AC5D47}.Release|Any CPU.Build.0 = Release|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}.Release|Any CPU.Build.0 = Release|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0A513849-2690-4D07-8DE7-0ACE39645D12}.Release|Any CPU.Build.0 = Release|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D6F470A6-7395-4B8B-9D29-44DF0EC8F624}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {65C3A86A-716D-4E7D-AB67-1DB00B3BF72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {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 - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.TrafficManager.sln b/src/ServiceManagement.TrafficManager.sln deleted file mode 100644 index 2f4fb2933357..000000000000 --- a/src/ServiceManagement.TrafficManager.sln +++ /dev/null @@ -1,44 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager", "ServiceManagement\TrafficManager\Commands.TrafficManager\Commands.TrafficManager.csproj", "{94E96A5C-B5AD-4E10-B13A-3BC16D102AED}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager.Test", "ServiceManagement\TrafficManager\Commands.TrafficManager.Test\Commands.TrafficManager.Test.csproj", "{84F99CBD-5B86-4428-B263-135B2F67F512}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "References", "References", "{5EA62ADB-111D-4093-AA55-D266F7C484C6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\Commands.Common\Commands.Common.csproj", "{5EE72C53-1720-4309-B54B-5FB79703195F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Debug|Any CPU.Build.0 = Debug|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Release|Any CPU.ActiveCfg = Release|Any CPU - {94E96A5C-B5AD-4E10-B13A-3BC16D102AED}.Release|Any CPU.Build.0 = Release|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.Release|Any CPU.ActiveCfg = Release|Any CPU - {84F99CBD-5B86-4428-B263-135B2F67F512}.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 - {5EE72C53-1720-4309-B54B-5FB79703195F}.Release|Any CPU.Build.0 = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B48A77B-5956-4A62-9081-92BA04B02B27}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {5EE72C53-1720-4309-B54B-5FB79703195F} = {5EA62ADB-111D-4093-AA55-D266F7C484C6} - {3B48A77B-5956-4A62-9081-92BA04B02B27} = {5EA62ADB-111D-4093-AA55-D266F7C484C6} - EndGlobalSection -EndGlobal diff --git a/src/ServiceManagement.sln b/src/ServiceManagement.sln index 3e2cf1aafced..448ee21e8bea 100644 --- a/src/ServiceManagement.sln +++ b/src/ServiceManagement.sln @@ -17,11 +17,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase", "Ser EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.SqlDatabase.Test", "ServiceManagement\Sql\Commands.SqlDatabase.Test\Commands.SqlDatabase.Test.csproj", "{37455286-D8A7-4E0C-8B4D-C517D20C641A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage", "ServiceManagement\Storage\Commands.Storage\Commands.Storage.csproj", "{08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage", "Common\Storage\Commands.Storage\Commands.Storage.csproj", "{08CF7DA7-0392-4A19-B79B-E1FF67CDB81A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.Test", "ServiceManagement\Storage\Commands.Storage.Test\Commands.Storage.Test.csproj", "{D6F470A6-7395-4B8B-9D29-44DF0EC8F624}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.Test", "Common\Storage\Commands.Storage.Test\Commands.Storage.Test.csproj", "{D6F470A6-7395-4B8B-9D29-44DF0EC8F624}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTest", "Common\Commands.ScenarioTest\Commands.ScenarioTest.csproj", "{A3965B66-5A3E-4B8C-9574-28E5958D4828}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTest", "ServiceManagement\Common\Commands.ScenarioTest\Commands.ScenarioTest.csproj", "{A3965B66-5A3E-4B8C-9574-28E5958D4828}" ProjectSection(ProjectDependencies) = postProject {CD5AA507-F5EF-473D-855B-84B91A1ABE54} = {CD5AA507-F5EF-473D-855B-84B91A1ABE54} {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} = {DDF5D225-C9C5-42B7-BDB5-2C3646E479AA} @@ -43,13 +43,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Utilities", "Servi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Test.Utilities", "ServiceManagement\Services\Commands.Test.Utilities\Commands.Test.Utilities.csproj", "{BC420543-C04E-4BF3-96E1-CD81B823BDD7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTestLib", "ServiceManagement\Storage\Commands.Storage.MsTestLib\Commands.Storage.MsTestLib.csproj", "{CE97967B-7479-43B9-9561-776232AC5D47}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTestLib", "Common\Storage\Commands.Storage.MsTestLib\Commands.Storage.MsTestLib.csproj", "{CE97967B-7479-43B9-9561-776232AC5D47}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.StorageTestLib", "ServiceManagement\Storage\Commands.Storage.StorageTestLib\Commands.Storage.StorageTestLib.csproj", "{0A513849-2690-4D07-8DE7-0ACE39645D12}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.StorageTestLib", "Common\Storage\Commands.Storage.StorageTestLib\Commands.Storage.StorageTestLib.csproj", "{0A513849-2690-4D07-8DE7-0ACE39645D12}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.ScenarioTest", "ServiceManagement\Storage\Commands.Storage.ScenarioTest\Commands.Storage.ScenarioTest.csproj", "{4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.ScenarioTest", "Common\Storage\Commands.Storage.ScenarioTest\Commands.Storage.ScenarioTest.csproj", "{4BC0E3D3-6EDD-43AA-8F15-DCFED8ACC93D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTest2", "ServiceManagement\Storage\Commands.Storage.MsTest2\Commands.Storage.MsTest2.csproj", "{9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Storage.MsTest2", "Common\Storage\Commands.Storage.MsTest2\Commands.Storage.MsTest2.csproj", "{9D5A40CA-5594-4F5C-8230-7ADF7CC0558E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.PlatformImageRepository", "ServiceManagement\Compute\Commands.ServiceManagement.PlatformImageRepository\Commands.ServiceManagement.PlatformImageRepository.csproj", "{6478FA8B-3801-4863-8591-87F0855D5C82}" EndProject @@ -64,7 +64,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common", "Common\C 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.Common.Test", "Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Test", "ServiceManagement\Common\Commands.Common.Test\Commands.Common.Test.csproj", "{3B48A77B-5956-4A62-9081-92BA04B02B27}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{95C16AED-FD57-42A0-86C3-2CF4300A4817}" EndProject @@ -74,15 +74,35 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache", "Se EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagedCache.Test", "ServiceManagement\ManagedCache\Commands.ManagedCache.Test\Commands.ManagedCache.Test.csproj", "{374D4000-DEDE-4995-9B63-E3B9FE0C4D29}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Profile", "Common\Commands.Profile\Commands.Profile.csproj", "{C60342B1-47D3-4A0E-8081-9B97CE60B7AF}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.TrafficManager.Test", "ServiceManagement\TrafficManager\Commands.TrafficManager.Test\Commands.TrafficManager.Test.csproj", "{84F99CBD-5B86-4428-B263-135B2F67F512}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.HDInsight", "ServiceManagement\HDInsight\Commands.HDInsight\Commands.HDInsight.csproj", "{137D404A-865A-43DB-930C-6DA67DA048DF}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.HDInsight.Test", "ServiceManagement\HDInsight\Commands.HDInsight.Test\Commands.HDInsight.Test.csproj", "{7E8D2555-2DDD-4757-974F-D5FFD0647671}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Network", "ServiceManagement\Network\Commands.Network\Commands.Network.csproj", "{40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Automation", "ServiceManagement\Automation\Commands.Automation\Commands.Automation.csproj", "{47CD7E95-5330-4384-ABCE-2C267C57085C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Automation.Test", "ServiceManagement\Automation\Commands.Automation.Test\Commands.Automation.Test.csproj", "{127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HDInsight", "ServiceManagement\HDInsight\Commands.HDInsight\HDInsight.csproj", "{137D404A-865A-43DB-930C-6DA67DA048DF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network", "ServiceManagement\Network\Commands.Network\Commands.ServiceManagement.Network.csproj", "{40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Network.Test", "ServiceManagement\Network\Commands.Network.Test\Commands.ServiceManagement.Network.Test.csproj", "{FDB897BD-FCB4-44A1-8D66-AC99F22EC737}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices", "ServiceManagement\RecoveryServices\Commands.RecoveryServices\Commands.RecoveryServices.csproj", "{98B10548-DF97-4FB1-8D82-2A12945D4F21}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RecoveryServices.Test", "ServiceManagement\RecoveryServices\Commands.RecoveryServices.Test\Commands.RecoveryServices.Test.csproj", "{A415F75B-EB6A-49A6-934E-5BA71B83D6EB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RemoteApp", "ServiceManagement\RemoteApp\Commands.RemoteApp\Commands.RemoteApp.csproj", "{492D2AF2-950B-4F2E-8079-8794305313FD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.RemoteApp.Test", "ServiceManagement\RemoteApp\Commands.RemoteApp.Test\Commands.RemoteApp.Test.csproj", "{CA82D500-1940-4068-A076-D7A8AD459FB0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple", "ServiceManagement\StorSimple\Commands.StorSimple\Commands.StorSimple.csproj", "{11524D98-6C40-4091-A8E1-86463FEE607C}" +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.Profile", "ServiceManagement\Profile\Commands.Profile\Commands.Profile.csproj", "{C60342B1-47D3-4A0E-8081-9B97CE60B7AF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.StorSimple.Test", "ServiceManagement\StorSimple\Commands.StorSimple.Test\Commands.StorSimple.Test.csproj", "{0FA676D5-1349-4086-B33F-65EC2CB7DA41}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -194,26 +214,66 @@ Global {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Debug|Any CPU.Build.0 = Debug|Any CPU {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.ActiveCfg = Release|Any CPU {374D4000-DEDE-4995-9B63-E3B9FE0C4D29}.Release|Any CPU.Build.0 = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.Build.0 = Release|Any CPU {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84F99CBD-5B86-4428-B263-135B2F67F512}.Debug|Any CPU.Build.0 = Debug|Any CPU {84F99CBD-5B86-4428-B263-135B2F67F512}.Release|Any CPU.ActiveCfg = Release|Any CPU {84F99CBD-5B86-4428-B263-135B2F67F512}.Release|Any CPU.Build.0 = Release|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.Build.0 = Release|Any CPU {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Debug|Any CPU.Build.0 = Debug|Any CPU {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E8D2555-2DDD-4757-974F-D5FFD0647671}.Release|Any CPU.Build.0 = Release|Any CPU + {47CD7E95-5330-4384-ABCE-2C267C57085C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47CD7E95-5330-4384-ABCE-2C267C57085C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47CD7E95-5330-4384-ABCE-2C267C57085C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47CD7E95-5330-4384-ABCE-2C267C57085C}.Release|Any CPU.Build.0 = Release|Any CPU + {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}.Release|Any CPU.Build.0 = Release|Any CPU + {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {137D404A-865A-43DB-930C-6DA67DA048DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {137D404A-865A-43DB-930C-6DA67DA048DF}.Release|Any CPU.Build.0 = Release|Any CPU {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Debug|Any CPU.Build.0 = Debug|Any CPU {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.ActiveCfg = Release|Any CPU {40FEE0BB-FD45-4EFC-85BC-0D602A6892C4}.Release|Any CPU.Build.0 = Release|Any CPU + {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FDB897BD-FCB4-44A1-8D66-AC99F22EC737}.Release|Any CPU.Build.0 = Release|Any CPU + {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Debug|Any CPU.Build.0 = Debug|Any CPU + {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Release|Any CPU.ActiveCfg = Release|Any CPU + {98B10548-DF97-4FB1-8D82-2A12945D4F21}.Release|Any CPU.Build.0 = Release|Any CPU + {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A415F75B-EB6A-49A6-934E-5BA71B83D6EB}.Release|Any CPU.Build.0 = Release|Any CPU + {492D2AF2-950B-4F2E-8079-8794305313FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {492D2AF2-950B-4F2E-8079-8794305313FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {492D2AF2-950B-4F2E-8079-8794305313FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {492D2AF2-950B-4F2E-8079-8794305313FD}.Release|Any CPU.Build.0 = Release|Any CPU + {CA82D500-1940-4068-A076-D7A8AD459FB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CA82D500-1940-4068-A076-D7A8AD459FB0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CA82D500-1940-4068-A076-D7A8AD459FB0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CA82D500-1940-4068-A076-D7A8AD459FB0}.Release|Any CPU.Build.0 = Release|Any CPU + {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {11524D98-6C40-4091-A8E1-86463FEE607C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11524D98-6C40-4091-A8E1-86463FEE607C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {11524D98-6C40-4091-A8E1-86463FEE607C}.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 + {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C60342B1-47D3-4A0E-8081-9B97CE60B7AF}.Release|Any CPU.Build.0 = Release|Any CPU + {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0FA676D5-1349-4086-B33F-65EC2CB7DA41}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -233,5 +293,11 @@ Global {374D4000-DEDE-4995-9B63-E3B9FE0C4D29} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {84F99CBD-5B86-4428-B263-135B2F67F512} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} {7E8D2555-2DDD-4757-974F-D5FFD0647671} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {FDB897BD-FCB4-44A1-8D66-AC99F22EC737} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {A415F75B-EB6A-49A6-934E-5BA71B83D6EB} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {CA82D500-1940-4068-A076-D7A8AD459FB0} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {C1BDA476-A5CC-4394-914D-48B0EC31A710} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + {0FA676D5-1349-4086-B33F-65EC2CB7DA41} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} EndGlobalSection EndGlobal diff --git a/src/ServiceManagement/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj b/src/ServiceManagement/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj index f6f9b0dde6e8..4ced193caff2 100644 --- a/src/ServiceManagement/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj +++ b/src/ServiceManagement/Automation/Commands.Automation.Test/Commands.Automation.Test.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -18,7 +18,8 @@ ..\..\..\ true - 174e2f48 + + true @@ -57,7 +58,7 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -66,8 +67,8 @@ False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -165,7 +166,7 @@ - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test @@ -173,6 +174,10 @@ {5ee72c53-1720-4309-b54b-5fb79703195f} Commands.Common + + {c1bda476-a5cc-4394-914d-48b0ec31a710} + Commands.ScenarioTests.Common + {47cd7e95-5330-4384-abce-2c267c57085c} Commands.Automation @@ -186,15 +191,11 @@ - - - - - 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}. + This project references NuGet package(s) that are missing on this computer. Use 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/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/LongRoleName.Cloud.cspkg b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/LongRoleName.Cloud.cspkg new file mode 100644 index 000000000000..270ec63c85f0 Binary files /dev/null and b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/LongRoleName.Cloud.cspkg differ diff --git a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cscfg b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cscfg similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cscfg rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cscfg diff --git a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cspkg b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cspkg similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cspkg rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/Files/OneWebOneWorker.cspkg diff --git a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 similarity index 96% rename from src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 index 7974ea8c0f7f..d4317d98fd48 100644 --- a/src/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/ServiceManagement/ServiceManagementTests.ps1 @@ -556,18 +556,20 @@ function Run-ServiceDeploymentExtensionCmdletTests $testMode = Get-ComputeTestMode; if ($testMode.ToLower() -ne 'playback') { - $cspkg = '.\Resources\ServiceManagement\Files\OneWebOneWorker.cspkg'; + $cspkg = '.\Resources\ServiceManagement\Files\LongRoleName.Cloud.cspkg'; } else { - $cspkg = "https://${storageName}.blob.azure.windows.net/blob/OneWebOneWorker.cspkg"; + $cspkg = "https://${storageName}.blob.azure.windows.net/blob/LongRoleName.Cloud.cspkg"; } - $cscfg = '.\Resources\ServiceManagement\Files\OneWebOneWorker.cscfg'; + $cscfg = '.\Resources\ServiceManagement\Files\LongRoleName.Cloud.cscfg'; - $rdpCfg1 = New-AzureServiceRemoteDesktopExtensionConfig -Credential $credential -Role WebRole1 - $rdpCfg2 = New-AzureServiceRemoteDesktopExtensionConfig -Credential $credential -Role WorkerRole1; - $adCfg1 = New-AzureServiceADDomainExtensionConfig -Role WebRole1 -WorkgroupName 'test1'; - $adCfg2 = New-AzureServiceADDomainExtensionConfig -Role WorkerRole1 -WorkgroupName 'test2'; + $webRoleShortName = "WebRole1"; + $workerRoleLongName = "Microsoft.Contoso.Department.ProjectCodeName.Worker"; + $rdpCfg1 = New-AzureServiceRemoteDesktopExtensionConfig -Credential $credential -Role $webRoleShortName + $rdpCfg2 = New-AzureServiceRemoteDesktopExtensionConfig -Credential $credential -Role $workerRoleLongName; + $adCfg1 = New-AzureServiceADDomainExtensionConfig -Role $webRoleShortName -WorkgroupName 'test1'; + $adCfg2 = New-AzureServiceADDomainExtensionConfig -Role $workerRoleLongName -WorkgroupName 'test2'; $st = New-AzureDeployment -ServiceName $svcName -Package $cspkg -Configuration $cscfg -Label $svcName -Slot Production -ExtensionConfiguration $rdpCfg1,$adCfg1; $exts = Get-AzureServiceExtension -ServiceName $svcName -Slot Production; @@ -590,4 +592,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/Resources/SessionRecords/AuthorizationTests/TestAuthorizationEndToEnd.json b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/AuthorizationTests/TestAuthorizationEndToEnd.json similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/SessionRecords/AuthorizationTests/TestAuthorizationEndToEnd.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/AuthorizationTests/TestAuthorizationEndToEnd.json diff --git a/src/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoMinChildEndpoints.json b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoMinChildEndpoints.json similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoMinChildEndpoints.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoMinChildEndpoints.json diff --git a/src/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointTypeTrafficManager.json b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointTypeTrafficManager.json similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointTypeTrafficManager.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/SessionRecords/TrafficManagerTests/TestAddAzureTrafficManagerEndpointTypeTrafficManager.json diff --git a/src/Common/Commands.ScenarioTest/Resources/Storage/StorageContainer.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Storage/StorageContainer.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Storage/StorageContainer.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Storage/StorageContainer.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/Storage/StorageContext.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Storage/StorageContext.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Storage/StorageContext.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Storage/StorageContext.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/Store/Common.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Store/Common.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Store/Common.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Store/Common.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/Store/StoreTests.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Store/StoreTests.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Store/StoreTests.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Store/StoreTests.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/TrafficManager/Common.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/TrafficManager/Common.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/TrafficManager/Common.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/TrafficManager/Common.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/TrafficManager/TrafficManagerTests.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/TrafficManager/TrafficManagerTests.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/TrafficManager/TrafficManagerTests.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/TrafficManager/TrafficManagerTests.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/Websites/Common.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/Common.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Websites/Common.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/Common.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/Websites/WebsiteJobTestCmd.zip b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/WebsiteJobTestCmd.zip similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Websites/WebsiteJobTestCmd.zip rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/WebsiteJobTestCmd.zip diff --git a/src/Common/Commands.ScenarioTest/Resources/Websites/WebsitesTests.ps1 b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/WebsitesTests.ps1 similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/Websites/WebsitesTests.ps1 rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/Websites/WebsitesTests.ps1 diff --git a/src/Common/Commands.ScenarioTest/Resources/assetNames.json b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/assetNames.json similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/assetNames.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/assetNames.json diff --git a/src/Common/Commands.ScenarioTest/Resources/tipsf001.publishsettings b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf001.publishsettings similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/tipsf001.publishsettings rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf001.publishsettings diff --git a/src/Common/Commands.ScenarioTest/Resources/tipsf002.publishsettings b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf002.publishsettings similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/tipsf002.publishsettings rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf002.publishsettings diff --git a/src/Common/Commands.ScenarioTest/Resources/tipsf003.publishsettings b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf003.publishsettings similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/tipsf003.publishsettings rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf003.publishsettings diff --git a/src/Common/Commands.ScenarioTest/Resources/tipsf004.publishsettings b/src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf004.publishsettings similarity index 100% rename from src/Common/Commands.ScenarioTest/Resources/tipsf004.publishsettings rename to src/ServiceManagement/Common/Commands.ScenarioTest/Resources/tipsf004.publishsettings diff --git a/src/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs similarity index 96% rename from src/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs index 525486b8833b..b84d3bf03a14 100644 --- a/src/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/Scheduler/SchedulerTests.cs @@ -52,7 +52,7 @@ protected void RunPowerShellTest(params string[] scripts) List modules = Directory.GetFiles("Resources\\Scheduler", "*.ps1").ToList(); modules.Add("Common.ps1"); - modules.Add(@"..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); + modules.Add(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); helper.SetupEnvironment(AzureModule.AzureServiceManagement); helper.SetupModules(modules.ToArray()); diff --git a/src/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusAuthorizationRuleTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusAuthorizationRuleTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusAuthorizationRuleTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusAuthorizationRuleTests.cs diff --git a/src/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusNamespaceTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusNamespaceTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusNamespaceTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/ServiceBusTests/ServiceBusNamespaceTests.cs diff --git a/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs similarity index 93% rename from src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs index 1af092da3d8a..4118c51f2f6d 100644 --- a/src/Common/Commands.ScenarioTest/ServiceManagement/ScenarioTests.cs +++ b/src/ServiceManagement/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/ServiceManagement/ServiceManagementTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/ServiceManagement/ServiceManagementTests.cs similarity index 89% rename from src/Common/Commands.ScenarioTest/ServiceManagement/ServiceManagementTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/ServiceManagement/ServiceManagementTests.cs index fef834c5786a..9fe205c03c4d 100644 --- a/src/Common/Commands.ScenarioTest/ServiceManagement/ServiceManagementTests.cs +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/ServiceManagement/ServiceManagementTests.cs @@ -53,9 +53,9 @@ protected void RunPowerShellTest(params string[] scripts) List modules = Directory.GetFiles(@"Resources\ServiceManagement", "*.ps1").ToList(); modules.Add("Common.ps1"); - modules.Add(@"..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); - modules.Add(@"..\..\..\..\Package\Debug\ServiceManagement\Azure\Compute\AzurePreview.psd1"); - modules.Add(@"..\..\..\..\Package\Debug\ServiceManagement\Azure\Compute\PIR.psd1"); + modules.Add(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); + modules.Add(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Compute\AzurePreview.psd1"); + modules.Add(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Compute\PIR.psd1"); helper.SetupEnvironment(AzureModule.AzureServiceManagement); helper.SetupModules(modules.ToArray()); diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationConfigureRunbook.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationConfigureRunbook.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationConfigureRunbook.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationConfigureRunbook.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationPublishAndEditRunbook.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationPublishAndEditRunbook.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationPublishAndEditRunbook.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationPublishAndEditRunbook.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationRunbookWithParameter.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationRunbookWithParameter.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationRunbookWithParameter.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationRunbookWithParameter.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartAndStopRunbook.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartAndStopRunbook.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartAndStopRunbook.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartAndStopRunbook.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartRunbookOnASchedule.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartRunbookOnASchedule.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartRunbookOnASchedule.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartRunbookOnASchedule.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartUnpublishedRunbook.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartUnpublishedRunbook.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartUnpublishedRunbook.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationStartUnpublishedRunbook.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationSuspendAndResumeJob.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationSuspendAndResumeJob.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationSuspendAndResumeJob.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.AutomationTests/TestAutomationSuspendAndResumeJob.json diff --git a/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTest/TestRemoteAppEndToEnd.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.RemoteAppTest/TestRemoteAppEndToEnd.json new file mode 100644 index 000000000000..11d0c0b43f0c --- /dev/null +++ b/src/ServiceManagement/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.SchedulerTests/TestSchedulerEndToEnd.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.SchedulerTests/TestSchedulerEndToEnd.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.SchedulerTests/TestSchedulerEndToEnd.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.SchedulerTests/TestSchedulerEndToEnd.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedHostedServiceCmdletTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedHostedServiceCmdletTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedHostedServiceCmdletTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedHostedServiceCmdletTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedServiceExtensionCmdletTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedServiceExtensionCmdletTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedServiceExtensionCmdletTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedServiceExtensionCmdletTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedVirtualMachineCmdletTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedVirtualMachineCmdletTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedVirtualMachineCmdletTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAutoGeneratedVirtualMachineCmdletTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAzurePlatformVMImageNegativeTest.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAzurePlatformVMImageNegativeTest.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAzurePlatformVMImageNegativeTest.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunAzurePlatformVMImageNegativeTest.json diff --git a/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunEnableAndDisableDataCollectionTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunEnableAndDisableDataCollectionTests.json new file mode 100644 index 000000000000..01e0e7fda838 --- /dev/null +++ b/src/ServiceManagement/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.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeArgumentListTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeArgumentListTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeArgumentListTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeArgumentListTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeParameterObjectTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeParameterObjectTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeParameterObjectTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunNewAzureComputeParameterObjectTests.json diff --git a/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json new file mode 100644 index 000000000000..c032cac82fd4 --- /dev/null +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceDeploymentExtensionCmdletTests.json @@ -0,0 +1,4961 @@ +{ + "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": [ + "e40a4e1b11b21b11a674729effd927cd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:46 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/e40a4e1b11b21b11a674729effd927cd", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2U0MGE0ZTFiMTFiMjFiMTFhNjc0NzI5ZWZmZDkyN2Nk", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n e40a4e1b-11b2-1b11-a674-729effd927cd\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": [ + "a574917f2ab61184964e33886c2cc047" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:47 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/images", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9pbWFnZXM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 03f55de797f546a1b29d1b8d66be687a__CoreCLR-x64-Beta5-Linux-PartsUnlimited-Demo-App-201504.29\r\n Linux\r\n http://go.microsoft.com/fwlink/?LinkId=521895\r\n Linux VM image with coreclr-x64-beta5-11624 installed to /opt/dnx. This image is based on Ubuntu 14.04 LTS, with prerequisites of CoreCLR installed. It also contains PartsUnlimited demo app which runs on the installed coreclr. The demo app is installed to /opt/demo. To run the demo, please type the command '/opt/demo/Kestrel' in a terminal window. The website is listening on port 5004. Please enable or map a endpoint of HTTP port 5004 for your azure VM.\r\n CoreCLR x64 Beta5 (11624) with PartsUnlimited Demo App on Ubuntu Server 14.04 LTS\r\n 2015-04-29T07:00:00Z\r\n false\r\n Ubuntu-cof-45.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D1\r\n Microsoft Visual Studio Group\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=13350\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2014-11-12T08:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2-201503.20\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=13350\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2015-03-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Team-Foundation-Server-2013-Update4-WS2012R2-201503.27\r\n Windows\r\n http://www.microsoft.com/en-us/legal/IntellectualProperty/UseTerms/Default.aspx\r\n Microsoft Team Foundation Server 2013 Trial on Windows Server 2012 R2 Update. Virtual Machines created with this trial image will require a product key for Team Foundation Server (such as from an MSDN Subscription). This image includes a complete installation of Team Foundation Server 2013 Update 4. Some components require additional setup and configuration. You can configure SQL Server using SQL Server Express included in this image, by downloading and installing SQL Server Standard edition (from an MSDN Subscription), or by connect to a pre-existing SQL Server. Minimum virtual machine size for this image is Medium. For more details on TFS server setup please see the [Team Foundation Server install guide|http://msdn.microsoft.com/en-us/library/dd631902.aspx].\r\n Team Foundation Server 2013 Update 4 on Windows Server 2012 R2\r\n 2015-03-27T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2013-Community-VSU5-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n This image of Visual Studio Community 2013 Update 5 with Azure Tools 2.7 enables you to unleash the full power of Visual Studio to develop cross-platform solutions. Create apps in one unified IDE, and incorporate new languages, features, and development tools into them with Visual Studio Extensions (available in the Visual Studio Gallery).\r\n Visual Studio Community 2013 Update 5 with Azure 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=286720\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2013-Community-VSU5-Cordova-CTP3.2-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n This image provides Visual Studio Community 2013 Update 5, Azure Tools 2.7, and CTP 3.2 of the Tools for Apache Cordova running on Windows Server 2012 R2. It allows you to easily and quickly set up a development environment in Azure to build and test Android, iOS, and Windows apps using HTML, CSS, and JavaScript. Please see [http://go.microsoft.com/fwlink/?LinkID=397716|http://go.microsoft.com/fwlink/?LinkID=397716] for more information.\r\n Visual Studio Community 2013 Update 5 with Tools for Apache Cordova CTP 3.2 on Windows Server 2012 R2\r\n 2015-08-11T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2015-Community-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=614946\r\n Visual Studio Community 2015 is our free, full featured and extensible IDE for non-enterprise application development. This image contains Windows Server 2012 R2 with Visual Studio Community 2015. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Community 2015 with Azure SDK 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__VS-2015-Enterprise-AzureSDK-2.7-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=614945\r\n With Visual Studio Enterprise you can create applications across devices and services, using a single solution with a consistent development experience. You get the tools, you need to deliver desktop, Windows Store, Windows Phone, and Office apps, as well as mobile web apps across any device, web site, cloud service, and more. This image contains Windows Server 2012 R2 with Visual Studio Enterprise 2015. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.\r\n Visual Studio Enterprise 2015 with Azure SDK 2.7 on Windows Server 2012 R2\r\n 2015-07-20T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=528096\r\n Standard_D2\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Community-12.0.31101.0-ApacheCordova-CTP3.1-AzureSDK-2.6-WS2012R2-201505.27\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n This image contains Windows Server 2012 R2, Visual Studio Community 2013, and CTP 3.1 of the Tools for Apache Cordova. It allows you to easily and quickly set up a development environment in Azure to build and test Android, iOS, and Windows apps using HTML, CSS, and JavaScript. Please see [http://go.microsoft.com/fwlink/?LinkID=397716|http://go.microsoft.com/fwlink/?LinkID=397716] for more information.\r\n Visual Studio Community 2013 with Tools for Apache Cordova CTP 3.1 on Windows Server 2012 R2\r\n 2015-05-27T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=286720\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Community-VSU4-AzureSDK-2.51-NTVS-1.0-WS2012R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=430755\r\n The Node.js Tools 1.0 for Visual Studio (NTVS) image enables you to unleash the full power of Visual Studio to develop Node.js solutions. NTVS also includes a list of project templates using the Express framework, which enables you to quickly create and deploy websites or Cloud Services to Microsoft Azure or other platforms.\r\n Visual Studio Community 2013 Update 4 with Tools for Node.js on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n false\r\n VisualStudio2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=299229\r\n Medium\r\n Microsoft Visual Studio Group\r\n VisualStudio2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.2-x64-v5.8.8.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.2 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-10-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.6\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.7\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-01-25T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.3-x64-v5.8.8.9\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.3 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-03-01T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.4\r\n Linux\r\n \r\n \r\n \r\n false\r\n 2013-04-19T00:00:00Z\r\n false\r\n \r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.4 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-11T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.4-x64-v13.5.0.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.4 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-22T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v13.5.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-12-26T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v13.5.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2014-04-17T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.5-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.5 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v13.5.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 5.8\r\n RightScale Linux v13\r\n false\r\n 2014-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-6.6-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 6.6 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-CentOS-7.0-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n CentOS 7.0 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.4\r\n Linux\r\n \r\n \r\n \r\n false\r\n 2013-04-19T00:00:00Z\r\n false\r\n \r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.0.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-07-11T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-12-26T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2014-04-17T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v13.5.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8\r\n RightScale Linux v13\r\n false\r\n 2014-11-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.5\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2012-10-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.7\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-12.04-x64-v5.8.8.8\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 12.04 with RightLink 5.8.\r\n RightScale Linux v13\r\n false\r\n 2013-01-25T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-09-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1.3\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.1\r\n RightScale Linux v14\r\n false\r\n 2014-10-06T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.1.5.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.2\r\n RightScale Linux v14\r\n false\r\n 2014-12-10T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-01-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1\r\n Linux\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Ubuntu 14.04 with RightLink 6.3\r\n RightScale Linux v14\r\n false\r\n 2015-03-23T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Linux\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.6.0_101-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321312\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 6 (update 101) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not recommended for use in production. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-java-run-tomcat-application-server/|_blank]\r\n JDK 6 on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n Java6_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321694\r\n Medium\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386544\r\n Java6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321310\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 7 (update 85) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-java-run-tomcat-application-server|_blank]\r\n JDK 7 on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n false\r\n Java7_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321701\r\n Medium\r\n Microsoft\r\n Java7_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__JDK-1.8.0_51-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321310\r\n [Java Platform|http://www.oracle.com/java|_blank], Standard Edition 8 (update 51) enables development of secure, portable, high-performance applications and includes a Java Development Kit (JDK), Java Runtime Environment (JRE), and tools for developing, debugging, and monitoring Java applications. Minimum recommended virtual machine size for this image is [Medium|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n JDK 8 on Windows Server 2012 R2\r\n 2015-08-10T00:00:00Z\r\n false\r\n Java7_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321701\r\n Medium\r\n Microsoft\r\n Java7_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-EE-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321683\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Enterprise Edition (11.2.0.4.0) provides comprehensive features to easily manage the most demanding transaction processing, business intelligence, and content management applications. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 Enterprise Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321692\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386538\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-EE-WebLogic-10.3.6-EE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321684\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Enterprise Edition (11.2.0.4.0) provides comprehensive features to easily manage the most demanding transaction processing, business intelligence, and content management applications. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Enterprise Edition (10.3.6) is a leading Java application server for modern data centers. It takes full advantage of the latest hardware architectures including 64-bit addressable memory, multi-core computing systems and high-speed networks. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 and WebLogic Server 11g Enterprise Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321691\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386541\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-SE-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321686\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Standard Edition (11.2.0.4.0) is an affordable, full-featured data management solution that is ideal for midsize companies. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 Standard Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321689\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386537\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-11.2.0.4.0-SE-WebLogic-10.3.6-SE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321687\r\n [Oracle Database|http://www.oracle.com/database|_blank] 11g R2 Standard Edition (11.2.0.4.0) is an affordable, full-featured data management solution that is ideal for midsize companies. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Standard Edition (10.3.6) is a leading Java application server for enterprises of all sizes, providing developers with the tools and technologies to write enterprise applications and services quickly and operations teams with the administration capabilities to keep them up and running. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank].\r\n Oracle Database 11g R2 and WebLogic Server 11g Standard Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321688\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386542\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.1.0-20150810-SE-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321317\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Standard Edition (12.1.0.1.0) is an affordable, full-featured data management solution that is ideal for midsize companies. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439775.aspx|_blank]\r\n Oracle Database 12c Standard Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321696\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386537\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.1.0-SE-WebLogic-12.1.2.0-SE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321318\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Standard Edition (12.1.0.1.0) is an affordable, full-featured data management solution that is ideal for midsize companies. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Standard Edition (12.1.2.0) is a leading Java EE application server. Minimum recommended virtual machine size for this image is [Standard_D13|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466427.aspx|_blank]\r\n Oracle Database 12c and WebLogic Server 12c Standard Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321695\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386542\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.2.0-20150810-EE-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321314\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Enterprise Edition (12.1.0.2.0) is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439775.aspx|_blank]\r\n Oracle Database 12c Enterprise Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321699\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386538\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Oracle-Database-12.1.0.2.0-EE-WebLogic-12.1.2.0-EE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321315\r\n [Oracle Database|http://www.oracle.com/database|_blank] 12c Enterprise Edition (12.1.0.2.0) is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Enterprise Edition (12.1.2.0) is a leading Java EE application server. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466427.aspx|_blank]\r\n Oracle Database 12c and WebLogic Server 12c Enterprise Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogicDatabase12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321698\r\n Standard_D11\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386541\r\n OracleWeblogicDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__WebLogic-12.1.2.0-EE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321313\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Enterprise Edition (12.1.2.0) is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. Minimum recommended virtual machine size for this image is [standard_D12 |http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439774.aspx|_blank]\r\n Oracle WebLogic Server 12c Enterprise Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogic12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321700\r\n Standard_D13\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386540\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__WebLogic-12.1.2.0-SE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321316\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 12c Standard Edition (12.1.2.0) is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. Minimum recommended virtual machine size for this image is [Standard_D11|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn439774.aspx|_blank]\r\n Oracle WebLogic Server 12c Standard Edition on Windows Server 2012\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogic12_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321697\r\n Standard_D11\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386539\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Weblogic-10.3.6-EE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=321682\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Enterprise Edition (10.3.6) is a leading Java application server for modern data centers. It takes full advantage of the latest hardware architectures including 64-bit addressable memory, multi-core computing systems and high-speed networks. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466428.aspx|_blank]\r\n Oracle WebLogic Server 11g Enterprise Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogic11_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321693\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386540\r\n OracleWeblogic11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 0c0083a6d9a24f2d91800e52cad83950__Weblogic-10.3.6-SE-JDK-1.7.0_85-20150810-Win-GA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=321691\r\n [Oracle WebLogic Server|http://www.oracle.com/weblogicserver|_blank] 11g Standard Edition (10.3.6) is a leading Java application server for enterprises of all sizes, providing developers with the tools and technologies to write enterprise applications and services quickly and operations teams with the administration capabilities to keep them up and running. Minimum recommended virtual machine size for this image is [Standard_D12|http://go.microsoft.com/fwlink/?LinkID=309169|_blank]. [Learn More|http://msdn.microsoft.com/en-us/library/dn466428.aspx|_blank]\r\n Oracle WebLogic Server 11g Standard Edition on Windows Server 2008 R2\r\n 2015-08-10T00:00:00Z\r\n true\r\n OracleWeblogic11_100.png\r\n http://go.microsoft.com/fwlink/?LinkId=321690\r\n Standard_D12\r\n Microsoft\r\n http://go.microsoft.com/fwlink/?LinkId=386539\r\n OracleWeblogic11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 81\r\n 29ad5df6dd0640ce9aae898da6e66f4f__GitHub-Enterprise-2.2.7\r\n Linux\r\n https://enterprise.github.com/license\r\n GitHub Enterprise is the on-premises version of GitHub.com, the world's largest software community. Collaborate, track issues, review code, and streamline your development processes - all on your servers. With the world's largest software development community already using GitHub, your business can be on the fast track to a better way of building software.\r\n GitHub Enterprise\r\n false\r\n 2015-08-14T07:00:00Z\r\n false\r\n https://enterprise.github.com/privacy\r\n Standard_DS3\r\n GitHub, Inc.\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 81\r\n 29ad5df6dd0640ce9aae898da6e66f4f__GitHub-Enterprise-2.3.1\r\n Linux\r\n https://enterprise.github.com/license\r\n GitHub Enterprise is the on-premises version of GitHub.com, the world's largest software community. Collaborate, track issues, review code, and streamline your development processes - all on your servers. With the world's largest software development community already using GitHub, your business can be on the fast track to a better way of building software.\r\n GitHub Enterprise\r\n false\r\n 2015-08-15T07:00:00Z\r\n false\r\n https://enterprise.github.com/privacy\r\n Standard_DS3\r\n GitHub, Inc.\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-475.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-10-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-490.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-11-03T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-509.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-522.2.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-547.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2014-12-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-554.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-06T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-557.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-561.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-575.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-01-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-584.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-591.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-592.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-593.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-598.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-604.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-26T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-607.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-02-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-612.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-05T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-612.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-06T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-618.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-626.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-19T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-633.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-03-26T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-640.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-02T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-647.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-653.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-660.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-668.2.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-04-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-675.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-681.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-695.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-05-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-709.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-11T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-717.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-723.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-25T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-723.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-06-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-735.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-738.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-745.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-16T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-752.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-758.1.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-07-30T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-766.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-08-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-774.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-08-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-779.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-08-20T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-788.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-08-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-789.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-08-29T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-794.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-09-03T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Alpha-801.0.0\r\n Linux\r\n The Alpha channel closely tracks current development work and is released frequently. The newest versions of docker, etcd and fleet will be available for testing.\r\n CoreOS Alpha\r\n 2015-09-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-11-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.4.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-494.5.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-11T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2014-12-24T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.4.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-522.5.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-01-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-557.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-02-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-584.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-02-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-607.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-03-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-612.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-03-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-633.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-04-01T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-647.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-04-15T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-668.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-05-13T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-681.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-05-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-695.0.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-695.2.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-15T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-717.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-06-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-723.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-07-08T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-723.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-07-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-766.1.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-08-20T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Beta-766.3.0\r\n Linux\r\n The Beta channel consists of promoted Alpha releases. Mix a few Beta machines into your production clusters to catch any bugs specific to your hardware or configuration.\r\n CoreOS Beta\r\n 2015-09-02T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-12-03T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.4.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-12-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-494.5.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2014-11-23T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-522.5.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-01-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-522.6.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-01-28T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-557.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-02-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-607.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-03-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-633.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-04-14T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-647.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-05-12T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-647.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-05-27T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.0.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-09T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-17T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-681.2.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-06-18T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-717.1.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-07-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-717.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-07-10T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-723.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-08-04T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-766.3.0\r\n Linux\r\n The Stable channel should be used by production clusters. Versions of CoreOS are battle-tested within the Beta and Alpha channels before being promoted.\r\n CoreOS Stable\r\n 2015-09-07T00:00:00Z\r\n false\r\n coreos-globe-color-lg-100px.png\r\n Medium\r\n CoreOS\r\n coreos-globe-color-lg-45px.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Enterprise\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296354;http://go.microsoft.com/fwlink/?LinkID=131004\r\n This image contains the Enterprise edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280328\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Developer-Apr-2015\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Developer Edition (64-bit) on Windows Server 2012 R2. This image contains the Developer edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Developer\r\n false\r\n BizTalkServer2013_100.png\r\n Microsoft BizTalk Server Group\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Enterprise-Nov-2014\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Enterprise Edition (64-bit) on Windows Server 2012 R2. This image contains the Enterprise edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Enterprise\r\n 2014-11-03T08:00:00Z\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280328\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-R2-Standard-Nov-2014\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296356;http://go.microsoft.com/fwlink/?LinkID=131004\r\n Microsoft BizTalk Server 2013 R2 Standard Edition (64-bit) on Windows Server 2012 R2. This image contains the Standard edition of BizTalk Server 2013 R2. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n Microsoft-BizTalk-Server-2013-R2-Standard\r\n 2014-11-03T08:00:00Z\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280327\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;West US\r\n 127\r\n 2cdc6229df6344129ee553dd3499f0d3__BizTalk-Server-2013-Standard\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=296355;http://go.microsoft.com/fwlink/?LinkID=131004\r\n This image contains the Standard edition of BizTalk Server 2013. Some BizTalk Server components like accelerators require additional setup before use. Medium is the recommended size for this image.\r\n true\r\n BizTalkServer2013_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=131004\r\n Medium\r\n Microsoft BizTalk Server Group\r\n http://go.microsoft.com/fwlink/?LinkID=280327\r\n BizTalkServer2013_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__DreamFactory_1.6.10-3_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n DreamFactory is the ultimate REST API platform. It enables developers to rapidly mobilize enterprise data by streamlining the task of connecting modern front-end apps with databases and storage systems. DreamFactory handles all of the server-side software and backend integration, so that you can focus on what you do best: building great applications. For more\r\ninformation on this DreamFactory VM packaged by Bitnami visit [our website|https://bitnami.com/stack/dreamfactory|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_DreamFactory|_blank] and [forums|http://community.bitnami.com|_blank]. The DreamFactory VM for Microsoft Azure is developed and maintained by [Bitnami|https://bitnami.com|_blank], the leading provider of application images for the cloud. Default credentials are username: 'user@example.com' / password: 'bitnami'.\r\n DreamFactory 1.6\r\n 2014-07-14T00:00:00Z\r\n false\r\n dreamfactory-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Small\r\n Bitnami\r\n dreamfactory-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__DreamFactory_1.7.8-0_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n DreamFactory is the ultimate REST API platform. It enables developers to rapidly mobilize enterprise data by streamlining the task of connecting modern front-end apps with databases and storage systems. DreamFactory handles all of the server-side software and backend integration, so that you can focus on what you do best: building great applications. For more\r\ninformation on this DreamFactory VM packaged by Bitnami visit [our website|https://bitnami.com/stack/dreamfactory|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_DreamFactory|_blank] and [forums|http://community.bitnami.com|_blank]. The DreamFactory VM for Microsoft Azure is developed and maintained by [Bitnami|https://bitnami.com|_blank], the leading provider of application images for the cloud. Default credentials are username: 'user@example.com' / password: 'bitnami'.\r\n DreamFactory 1.7\r\n 2014-09-30T00:00:00Z\r\n false\r\n dreamfactory-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Small\r\n Bitnami\r\n dreamfactory-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__eXo_Platform_Express_4.0.6-4_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n eXo Platform combines collaboration, content and document management, calendaring and other productivity tools with social features to provide a complete intranet for the enterprise. Rich collaboration features such as wikis, forums, calendars and documents are smartly integrated around activity streams, social networking and workspaces. It is carefully designed to instantly engage users. It is open source and runs within the trusted security of an enterprise platform and is highly customizable to adapt to your organizational needs. This is a 30 day free evaluation of eXo Platform Express, a commercial version of eXo Platform. To continue using the image at the end of the trial period, you must purchase a license directly from eXo Platform (To learn more, visit: [http://www.exoplatform.com|http://docs.exoplatform.com/public/index.jsp?topic=%2FPLF41%2FPLFUserGuide.GettingStarted.TrialEdition.html|_blank]). For more information on eXo Platform visit: [eXo Platform Express by Bitnami|https://bitnami.com/stack/exo-platform|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_eXo_Platform|_blank], [eXo Platform Resource Center|http://www.exoplatform.com/company/en/resource-center|_blank], [Contact for Pricing Details|http://www.exoplatform.com/company/en/company/contact-us|_blank]. This eXo Platform Express VM is built and maintained by [Bitnami|https://bitnami.com|_blank] the leading provider of application images for the cloud. Default credentials are username: 'user' / password: 'bitnami'.\r\n eXo Platform Express 4\r\n 2014-07-14T00:00:00Z\r\n false\r\n exoplatform-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Medium\r\n Bitnami\r\n exoplatform-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 3422a428aaf14529884165693cbb90d3__eXo_Platform_Express_4.0.7-0_-_Ubuntu_14.04\r\n Linux\r\n https://bitnami.com/azure/terms\r\n eXo Platform combines collaboration, content and document management, calendaring and other productivity tools with social features to provide a complete intranet for the enterprise. Rich collaboration features such as wikis, forums, calendars and documents are smartly integrated around activity streams, social networking and workspaces. It is carefully designed to instantly engage users. It is open source and runs within the trusted security of an enterprise platform and is highly customizable to adapt to your organizational needs. This is a 30 day free evaluation of eXo Platform Express, a commercial version of eXo Platform. To continue using the image at the end of the trial period, you must purchase a license directly from eXo Platform (To learn more, visit: [http://www.exoplatform.com|http://docs.exoplatform.com/public/index.jsp?topic=%2FPLF41%2FPLFUserGuide.GettingStarted.TrialEdition.html|_blank]). For more information on eXo Platform visit: [eXo Platform Express by Bitnami|https://bitnami.com/stack/exo-platform|_blank], [wiki|http://wiki.bitnami.com/Applications/Bitnami_eXo_Platform|_blank], [eXo Platform Resource Center|http://www.exoplatform.com/company/en/resource-center|_blank], [Contact for Pricing Details|http://www.exoplatform.com/company/en/company/contact-us|_blank]. This eXo Platform Express VM is built and maintained by [Bitnami|https://bitnami.com|_blank] the leading provider of application images for the cloud. Default credentials are username: 'user' / password: 'bitnami'.\r\n eXo Platform Express 4\r\n 2014-09-30T00:00:00Z\r\n false\r\n exoplatform-azure-100x100.png\r\n https://bitnami.com/privacy\r\n Medium\r\n Bitnami\r\n exoplatform-azure-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131018-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-10-18T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131127-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-11-29T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20131217-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2013-12-23T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140213-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-01-23T00:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140306-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-03-05T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140327-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-03-26T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140618-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-06-17T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20140715-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-07-14T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n 3a50f22b388a4ff7ab41029918570fa6__Windows-Server-2012-Essentials-20141204-enus\r\n Windows\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with the Windows Server Essentials Experience role installed. The new Windows Server Essentials Experience server role on Windows Server 2012 R2 Datacenter includes features, such as Remote Web Access, that were previously available only in Windows Server Essentials. Before creating a virtual machine, you must configure a valid virtual network to use VPN connections. For more information about how to set up Windows Server Essentials Experience, see [here|http://go.microsoft.com/fwlink/?LinkId=322143].\r\n Windows Server Essentials Experience on Windows Server 2012 R2\r\n 2014-12-03T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Medium\r\n Microsoft Windows Server Essentials Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150325\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-65-20150904\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.5 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-09-04T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages. Note: Recommended VM size is A2 or larger.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150325\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages. Note: Recommended VM size is A2 or larger.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150605\r\n Linux\r\n 6.6\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150706\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-07-06T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-66-20150731\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.6 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-07-31T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-67-20150815\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 6.7 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-08-15T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150128\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-01-28T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150325\r\n Linux\r\n 7.0\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-03-25T00:00:00Z\r\n false\r\n CentOS6_100.png\r\n OpenLogic\r\n CentOS6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150904\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.0 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-09-04T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150410\r\n Linux\r\n 7.1\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-04-10T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150605\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n false\r\n 2015-06-05T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n 5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-71-20150731\r\n Linux\r\n http://www.openlogic.com/azure/service-agreement/\r\n This distribution of Linux is based on CentOS version 7.1 and is provided by OpenLogic. It contains an installation of the Basic Server packages.\r\n 2015-07-31T06:00:00Z\r\n false\r\n OpenLogic\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-8.6.0a-20140625\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 8.6\r\n true\r\n 2014-06-25T07:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-8.6.1b-3-20111104\r\n Linux\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 8.6\r\n 2011-11-04T07:00:00Z\r\n false\r\n RVBD_100x100.png\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-8.6.2-52-20141222\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 8.6\r\n 2014-12-22T08:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-9.0.0-15-20141213\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to Cloud SteelHead documentation at https://support.riverbed.com/content/support/software/steelhead/cloud.html\r\n Riverbed SteelHead CX 9.0\r\n 2014-12-13T08:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 38\r\n 63fcd0d5707b41b1b10f2a1d03ccc387__SteelHead-9.0.1-87-20150420\r\n Linux\r\n www.riverbed.com/license\r\n Riverbed SteelHead CX for Microsoft Azure speeds the transfer of data and applications to the cloud from end users over the Internet and WAN. Overcome latency, bandwidth constraints and competition for resources among applications, to speed up migration to the public cloud and accelerate access for users from virtually any location. The SteelHead image will function in a limited fashion until a data-disk is added, and a valid CCX license applied to the instance. Please use admin/password as initial login credentials to the SteelHead. For more details and recommendations please refer to https://support.riverbed.com/bin/support/static/doc/cloud/cloud_sh_2.3_ug/wwhelp/wwhimpl/js/html/wwhelp.htm#href=azure_cloud_sh.7.4.html\r\n Riverbed SteelHead CX 9.0\r\n 2015-04-20T07:00:00Z\r\n false\r\n RVBD_100x100.png\r\n http://www.riverbed.com/legal/privacy-policy/\r\n Small\r\n Riverbed Technology\r\n RVBD_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 80\r\n 810d5f35ce8748c686feabed1344911c__BarracudaNGFirewall-6.1.1-075-byol\r\n Linux\r\n https://cloudvm.cudasvc.com/eula/ngfirewall-azure-eula.html\r\n Note: This appliance is managed via a client application and TCP/807 needs to be forwarded to do so. See the [deployment README|https://cloudvm.cudasvc.com/azure/deployment-readme-ng.html|_blank] for details. -- The Barracuda NG Firewall is an enterprise-grade next-generation firewall that was purpose-built for efficient deployment and operation within dispersed, highly dynamic, and security-critical network environments providing multilayer security in the cloud. Beyond its powerful network firewall, IPS, and VPN technologies, the Barracuda NG Firewall integrates a comprehensive set of next-generation firewall technologies.\r\n Barracuda NG Firewall 6.1.1\r\n 2015-08-04T19:00:00Z\r\n false\r\n barracuda-100x100.png\r\n https://techlib.barracuda.com/display/CP/Privacy+Policy\r\n Small\r\n Barracuda Networks, Inc.\r\n barracuda-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 50\r\n 810d5f35ce8748c686feabed1344911c__BarracudaWebAppFirewall-vm4.2.4-fw8.0.0.013-20150827\r\n Linux\r\n https://cloudvm.cudasvc.com/eula/waf-azure-eula.html\r\n Note: This appliance is administered via a web UI and TCP/8000 needs to be forwarded to do so. See the [deployment README|https://cloudvm.cudasvc.com/azure/deployment-readme-waf.html|_blank] for details. -- The Barracuda Web Application Firewall inspects all inbound web traffic and blocks SQL injections, Cross-Site Scripting, malware uploads & application DDoS, or any other attacks targeted at your web applications. Its built-in load balancing technology also allows your web applications to scale with your business and its Data Loss Prevention (DLP) technology inspects server responses to help keep your proprietary information safe.\r\n Barracuda Web Application Firewall (WAF) 8.0.001301\r\n 2015-08-31T19:00:00Z\r\n false\r\n barracuda-100x100.png\r\n https://techlib.barracuda.com/display/CP/Privacy+Policy\r\n Small\r\n Barracuda Networks, Inc.\r\n barracuda-45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4596.1-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 Preview installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows HPC cluster in Azure. We recommend using a VM size of at least A4. Before creating a virtual machine, you must configure a valid virtual network. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post configuration script described in the Preview release notes. For more information about how to set up an HPC IaaS cluster with this image, [see here|http://go.microsoft.com/fwlink/p/?LinkId=403953|_blank] .\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-08-14T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4650.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-10-31T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4652.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2014-11-14T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4660.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-02-12T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4665.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 1 installed. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the HPC Pack IaaS deployment script to automatically create a multinode or a single node HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-04-16T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the head node of an HPC Pack cluster. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-4.4.4868.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the head node of an HPC Pack cluster. Microsoft SQL Server 2014 Express is also pre-installed. Use this image to create the head node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A4. If you plan to add cluster compute nodes to the head node, the VM must be created in an Azure virtual network. Configure the network before creating the VM. To use the head node, you will need to join the virtual machine to an Active Directory domain and run the post-configuration script described [here|http://go.microsoft.com/fwlink/?LinkId=403953|_blank]. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 on Windows Server 2012 R2\r\n 2015-08-27T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-4.4.4868.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node on Windows Server 2012 R2\r\n 2015-08-27T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-Excel-4.4.4864.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 and evaluation version of Microsoft Excel Professional Plus 2013 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node with Excel on Windows Server 2012 R2\r\n 2015-07-07T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-CN-Excel-4.4.4868.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 and evaluation version of Microsoft Excel Professional Plus 2013 installed to create the compute node of a Windows high performance computing (HPC) cluster in Azure. We recommend using a VM size of at least A3. It is strongly recommended to use the Azure Resource Manager (ARM) templates or the HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with the HPC Pack images. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=618018|_blank].\r\n HPC Pack 2012 R2 Compute Node with Excel on Windows Server 2012 R2\r\n 2015-08-27T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n Large\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4806.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see here|http://go.microsoft.com/fwlink/?LinkId=530195|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-04-06T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4835.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see Yammer Group|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-05-28T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update2-Preview-4.4.4858.0-WS2012R2-ENU\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=507756\r\n This image contains the Windows Server 2012 R2 Datacenter operating system with HPC Pack 2012 R2 Update 2 Technical Preview for Head Node installed. It is strongly recommended to use the Update 2 Preview version of HPC Pack IaaS deployment script to automatically create an HPC cluster in Azure with this image. For more information [see Yammer Group|http://go.microsoft.com/fwlink/?LinkId=518150|_blank].\r\n HPC Pack Technical Preview on Windows Server 2012 R2\r\n 2015-06-29T16:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=507755\r\n ExtraLarge\r\n Microsoft Windows Server HPC Pack team\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU5-201503NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-03-27T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU6-201504NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-04-13T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU7-201505NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-05-13T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-CU8-201506NB.01-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-06-15T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n 9a03679de0e64e0e94fb8d7fd3c72ff1__Dynamics-NAV-2015-RTM-201502NB.02-127GB\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=524939\r\n Microsoft Dynamics NAV is a business solution from Microsoft that is quick to implement, easy to use, and that has the power to support your ambitions for your business. This image contains a pre-configured demonstration installation of Microsoft Dynamics NAV that you can reconfigure for production purposes, or extend to a stunning demonstration environment that is integrated with Office 365 and other Microsoft products in just a few clicks.\r\n Microsoft Dynamics NAV 2015 on Windows Server 2012 R2\r\n 2015-02-24T00:00:00Z\r\n false\r\n DynamicsNAV2013R2_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=394974\r\n Medium\r\n Microsoft Dynamics NAV Group\r\n DynamicsNAV2013R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20140710\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2014-07-09T00:41:59Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20141209\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2014-12-09T15:26:36Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20150506\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2015-05-08T12:17:30Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 32\r\n 9b7cfe55da0349d5a8316a8cc4741f87__StorSimple-VirtualAppliance-1100-20150617\r\n Windows\r\n Microsoft StorSimple Virtual Appliance 1100\r\n StorSimple Virtual Appliance 1100\r\n false\r\n 2015-06-26T07:49:56Z\r\n false\r\n http://azure.microsoft.com/en-us/support/legal/privacy-statement/\r\n Microsoft Hybrid Cloud Storage Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201505.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-05-22T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201506.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-20150726-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-20150824-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure, helping you to save time and reduce costs. It provides you with powerful tools to react to business needs with greater control and confidence.\r\n Windows Server 2008 R2 SP1\r\n 2015-08-24T07:00:00Z\r\n false\r\n WindowsServer2008R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201505.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-06-22T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201506.01-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-20150726-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-20150824-en.us-127GB.vhd\r\n Windows\r\n Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.\r\n Windows Server 2012 Datacenter\r\n 2015-08-24T07:00:00Z\r\n false\r\n WindowsServer2012_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201505.01-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-05-22T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201506.01-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-06-25T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20150726-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-07-26T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20150825-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server 2012 R2 brings Microsoft's experience delivering global-scale cloud services into your infrastructure. It offers enterprise-class performance, flexibility for your applications and excellent economics for your datacenter and hybrid cloud environment. This image includes Windows Server 2012 R2 Update.\r\n Windows Server 2012 R2 Datacenter\r\n 2015-08-25T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n a699494373c04fc0bc8f2bb1389d6106__Windows-Server-Technical-Preview-20150819-en.us-127GB.vhd\r\n Windows\r\n At the heart of the Microsoft Cloud OS vision, Windows Server brings the breadth and depth of Microsoft’s experience delivering global-scale cloud services to your datacenter infrastructure. Windows Server Technical Preview provides a range of new and enhanced capabilities and features spanning server virtualization, storage, networking, server management and automation, web and application platform, access and information protection, remote desktop infrastructure, and more. This VHD contains a preview release and should strictly be used for testing purposes. The VHD won’t be serviced or supported for production use and the trial period expires on July 15th, 2016.\r\n Windows Server 2016 Technical Preview\r\n 2015-08-19T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n a699494373c04fc0bc8f2bb1389d6106__WindowsServer_en-us_TP3_Container_VHD_Azure-20150819.vhd\r\n Windows\r\n This image contains the Windows Server 2016 Technical Preview 3 core installation with the Container role enabled. The new Container role on Windows Server Technical Preview 3 allows Window Server Container creation, management, and operation. For more information about Windows Server Containers, see [here.|https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome|_blank]\r\n Windows Server Container Preview\r\n 2015-08-19T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n a699494373c04fc0bc8f2bb1389d6106__WindowsServer_en-us_TP3_Container_VHD_Azure-20150828.vhd\r\n Windows\r\n This image contains the Windows Server 2016 Technical Preview 3 core installation with the Container role enabled. The new Container role on Windows Server Technical Preview 3 allows Window Server Container creation, management, and operation. For more information about Windows Server Containers, see [here.|https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome|_blank]\r\n Windows Server Container Preview\r\n 2015-08-28T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n a699494373c04fc0bc8f2bb1389d6106__WindowsServer_en-us_TP3_Container_VHD_Azure-20150901.vhd\r\n Windows\r\n This image contains the Windows Server 2016 Technical Preview 3 core installation with the Container role enabled. The new Container role on Windows Server Technical Preview 3 allows Window Server Container creation, management, and operation. For more information about Windows Server Containers, see [here.|https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome|_blank]\r\n Windows Server Container Preview\r\n 2015-09-01T07:00:00Z\r\n false\r\n WindowsServer2012R2_100.png\r\n Standard_D1\r\n Microsoft Windows Server Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-1BOX-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 AOS on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 AOS on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-PROD-OS-Win2012R2-June15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 AOS Production on Windows Server 2012 R2\r\n false\r\n 2015-06-01T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-AOS-PROD-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Application Object Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 AOS Production on Windows Server 2012 R2\r\n false\r\n 2015-05-18T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-ARA-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Azure Remote Application Service software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Azure Remote Application Service on Windows Server 2012 R2\r\n false\r\n 2015-05-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Client software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 Client on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Client software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-requisites for Dynamics AX 2012 R3 Client on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-CLI-PROD-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Client Production on Windows Server 2012 R2\r\n false\r\n 2015-04-27T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-EP-OS-Win2012R2-April15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Enterprise Portal software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Enterprise Portal on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-EP-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Enterprise Portal software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Enterprise Portal on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-RTLECM-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Retail E-commerce software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Retail E-commerce on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-RTLESS-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Retail Essentials software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Retail Essentials on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-SQL-OS-Win2012R2-April15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Database Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Database Server on Windows Server 2012 R2\r\n false\r\n 2015-04-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX-2012-R3-6.3.1000.309-SQL-OS-Win2012R2-March15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX 2012 R3 Database Server software to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX 2012 R3 Database Server on Windows Server 2012 R2\r\n false\r\n 2015-04-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-AOS-OS-Win2012R2-20Aug15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 Applicaion Object Server software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 AOS on Windows Server 2012 R2 Preview\r\n false\r\n 2015-08-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-AOS-OS-Win2012R2-21Aug15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 Applicaion Object Server software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 AOS on Windows Server 2012 R2 Preview\r\n false\r\n 2015-08-21T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-AOS-OS-Win2012R2-2Sep15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 Applicaion Object Server software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 AOS on Windows Server 2012 R2\r\n false\r\n 2015-09-02T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-AOS-OS-Win2012R2-7July28\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 Applicaion Object Server software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 AOS on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-BI-OS-Win2012R2-20July15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 business intelligence software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 BI on Windows Server 2012 R2 Preview\r\n false\r\n 2015-08-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-BI-OS-Win2012R2-27Aug15\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 business intelligence software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 BI on Windows Server 2012 R2\r\n false\r\n 2015-08-27T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-BI-OS-Win2012R2-7July28\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 business intelligence software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 BI on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-20Aug15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Developer on Windows Server 2012 R2 Preview\r\n false\r\n 2015-08-20T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-20May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-05-27T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2 Preview\r\n false\r\n 2015-07-07T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July26\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2 Preview\r\n false\r\n 2015-07-26T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-7July28\r\n Windows\r\n True\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Developer on Windows Server 2012 R2\r\n false\r\n 2015-07-28T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n aab47c5acae74e5e8c005b26cff3e828__Dynamics-AX7-Dynamic-Onebox-OS-Win2012R2-May15\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n This image has the pre-requisite software to allow Microsoft Dynamics AX7 software's to be installed when in the presence of other required systems. Depending on the date of the image some pre-requisite software on this image may be expired.\r\n Pre-Requisites for Dynamics AX7 Onebox on Windows Server 2012 R2\r\n false\r\n 2015-05-11T07:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=397363\r\n Large\r\n Microsoft Dynamics AX\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__RdshOnWindowsServer2012R2.20140305.127GB.vhd\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2014-03-05T23:38:03.7394082Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20140814-1846\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2014-08-14T20:56:09.553895Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20141111-2335\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2014-11-12T00:23:04.7938861Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150127-2030\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-01-27T21:22:33.5359792Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150309-1850\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-03-09T21:27:13.0940596Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150429-2200\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-04-30T02:06:52.0524797Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO13P-on-Windows-Server-2012-R2-20150514-2210\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO13P on Windows Server 2012 R2\r\n false\r\n 2015-05-14T23:02:10.1569333Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20141121-0016\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2014-11-21T01:07:50.1224459Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20141126-2055\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2014-11-27T01:46:00.1951134Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150128-0010\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-01-28T01:17:11.0039487Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150309-1850\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-03-09T19:50:33.6933063Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150428-2230\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-04-28T23:16:04.9724554Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150513-1800\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-05-13T20:37:23.4158594Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150610-2039\r\n Windows\r\n \r\n This image can be used by authorized Microsoft Service Providers only.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n false\r\n 2015-06-11T01:56:15.8997285Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-RDSHwO365P-on-Windows-Server-2012-R2-20150901-1800\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed along with Microsoft Office 365 ProPlus which has Shared Computer Activation enabled. Microsoft Office 365 ProPlus subscription is required to use Office. This image has been pre-configured for Windows Azure and or Azure RemoteApp. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server RDSHwO365P on Windows Server 2012 R2\r\n true\r\n 2015-09-01T18:54:42.7530173Z\r\n false\r\n WindowsServer2012R2_100.png\r\n http://www.windowsazure.com/en-us/support/legal/privacy-statement\r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20141111-0723\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2014-11-11T08:00:55.6357644Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150128-0500\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2015-01-28T05:33:11.6514381Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150309-1815\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-03-09T18:58:44.7766347Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150429-0000\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-04-29T00:35:41.9643255Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150512-0030\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-05-12T14:39:41.1427698Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150513-0525\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n false\r\n 2015-05-13T06:00:19.2702337Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n ad072bd3082149369c449ba5832401ae__Windows-Server-Remote-Desktop-Session-Host-on-Windows-Server-2012-R2-20150828-0350\r\n Windows\r\n \r\n This image contains the Windows Server 2012 R2 operating system with the Remote Desktop Session Host (RD Session Host) role installed. This image has been pre-configured for Windows Azure. RD Session Host enables a server to host RemoteApp programs or session-based desktops.\r\n Windows Server Remote Desktop Session Host on Windows Server 2012 R2\r\n true\r\n 2015-08-28T04:09:34.7942622Z\r\n false\r\n WindowsServer2012R2_100.png\r\n \r\n Large\r\n Microsoft Windows Server Remote Desktop Group\r\n WindowsServer2012R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20121218-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.10 (amd64 20121218) for Windows Azure. This image is DEPRECATED and was reached its END OF LIFE on 2014-04-18. This image is provided for archival purposes only. Please see [Ubuntu Release Wiki|https://wiki.ubuntu.com/Releases|_blank] for information about successor releases and the Ubuntu life-cycle.\r\n Ubuntu Server 12.10\r\n false\r\n 2012-12-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130225-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130225) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-02-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130325-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130325) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n false\r\n 2013-03-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130415-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130415) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n false\r\n 2013-04-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130516-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130516) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-05-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130527-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130527) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-05-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130603-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130603) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-06-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_2-LTS-amd64-server-20130624-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.2 LTS (amd64 20130624) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.2 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-06-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130827-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130827) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-08-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20130916.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20130916.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-09-16T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131003-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131003) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-10-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131024-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131024) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-10-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131111-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131111) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-11-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131114-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131114) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-11-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131205-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20131205) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2013-12-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20140127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20140127) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-01-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20140130-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.3 LTS (amd64 20140130) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.3 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-01-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140227-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140227) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-02-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140408-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140408) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-04-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140428-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140428) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-04-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140514-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140514) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-05-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140606-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140606) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-06-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140619-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140619) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-06-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140702-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140702) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-07-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140717-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.4 LTS (amd64 20140717) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.4 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-07-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140806-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140806) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-08-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140829.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140829.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-08-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140909.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140909.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140923.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140923.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140924.4-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140924.4) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140925.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140925.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140925.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140925.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20140927) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2014-09-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150119-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150119) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-01-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150127) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-01-27T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150204-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5 LTS (amd64 20150204) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5 LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-02-04T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150512-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150512) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150522.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150522.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-05-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150610-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150610) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150615-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150615) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-06-16T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150616-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150616) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150707) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150728) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150730.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150730.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150731.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150731.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-07-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150819-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150819) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-08-19T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150906-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150906) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-09-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20150909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5-LTS (amd64 20150909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5-LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150309) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-03-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150401-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150401) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-04-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5_LTS-amd64-server-20150413-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 12.04.5.LTS (amd64 20150413) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 12.04.5.LTS will be available until 2017-04-26. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 12.04 LTS\r\n true\r\n 2015-04-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140414-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140414) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-14T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140414.2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140414.2) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140416.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140416.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-04-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140528-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140528) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-05-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140606.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140606.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-06-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140618.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140618.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-06-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140724-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04 LTS (amd64 20140724) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-07-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140924-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140924) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140926-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140926) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20140927) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-09-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20141125-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20141125) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2014-11-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20150123-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.1 LTS (amd64 20150123) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.1 LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-01-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150506-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150506) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-05-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150610-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150610) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2-LTS-amd64-server-20150706-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2-LTS (amd64 20150706) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2_LTS-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.2.LTS (amd64 20150309) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.2.LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-03-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20150805-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.3-LTS (amd64 20150805) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.3-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-08-06T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20150908-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 14.04.3-LTS (amd64 20150908-) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 14.04.3-LTS will be available until 2019-04-17. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 14.04 LTS\r\n true\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-SSH-Docker-amd64-edge-201507081917-119-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507081917. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-SSH-Docker-amd64-stable-201508282346-1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core 15.04 $(CHANNEL)s 201508282346. This is a released, stable version of Ubuntu Core (Snappy). For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 stable\r\n false\r\n 2015-08-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-20150423-39-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 20150423. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-04-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507080203-118-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507080203. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507092358-121-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507092358. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507102001-122-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507102001. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507102212-123-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507102212. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507221609-125-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507221609. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507221910-126-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507221910. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507222241-127-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507222241. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507231619-128-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507231619. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507232107-131-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507232107. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201507241850-132-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201507241850. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-07-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201509011259-135-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201509011259. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-09-01T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201509071758-136-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201509071758. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-09-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201509080558-137-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201509080558. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-09-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201509081358-138-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201509081358. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-09-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-edge-201509090702-139-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201509090702. This is a developer build of Ubuntu Snappy 15.04. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 edge\r\n false\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15.04-Snappy-core-amd64-stable-201508290653-1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core 15.04 $(CHANNEL)s 201508290653. This is a released, stable version of Ubuntu Core (Snappy). For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core 15.04 stable\r\n false\r\n 2015-08-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150224.5-beta1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150224.5) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n false\r\n 2015-02-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150325-beta2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150325) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n false\r\n 2015-03-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150417.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150417.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150420.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150420.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150421-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150421) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150421.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150421.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-30. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150422-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150422) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-04-23T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150513-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150513) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150513.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150513.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-13T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150528.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150528.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-05-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150611-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150611) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150616.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150616.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-06-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150707-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150707) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150722-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150722) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-22T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150728-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150728) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150729-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150729) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-07-29T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150818-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150818) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-08-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150909) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_04-amd64-server-20150910-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.04 (amd64 20150910) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.04 will be available until 2016-01-23. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.04\r\n true\r\n 2015-09-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150624-alpha1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n MILESTONE RELEASE: This is a milestone release and is considered experimental. This build is unsupported and is for development and preview reference only. Ubuntu Server 15.10 (amd64 20150624) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-06-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150728.1-alpha2-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Server 15.10 (amd64 20150728.1) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-07-30T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-15_10-amd64-server-20150825-beta1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n MILESTONE RELEASE: This is a milestone release and is considered experimental. This build is unsupported and is for development and preview reference only. Ubuntu Server 15.10 (amd64 20150825) for Microsoft Azure. Ubuntu Server is the world's most popular Linux for cloud environments. Updates and patches for Ubuntu 15.10 will be available until 2016-07-29. Ubuntu Server is the perfect platform for all workloads from web applications to NoSQL databases and Hadoop. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank].\r\n Ubuntu Server 15.10\r\n false\r\n 2015-08-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-20150526-57-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 20150526. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-05-26T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506102134-69-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506102134. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506110559-70-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506110559. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506120856-71-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506120856. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-12T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506171326-77-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506171326. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-17T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506180039-80-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506180039. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-rolling-Snappy-core-amd64-edge-201506190835-82-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n Ubuntu Core edge 201506190835. This is a developer build of Ubuntu Snappy rolling. For more information see [Ubuntu Cloud|http://www.ubuntu.com/snappy|_blank].\r\n Ubuntu Core rolling edge\r\n false\r\n 2015-06-19T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150815-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150815 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-08-15T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150818-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150818 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-08-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150819-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150819 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-08-19T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150831.3-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150831.3 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-08-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150902-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150902 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150904-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150904 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-04T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150905-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150905 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150906-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150906 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-06T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150909 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-precise-12_04_5-LTS-amd64-server-20150910-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150910 of Ubuntu Server 12.04.5-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 12.04 LTS DAILY\r\n false\r\n 2015-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150831-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150831 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-08-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150901-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150901 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-01T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150901.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150901.1 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-01T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150902-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150902 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150903-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150903 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150904-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150904 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-04T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150905-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150905 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150907-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150907 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150908-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150908 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-08T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-trusty-14_04_3-LTS-amd64-server-20150909.1-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150909.1 of Ubuntu Server 14.04.3-LTS DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 14.04 LTS DAILY\r\n false\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150818-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150818 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-18T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150819-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150819 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-19T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150820-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150820 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150821-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150821 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150828.3-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150828.3 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-08-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150901-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150901 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-09-01T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150902-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150902 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-09-02T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150903-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150903 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-09-03T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150909-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150909 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-09-09T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-vivid-15_04-amd64-server-20150910-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150910 of Ubuntu Server 15.04 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.04 DAILY\r\n false\r\n 2015-09-10T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150820-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150820 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-20T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150821-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150821 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-21T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150824-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150824 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-24T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150825-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150825 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-25T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150828-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150828 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-28T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150831-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150831 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-08-31T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150904-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150904 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-09-05T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150906-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150906 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-09-06T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150907-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150907 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-09-07T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-wily-15_10-amd64-server-20150910-en-us-30GB\r\n Linux\r\n http://www.ubuntu.com/project/about-ubuntu/licensing;http://www.ubuntu.com/aboutus/privacypolicy\r\n DAILY BUILD 20150910 of Ubuntu Server 15.10 DAILY (amd64) for Microsoft Azure. Daily builds are up-to-date builds of the regular release images for Ubuntu Server. While every effort is made to make sure that these are production quality, these images come with no warranty. In the event of a support issue, you may be asked to update to an official released build. For more information see [Ubuntu Cloud|http://www.ubuntu.com/cloud|_blank] and [using Juju to deploy your workloads|http://juju.ubuntu.com|_blank]. \r\n Ubuntu Server 15.10 DAILY\r\n false\r\n 2015-09-11T00:00:00Z\r\n false\r\n Ubuntu-cof-100.png\r\n http://www.ubuntu.com/aboutus/privacypolicy\r\n Canonical\r\n Ubuntu-cof-45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.1-20141216-x86-64\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n openSUSE 13.1 brings updated desktop environments and software, a lot of polishing, a brand new KDE theme, complete systemd integration and many other features. Customization of these images can be done at http://susestudio.com\r\n openSUSE 13.1\r\n 2015-01-05T08:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.2-20141216-x86-64\r\n Linux\r\n Stable, innovative, and fun! A year's worth of continuous improvement in tools and procedures, and countless hours developing, packaging, and testing have produced a stable release providing the best of Free and Open Source software with our special green touch. Customization of this image can be done at [https://susestudio.com|https://susestudio.com]\r\n openSUSE 13.2\r\n 2014-12-16T00:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-opensuse-13.2-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Stable, innovative, and fun! A year's worth of continuous improvement in tools and procedures, and countless hours developing, packaging, and testing have produced a stable release providing the best of Free and Open Source software with our special green touch. Customize this image with SUSE Studio ( [https://susestudio.com|https://susestudio.com] ).\r\n openSUSE 13.2\r\n 2015-05-12T07:00:00Z\r\n false\r\n OpenSuse12_100.png\r\n SUSE\r\n OpenSuse12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-priority-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP3 (Premium Image)\r\n 2015-01-27T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-priority-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP3 (Premium Image)\r\n 2015-03-30T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-sapcal-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n The SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library image is the base image for SAP's Cloud Appliance library. It will be used automatically when deploying an SAP Cloud Appliance Library instance and has the same features as the native SLES image, however customized to fit SAP's CAL needs. For further description and usage guide lines please refer to the description of the SUSE Linux Enterprise image.\r\n SUSE Linux Enterprise Server 11 SP3 for SAP Cloud Appliance Library\r\n 2015-01-27T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-v20150127\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 11 SP3\r\n 2015-01-27T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp3-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 11 SP3\r\n 2015-03-30T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp4-priority-v20150714\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 11 SP4 (Premium Image)\r\n 2015-07-14T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-11-sp4-v20150714\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 11 SP4\r\n 2015-07-14T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-hpc-priority-v20150708\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The image supports the low latency network interface option available for select instance types. This Premium image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. Virtual machines created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure Support ( [http://azure.microsoft.com/en-us/support/options/|http://azure.microsoft.com/en-us/support/options/] ).\r\n SUSE Linux Enterprise Server 12 - HPC (Premium Image)\r\n 2015-07-08T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-hpc-v20150708\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. This image supports the low latency network interface option available for select instance types.\r\n SUSE Linux Enterprise Server 12 HPC\r\n 2015-07-08T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150213\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server Premium Image with PRIORITY Support: SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-02-13T08:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center. The Premium Image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. VMs created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure.\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-03-30T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-priority-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center. This Premium image with PRIORITY support includes updates, patches, and support through 24x7 web, email, chat and phone from SUSE. Virtual machines created from this image incur per-hour support fees, in addition to Azure platform fees. An Azure support plan is required (developer or above). Support incidents are initiated through Azure Support ( [http://azure.microsoft.com/en-us/support/options/|http://azure.microsoft.com/en-us/support/options/] ).\r\n SUSE Linux Enterprise Server 12 (Premium Image)\r\n 2015-05-12T07:00:00Z\r\n true\r\n Suse11_100.png\r\n SUSE\r\n http://go.microsoft.com/fwlink/?LinkId=299677\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150213\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n SUSE Linux Enterprise Server is a highly reliable, scalable and secure server operating system, built to power physical, virtual and cloud-based mission-critical workloads. With this affordable, interoperable and manageable open source foundation, enterprises can cost-effectively deliver core business services, enable secure networks and easily manage their heterogeneous IT resources, maximizing efficiency and value. Customization of images can be done at http://susestudio.com.\r\n SUSE Linux Enterprise Server 12\r\n 2015-02-13T08:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150330\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported enterprise Linux distribution available today on Microsoft Azure, and the only one supported with tools like SUSE Studio for quick and easy image creation, and SUSE Manager for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 12\r\n 2015-03-30T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n b4590d9e3ed742e4a1d46e5424aa335e__suse-sles-12-v20150512\r\n Linux\r\n https://www.suse.com/licensing/eula/\r\n Confidently run your production workloads on SUSE Linux Enterprise Server on Microsoft Azure, knowing that your service levels are guaranteed, and that help from SUSE and Microsoft engineers, if you need it, is just a phone call away. SUSE Linux Enterprise Server is the only supported Enterprise Linux distribution available on Microsoft Azure, and the only one supported with tools like SUSE Studio ( [https://susestudio.com|https://susestudio.com] ) for quick and easy image creation, and SUSE Manager ( [https://www.suse.com/products/suse-manager/|https://www.suse.com/products/suse-manager/] ) for monitoring and managing your Linux virtual machines using Microsoft Systems Center.\r\n SUSE Linux Enterprise Server 12\r\n 2015-05-12T07:00:00Z\r\n false\r\n Suse11_100.png\r\n SUSE\r\n Suse11_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 7.5 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-iis75-v5.8.8.11\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 7.5 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-07T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-sqlsvr2012-v5.8.8.15\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2013-01-05T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-08-28T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-SP1-x64-v5.8.8.11\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-07T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with IIS 7.5 and RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with IIS 7.5 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-iis7.5-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v13.4.3.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-06-06T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v13.5.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-19T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v13.4.3.1\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-06-06T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2012ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2008R2 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with MS SQL Server 2008R2 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-sqlsvr2k8r2ent-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2008R2-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2008R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-iis8-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with IIS 8 and RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Standard and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with MS SQL Server 2012 Enterprise and RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-sqlsvr2012ent-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n true\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 31\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.4.12.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8\r\n RightScale Windows v13\r\n false\r\n 2013-05-30T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.5\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink v5.8\r\n RightScale Windows v13\r\n false\r\n 2013-08-15T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v14\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.9\r\n RightScale Windows v14\r\n false\r\n 2014-03-24T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v5.8.8.12\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012 with RightLink 5.8.\r\n RightScale Windows v13\r\n false\r\n 2012-12-12T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012R2-x64-v14.2\r\n Windows\r\n http://support.rightscale.com/12-Guides/RightLink/RightLink_End_User_License_Agreeement\r\n Windows 2012R2 with RightLink 6.2\r\n RightScale Windows v14\r\n false\r\n 2015-01-16T00:00:00Z\r\n false\r\n http://www.rightscale.com/privacy_policy.php\r\n RightScale with Windows Server\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 10\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-6-12-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Linux 6 brings the latest Linux innovations to market, delivering extreme performance, advanced scalability, and reliability for enterprise applications and systems. More information can be found at http://www.oracle.com/linux.\r\n Oracle Linux 6.4.0.0.0\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleLinux6_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleLinux6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 40\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-6-E-Database-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Database 12c Enterprise Edition is a next-generation database designed for the cloud, providing a new multitenant architecture on top of a fast, scalable, reliable, and secure database platform. For more information, go to http://www.oracle.com/database.\r\n Oracle Database 12.1.0.1 Enterprise Edition\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleDatabase12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-7\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Linux 7.0.0.0 delivers extreme performance, advanced scalability, and reliability for enterprise applications and systems. Optimized for enterprise workloads, Oracle Linux is the only operating system to offer zero-downtime updates.\r\n Oracle Linux 7.0.0.0.0\r\n 2014-12-18T06:00:00Z\r\n false\r\n OracleLinux6_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleLinux6_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 40\r\n c290a6b031d841e09f2da759bbabe71f__Oracle-Linux-Database-Standard-2014\r\n Linux\r\n http://www.oracle.com/technetwork/licenses/oracle-license-2016066.html\r\n Oracle Database 12c Standard Edition is an affordable, full-featured data management solution that is ideal for midsize companies. More information can be found at http://www.oracle.com/database.\r\n Oracle Database 12.1.0.1 Standard Edition\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleDatabase12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleDatabase12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n c290a6b031d841e09f2da759bbabe71f__WebLogic-Linux-6-12c-2014\r\n Linux\r\n Oracle WebLogic Server 12.1.2 on Oracle Linux 6.4.0.0.0\r\n Oracle WebLogic Server 12c Enterprise Edition is a leading Java EE application server, delivering next-generation applications on a mission-critical cloud platform, with native cloud management, and integrated tools. More information can be found at http://www.oracle.com/weblogicserver.\r\n Oracle Weblogic\r\n 2014-12-22T06:00:00Z\r\n false\r\n OracleWeblogic12_100.png\r\n http://www.oracle.com/us/legal/privacy/privacy-policy-078584.html\r\n Oracle\r\n OracleWeblogic12_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n c6e0f177abd8496e934234bd27f46c5d__SharePoint-2013-Trial-7-9-2015\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=38417\r\n Microsoft SharePoint Server 2013 Trial on Windows Server 2012 Datacenter. Virtual Machines created with this trial image will expire on January 5, 2016. This image includes a complete installation of SharePoint Server 2013. Some SharePoint Server 2013 components require additional setup and configuration. You can set-up Active Directory and SQL Server required for your SharePoint farm by provisioning additional virtual machines. Minimum recommended virtual machine size for this image is Large. To evaluate the advanced capabilities of SharePoint Server 2013, we recommend that you use a virtual machine size of A4.\r\n SharePoint Server 2013 Trial\r\n 2015-07-09T07:00:00Z\r\n false\r\n Standard_D12\r\n Microsoft SharePoint Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 128\r\n c6e0f177abd8496e934234bd27f46c5d__SharePoint-2016-Preview-8-27-2015\r\n Windows\r\n http://www.microsoft.com/en-us/download/details.aspx?id=38417\r\n Microsoft SharePoint Server 2016 IT Preview on Windows Server 2012 R2 Datacenter. Virtual Machines created with this trial image will expire on February 23, 2016. This image includes a complete installation of SharePoint Server 2016 IT Preview. Some SharePoint Server 2016 IT Preview components require additional setup and configuration. You can set-up Active Directory and SQL Server required for your SharePoint farm by provisioning additional virtual machines. Minimum recommended virtual machine size for this image is Large. To evaluate the advanced capabilities of SharePoint Server 2016 IT Preview, we recommend that you use a virtual machine size of A4.\r\n SharePoint Server 2016 IT Preview\r\n 2015-08-27T07:00:00Z\r\n false\r\n Standard_D12\r\n Microsoft SharePoint Group\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n de89c2ed05c748f5aded3ddc75fdcce4__PuppetEnterpriseMaster-3_2_3_1-amd64-server-20140925.1-en-us-30GB\r\n Linux\r\n http://puppetlabs.com/solutions/microsoft#Eula\r\n This image includes a pre-configured Puppet Master with the Ubuntu Linux distribution for easy deployment of Puppet Enterprise. To set up a Puppet Enterprise environment, please refer to the Getting Started Guide for Deploying a Puppet Master with Windows Azure at http://puppetlabs.com/solutions/microsoft NOTE: The cloud service and virtual machine names must be in lower case to properly provision a Puppet Master.\r\n Puppet Enterprise 3.2\r\n 2014-10-23T01:45:25.1330063Z\r\n false\r\n PuppetLabs_100x100.png\r\n http://puppetlabs.com/solutions/microsoft\r\n Medium\r\n Puppet Labs\r\n PuppetLabs_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 30\r\n de89c2ed05c748f5aded3ddc75fdcce4__PuppetEnterpriseMaster-3_7_2-amd64-server-20150309-en-us-30GB\r\n Linux\r\n http://puppetlabs.com/solutions/microsoft#Eula\r\n This image includes a pre-configured Puppet Master with the Ubuntu Linux distribution for easy deployment of Puppet Enterprise. To set up a Puppet Enterprise environment, please refer to the Getting Started Guide for Deploying a Puppet Master with Windows Azure at http://puppetlabs.com/solutions/microsoft NOTE: The cloud service and virtual machine names must be in lower case to properly provision a Puppet Master.\r\n Puppet Enterprise 3.7\r\n 2015-03-19T07:12:15.3948309Z\r\n false\r\n PuppetLabs_100x100.png\r\n http://puppetlabs.com/solutions/microsoft\r\n Medium\r\n Puppet Labs\r\n PuppetLabs_45x45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Enterprise-CY13SU04-SQL2008-SP2-10.50.4021.0\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-04-16T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2008R2SP2-Standard-CY13SU04-SQL2008-SP2-10.50.4021.0\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-04-16T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Enterprise-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Standard-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP2-10.50.4319.0-Web-ENU-Win2008R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2014-07-18T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Ent-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Enterprise on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Ent-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Enterprise on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Std-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Standard on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Std-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Standard on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Web-ENU-Win2008R2-cy14su09\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Web on Windows Server 2008 R2\r\n 2014-09-26T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2-SP3-10.50.6000.34-Web-ENU-Win2008R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP3 Web on Windows Server 2008 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Enterprise-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285681\r\n We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Enterprise on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A3\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Standard-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285685\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Standard on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n Sqlserver2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-07-29T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY13SU10\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database.\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-10-22T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY13SU12\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of medium or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2013-12-23T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2008R2SP2-GDR-10.50.4021.0-Web-ENU-Win2K8R2-CY14SU02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285686\r\n We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2008 R2 SP2 Web on Windows Server 2008 R2\r\n 2014-02-21T00:00:00Z\r\n true\r\n SqlServer2008R2_100.png\r\n http://msdn.microsoft.com/library/ms143384(v=sql.105).aspx\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2008R2_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Ent-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Std-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-Web-ENU-Win2012-cy14su08\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2014-08-31T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Ent-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Std-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-Web-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012 R2\r\n 2014-12-01T08:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Ent-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n This image contains the full version of SQL Server. Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Enterprise on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Std-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=285691\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Standard on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012-cy15su02\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2015-03-10T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-Web-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=286424\r\n Some SQL Server components require additional setup and configuration before use. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2012 SP2 Web on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2012_100.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2012_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Ent-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of DS3 or higher with Premium Storage. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n DS13\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Std-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-Web-ENU-Win2012R2-cy15su04\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2015-04-15T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-DataWarehousing-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image is optimized for data warehousing workloads with data sizes up to 1TB using clustered columnstore indexes. After the portal deployment completes, you need to attach disks to the virtual machine. To do this, connect to the VM and follow the on-screen instructions. Before using the VM, review the recommendations [here|http://msdn.microsoft.com/library/dn387396.aspx|_blank]. For best performance, we recommend using a VM size of A7. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM DataWarehousing on Windows Server 2012 R2\r\n false\r\n 2014-06-27T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A7\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Enterprise-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Standard-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-Web-ENU-Win2012R2-cy14su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-06-09T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Ent-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Std-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-Web-ENU-Win2012R2-cy14su11\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-11-15T08:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Medium\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-SP1-12.0.4100.1-Std-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank]\r\n SQL Server 2014 SP1 Standard on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-SP1-12.0.4100.1-Web-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 SP1 Web on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n DS12\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-Ent-ENU-Win2012R2-cy15su05\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of DS3 or higher with Premium Storage. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 SP1 Enterprise on Windows Server 2012 R2\r\n 2015-05-15T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Large\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-DataWarehousing-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image is optimized for data warehousing workloads with data sizes up to 1TB using clustered columnstore indexes. After the portal deployment completes, you need to attach disks to the virtual machine. To do this, connect to the VM and follow the on-screen instructions. Before using the VM, review the recommendations [here|http://msdn.microsoft.com/library/dn387396.aspx|_blank]. For best performance, we recommend using a VM size of A7. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM DataWarehousing on Windows Server 2012 R2\r\n false\r\n 2014-04-01T07:00:00Z\r\n true\r\n SQLServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A7\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-ENTCORE-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A3 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Enterprise on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A3\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-Standard-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512496\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Standard on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271257\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014RTM-12.0.2000.8-Web-ENU-WS2012R2-AprilGA\r\n Windows\r\n http://go.microsoft.com/fwlink/?LinkID=512495\r\n This image contains the full version of SQL Server. We recommend that you use a virtual machine size of A2 or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2014 RTM Web on Windows Server 2012 R2\r\n 2014-04-01T07:00:00Z\r\n true\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n A2\r\n Microsoft SQL Server Group\r\n http://go.microsoft.com/fwlink/?LinkId=271258\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2-13.0.200.172-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2016 CTP2 Evaluation on Windows Server 2012 R2\r\n 2015-05-27T07:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n DS13\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2-13.0.407.1-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n [Known Issues in this Release.|http://go.microsoft.com/fwlink/?LinkID=398124|_blank]. Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQLServer2016CTP2-13.0.407.1-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n 2015-07-27T00:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n DS12\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2.1-13.0.300.44-Evaluation-ENU-SQLEVAL.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQL Server 2016 CTP2 Evaluation on Windows Server 2012 R2\r\n 2015-06-19T00:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n DS12\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n \r\n Public\r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 127\r\n fb83b3509582419d99629ce476bcb5c8__SQLServer2016CTP2.3-13.0.500.53-Evaluation.ENU.Mar-WS2012R2\r\n Windows\r\n http://download.microsoft.com/download/6/6/9/66971884-0E4D-476A-981B-D139F9D9420F/2016CTP2/1033/license_Eval.rtf\r\n Virtual Machines created by using this SQL Server Evaluation Edition will expire on June 30th, 2016. This image contains the full version of SQL Server. Some SQL Server 2016 components require additional setup and configuration before use. We recommend that you use a virtual machine size of large or higher. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n SQLServer2016CTP2.3-13.0.500.53-Evaluation.ENU.Mar-WS2012R2\r\n 2015-08-27T00:00:00Z\r\n false\r\n SqlServer2014_100.png\r\n http://go.microsoft.com/fwlink/?LinkID=398120\r\n Large\r\n Microsoft SQL Server Group\r\n SqlServer2014_45.png\r\n Standard_LRS\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "667084" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "c54840d64a7a130fb96e34fac610fb72" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:51 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/c54840d64a7a130fb96e34fac610fb72", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2M1NDg0MGQ2NGE3YTEzMGZiOTZlMzRmYWM2MTBmYjcy", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n c54840d6-4a7a-130f-b96e-34fac610fb72\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": [ + "68374e397644171ab0fff8eaa5616da6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:53 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/vmimages", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy92bWltYWdlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n 1acf693f34c74e86a50be61cb631ddfe__ClouderaGolden-202406-699696\r\n \r\n Public\r\n Single click deployment of CDH 5.1 Evaluation for MR, HDFS and HIVE\r\n \r\n ClouderaGolden-202406-699696-os-2014-10-06\r\n ReadWrite\r\n Specialized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n CDH 5.1 Evaluation\r\n Standard_D14\r\n false\r\n http://www.gnu.org/copyleft/gpl.html\r\n http://www.cloudera.com/content/cloudera/en/privacy-policy.html\r\n Cloudera\r\n 2014-10-27T04:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.08-datadisk-0-2015-03-24\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.02-datadisk-0-2015-07-03\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.06-datadisk-0-2015-07-28\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201503.08\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.08-os-2015-03-24\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.08-datadisk-0-2015-03-24\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-20T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.02\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.02-os-2015-07-03\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.02-datadisk-0-2015-07-03\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;East US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-03T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.06-os-2015-07-28\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.06-datadisk-0-2015-07-28\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-28T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hdp215-16d-vm-image\r\n \r\n Public\r\n HDP 2.1.5 with 16 data disks\r\n \r\n hdp215-16d-image-os-2014-10-16\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard\r\n \r\n \r\n \r\n hdp215-16d-image-datadisk-0-2014-10-16\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-1-2014-10-16\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-2-2014-10-16\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-3-2014-10-16\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-4-2014-10-16\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-5-2014-10-16\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-6-2014-10-16\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-7-2014-10-16\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-8-2014-10-16\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-9-2014-10-16\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-10-2014-10-16\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-11-2014-10-16\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-12-2014-10-16\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-13-2014-10-16\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-14-2014-10-16\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n hdp215-16d-image-datadisk-15-2014-10-16\r\n None\r\n 15\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hdp215-8d-vm-image\r\n \r\n Public\r\n HDP 2.1.5 with 8 data disks\r\n \r\n hdp215-8d-image-os-2014-10-08-1\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n \r\n hdp215-8d-image-datadisk-0-2014-10-08-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-1-2014-10-08-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-2-2014-10-08-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-3-2014-10-08-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-4-2014-10-08-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-5-2014-10-08-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-6-2014-10-08-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n hdp215-8d-image-datadisk-7-2014-10-08-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_2.2.4.2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2\r\n \r\n hwx_sandbox_hdp_2.2.4.2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2\r\n \r\n hw_sandbox_hdp_2.2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v2\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v2\r\n \r\n hw_sandbox_hdp_2.2.4.2v2\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v3\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v3\r\n \r\n hw_sandbox_hdp_2.2.4.2v3\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v4\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v4\r\n \r\n hw_sandbox_hdp_2.2.4.2v4\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.2.4.2v5\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.2.4-2v5\r\n \r\n hw_sandbox_hdp_2.2.4.2v5\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.3v10\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.3\r\n \r\n hw_sandbox_hdp_2.3v10\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n d570a118449e48fdbe814fb54b36b60e__hwx_sandbox_hdp_2.3v7\r\n \r\n Public\r\n Hortonworks Sandbox with HDP 2.3\r\n \r\n hw_sandbox_hdp_2.3v7\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 49\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n false\r\n Hortonworks\r\n VMImageReadyForUse\r\n \r\n \r\n eed8e6be226e414095ba1fbf8fc3931f__dse-node-20141010\r\n \r\n Public\r\n DataStax takes the latest version of open source Apache Cassandra, certifies and prepares it for bullet-proof enterprise deployment. We deliver commercial confidence in the form of training and support, development tools and drivers, and professional implementation services to ensure that you have everything you need to successfully deploy Cassandra in support of your mainstream business applications.\r\n \r\n dse-node-20141010-os-2014-10-22\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard\r\n \r\n \r\n \r\n dse-node-20141010-datadisk-0-2014-10-22\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-1-2014-10-22\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-2-2014-10-22\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n dse-node-20141010-datadisk-3-2014-10-22\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n DataStax Enterprise\r\n A7\r\n false\r\n http://www.datastax.com/developer-license-terms\r\n http://www.datastax.com/privacy\r\n DataStax\r\n 2014-10-27T05:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n eed8e6be226e414095ba1fbf8fc3931f__dse-opscenter-20141010\r\n \r\n Public\r\n DataStax takes the latest version of open source Apache Cassandra, certifies and prepares it for bullet-proof enterprise deployment. We deliver commercial confidence in the form of training and support, development tools and drivers, and professional implementation services to ensure that you have everything you need to successfully deploy Cassandra in support of your mainstream business applications.\r\n \r\n dse-opscenter-20141010-os-2014-10-11\r\n ReadWrite\r\n Generalized\r\n Linux\r\n 30\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n DataStax Enterprise\r\n A7\r\n false\r\n http://www.datastax.com/developer-license-terms\r\n http://www.datastax.com/privacy\r\n DataStax\r\n 2014-10-27T05:00:00Z\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-DW-ENU-Win2012-cy14su09\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5537.0-OLTP-ENU-Win2012-cy14su09\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-DW-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-12-01T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5548.0-OLTP-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2014-12-01T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012-cy15su02\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-03-10T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-DW-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 1.25TB for A7, 2TB for A8 and A9, respectively, using rowstore indexes.\r\n \r\n SQL2012SP2DWENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2DWENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-OLTP-ENU-Win2012-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2012-SP2-11.0.5569.0-OLTP-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2012SP2OLTPENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2012SP2OLTPENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=285687\r\n SqlServer2012_100.png\r\n SqlServer2012_45.png\r\n http://www.microsoft.com/en-us/download/details.aspx?id=29067\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-DW-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2048.0-OLTP-ENU-Win2012R2-cy15su04\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2-2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1-2\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10-2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11-2\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12-2\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13-2\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14-2\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15-2\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2-2\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3-2\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4-2\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5-2\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6-2\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7-2\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8-2\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9-2\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-04-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-DW-ENU-Win2012R2-cy14su08\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13,D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2361.0-OLTP-ENU-Win2012R2-cy14su08\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard_LRS\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10\r\n None\r\n 1\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11\r\n None\r\n 2\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12\r\n None\r\n 3\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13\r\n None\r\n 4\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14\r\n None\r\n 5\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15\r\n None\r\n 6\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2\r\n None\r\n 7\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3\r\n None\r\n 8\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4\r\n None\r\n 9\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5\r\n None\r\n 10\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6\r\n None\r\n 11\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7\r\n None\r\n 12\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8\r\n None\r\n 13\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9\r\n None\r\n 14\r\n 1023\r\n Standard_LRS\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-09-11T07:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-DW-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL2014RTMDWENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMDWENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-11-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-OLTP-ENU-Win2012R2-cy14su11\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL2014RTMOLTPENUWin2012R2-1\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk1-1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk10-1\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk11-1\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk12-1\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk13-1\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk14-1\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk15-1\r\n None\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk2-1\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk3-1\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk4-1\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk5-1\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk6-1\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk7-1\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk8-1\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL2014RTMOLTPENUWin2012R2.IaaSVmImageDisk9-1\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n English\r\n SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2014-11-15T00:00:00Z\r\n true\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-DW-ENU-Win2012R2-cy15su05\r\n \r\n Public\r\n This Enterprise Edition image is optimized for data warehousing workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured. It has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].This image supports data sizes of up to 2TB for A7, 4TB for A8 and 6TB for A9, respectively, using clustered columnstore indexes.\r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk3\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk4\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk5\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk6\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk8\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk9\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk10\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk11\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk12\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLDW.ENU.Mar-WS2012R2-127gb.04.22.15.11.16.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n SQL Server 2014 SP1 Enterprise Optimized for DataWarehousing Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-05-15T00:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL-Server-20140SP1-12.0.4100.1-OLTP-ENU-Win2012R2-cy15su05\r\n \r\n Public\r\n This Enterprise Edition image is optimized for OLTP workloads and is intended for VM sizes including A4, A7, A8, A9, D4, D13, D14, G3, G4 and G5. Once deployed, the VM comes with Windows Storage Spaces pre-configured.This image has been pre-configured for Windows Azure, including enabling CEIP which can be disabled, for more info see [here|http://msdn.microsoft.com/en-us/library/windowsazure/dn133151.aspx#database|_blank].\r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk1\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk2\r\n None\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk3\r\n None\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk4\r\n None\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk5\r\n None\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk6\r\n None\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk8\r\n None\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk9\r\n None\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk10\r\n None\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk11\r\n None\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk12\r\n None\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-PCU-Main-12.0.4100.1-SQLOLTP.ENU.Mar-WS2012R2-127gb.04.22.15.11.19.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n SQL Server 2014 SP1 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2\r\n A7\r\n true\r\n http://go.microsoft.com/fwlink/?LinkID=512497\r\n SqlServer2014_100.png\r\n SqlServer2014_45.png\r\n http://go.microsoft.com/fwlink/?LinkID=282418\r\n Microsoft SQL Server Group\r\n 2015-05-15T00:00:00Z\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL2014RTMonWIN2012R2Special16\r\n \r\n Public\r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk1\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk2\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk3\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk4\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk5\r\n ReadOnly\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk6\r\n ReadOnly\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk8\r\n ReadOnly\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk9\r\n ReadOnly\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk10\r\n ReadOnly\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk11\r\n ReadOnly\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk12\r\n ReadOnly\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk13\r\n None\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk14\r\n None\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.46.IaaSVmImageDisk15\r\n None\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n true\r\n Microsoft SQL Server Group\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n fb83b3509582419d99629ce476bcb5c8__SQL2014RTMonWIN2012R2Special31\r\n \r\n Public\r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 127\r\n Standard\r\n \r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk1\r\n ReadOnly\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk2\r\n ReadOnly\r\n 1\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk3\r\n ReadOnly\r\n 2\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk4\r\n ReadOnly\r\n 3\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk5\r\n ReadOnly\r\n 4\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk6\r\n ReadOnly\r\n 5\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk7\r\n ReadOnly\r\n 6\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk8\r\n ReadOnly\r\n 7\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk9\r\n ReadOnly\r\n 8\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk10\r\n ReadOnly\r\n 9\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk11\r\n ReadOnly\r\n 10\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk12\r\n ReadOnly\r\n 11\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk13\r\n ReadOnly\r\n 12\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk14\r\n ReadOnly\r\n 13\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk15\r\n ReadOnly\r\n 14\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk16\r\n ReadOnly\r\n 15\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk17\r\n ReadOnly\r\n 16\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk18\r\n ReadOnly\r\n 17\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk19\r\n ReadOnly\r\n 18\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk20\r\n ReadOnly\r\n 19\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk21\r\n ReadOnly\r\n 20\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk22\r\n ReadOnly\r\n 21\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk23\r\n ReadOnly\r\n 22\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk24\r\n ReadOnly\r\n 23\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk25\r\n ReadOnly\r\n 24\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk26\r\n ReadOnly\r\n 25\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk27\r\n ReadOnly\r\n 26\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk28\r\n ReadOnly\r\n 27\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk29\r\n None\r\n 28\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk30\r\n None\r\n 29\r\n 1023\r\n Standard\r\n \r\n \r\n SQL14-RTM-QFE-CU-12.0.2480.0-SQLDW.ENU.Mar-WS2012R2-127gb.04.30.15.11.47.IaaSVmImageDisk31\r\n None\r\n 30\r\n 1023\r\n Standard\r\n \r\n \r\n East Asia;Southeast Asia;North Europe;West Europe;Central US;East US;East US 2;South Central US;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n true\r\n Microsoft SQL Server Group\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=271259\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.03\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.03-os-2015-07-21\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-21T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-Non-VPN-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server Non-VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.03\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.03-os-2015-07-21\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-21T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Config-Server-VPN-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server VPN\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Configuration-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Configuration Server acts as the centralized management server for disaster recovery management operations in the Microsoft Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Configuration-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Configuration Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201503.06-datadisk-0-2015-03-18\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.04-datadisk-0-2015-07-22\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Master Target Server is used as a repository and for retention of replication traffic from Windows source virtual or physical servers in the Azure Site Recovery scenario of setting up recovery from an on-premises VMware/physical server site to Microsoft Azure.\r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Master-Target-Server-201507.05-datadisk-0-2015-07-23\r\n None\r\n 0\r\n 1023\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Master Target Server\r\n ExtraLarge\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201503.06\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.06-os-2015-03-18\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201503.06-datadisk-0-2015-03-18\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-03-18T04:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.04\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.04-os-2015-07-22\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.04-datadisk-0-2015-07-22\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-22T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n \r\n d4a65b493c36471ba82b42d53fbd8063__Microsoft-Azure-Site-Recovery-Process-Server-201507.05\r\n \r\n Public\r\n The Microsoft Azure Site Recovery Process Server is used for caching, compression, and encryption of replication traffic in the Microsoft Azure Site Recovery scenario of setting up failback of virtual machines from Microsoft Azure back to an on-premises VMware site.\r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.05-os-2015-07-23\r\n ReadWrite\r\n Generalized\r\n Windows\r\n 128\r\n Standard\r\n \r\n \r\n \r\n Microsoft-Azure-Site-Recovery-Process-Server-201507.05-datadisk-0-2015-07-23\r\n None\r\n 0\r\n 601\r\n Standard\r\n \r\n \r\n Southeast Asia;West US\r\n 1801-01-01T00:00:00Z\r\n 1801-01-01T00:00:00Z\r\n Microsoft Azure Site Recovery Process Server\r\n Large\r\n false\r\n http://go.microsoft.com/fwlink/?LinkId=525741\r\n http://go.microsoft.com/fwlink/?LinkId=512132\r\n Microsoft Azure Site Recovery group\r\n 2015-07-23T09:30:00Z\r\n false\r\n VMImageReadyForUse\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "160993" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "43d064307f9f13588d4df78c2655cae3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:55 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/43d064307f9f13588d4df78c2655cae3", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQzZDA2NDMwN2Y5ZjEzNTg4ZDRkZjc4YzI2NTVjYWUz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 43d06430-7f9f-1358-8d4d-f78c2655cae3\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": [ + "c56c871780ff145792af4b760000b8fd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:55 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXM=", + "RequestMethod": "POST", + "RequestBody": "\r\n pstestonesdk1983\r\n \r\n \r\n Central US\r\n Standard_GRS\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "361" + ], + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "a0b913c382b31bd0986271c3c52a5abf" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:57 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/storage/pstestonesdk1983" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/a0b913c382b31bd0986271c3c52a5abf", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2EwYjkxM2MzODJiMzFiZDA5ODYyNzFjM2M1MmE1YWJm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n a0b913c3-82b3-1bd0-9862-71c3c52a5abf\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "3f52c329065f11548deb388a81f3365e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:56:57 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/a0b913c382b31bd0986271c3c52a5abf", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2EwYjkxM2MzODJiMzFiZDA5ODYyNzFjM2M1MmE1YWJm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n a0b913c3-82b3-1bd0-9862-71c3c52a5abf\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": [ + "01110e9c47831c6d8fa6f1f4c8987109" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:27 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcw==", + "RequestMethod": "POST", + "RequestBody": "\r\n pstestonesdk8338\r\n \r\n Central US\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "220" + ], + "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": [ + "fdff7a638a391258b2ebedf09e4d6008" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:28 GMT" + ], + "Location": [ + "https://management.core.windows.net/subscriptions/4d368445-cbb1-42a7-97a6-6850ab99f48e/compute/pstestonesdk8338" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 201 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/fdff7a638a391258b2ebedf09e4d6008", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2ZkZmY3YTYzOGEzOTEyNThiMmViZWRmMDllNGQ2MDA4", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n fdff7a63-8a39-1258-b2eb-edf09e4d6008\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": [ + "6a60c9aa7aef1fae8c9fb378dd576875" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "f1fac136a21d1b1ea30ce3a5f3ac30db" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3a450dab0e111c3599e06a8729a82ce5" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:59 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n StoppedVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n Stopped\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n StoppedVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Stopped\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T07:59:25Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5115" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "5c6c374746511f9a80211ab514148d39" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:38 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T07:59:41Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5119" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "b20e4ad314b012869ea51d9c9f4b28c5" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:41 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:00:11Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5119" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "f4bd1f34cf991fc19365fd43033f57dd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:11 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n BusyRole\r\n 0\r\n 0\r\n Small\r\n Preparing to start role... System is initializing. [2015-09-11T08:02:33Z]\r\n 100.76.84.18\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n BusyRole\r\n 0\r\n 0\r\n Small\r\n Preparing to start role... System is initializing. [2015-09-11T08:02:33Z]\r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:02:58Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5303" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4f1792063b2f1387bbe1f66bd1b92a38" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:59 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n BusyRole\r\n 0\r\n 0\r\n Small\r\n Preparing to start role... System is initializing. [2015-09-11T08:02:33Z]\r\n 100.76.84.18\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n BusyRole\r\n 0\r\n 0\r\n Small\r\n Preparing to start role... System is initializing. [2015-09-11T08:02:33Z]\r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:02:58Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5303" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "2b47e3339a4019d4a0fe54e8b3a8588f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:00 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n RunningTransitioning\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:04:03Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5176" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "89e221ea32971e94908181930df36e41" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:08 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n RunningTransitioning\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:04:03Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5176" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3be577a061b81e35a9cd16a07711e858" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:07:53Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5163" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3d2cf547cfc31f98b5aec9184250d1ee" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:53 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:07:53Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5163" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "efb11d41929f1209a8c03d087bba2caa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:56 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "f53fcda985ba1e69b24931f650ddd451" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "667d58b33b911d9faa08b66800f71f36" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:59 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4dd50d0d157c1094829f4884cd33998a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:38 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4052b0ddfccf14c3a84e9816c6b73cef" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:42 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ResourceNotFound\r\n No deployments were found.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "191" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "c9da140706d719aa9cb4a86b64815664" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 404 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:02:56Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5304" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "16e9c3aeb0ca175d8555d6356190838f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:56 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n CreatingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:02:56Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5304" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "1e78dafb447816388d7af0063531fa0c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:02 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:04:09Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5304" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "e0092fc46b7f1f60b90d521ef5f9f05a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:09 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20000\r\n tcp\r\n \r\n \r\n Starting\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n StartingVM\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Starting\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:04:09Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5304" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a359a6d7af711899a581380f6e0101db" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:07:51Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5111" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3c7a536a224312feab00410cb1872fbc" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:51 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:08:15Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5111" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0478065f435d1ebf91c41d45fca44c1e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:08:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983/keys", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4My9rZXlz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n \r\n cErDLIZpMXUbmhngYYDl6vecR2QfXvW7L5jTynnkiQ6TrTO4p26SQC1aTn9ZPQ3LDOdO4NoAcTflxyrsMrxIVQ==\r\n FMB+z2L9qc5S76lIWQF7eT0/P5G6VImoU7zAXzBgCX3zCDmeRU8r9CSw8pbw86rZi/6glwPCb8KRfqncqgCrlA==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "519" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "49776bb8a6011882a679328cbb64aeaa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:30 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983/keys", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4My9rZXlz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n \r\n cErDLIZpMXUbmhngYYDl6vecR2QfXvW7L5jTynnkiQ6TrTO4p26SQC1aTn9ZPQ3LDOdO4NoAcTflxyrsMrxIVQ==\r\n FMB+z2L9qc5S76lIWQF7eT0/P5G6VImoU7zAXzBgCX3zCDmeRU8r9CSw8pbw86rZi/6glwPCb8KRfqncqgCrlA==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "519" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "3e06c41898c61cdf98db5566e786b142" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:37 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983/keys", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4My9rZXlz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n \r\n cErDLIZpMXUbmhngYYDl6vecR2QfXvW7L5jTynnkiQ6TrTO4p26SQC1aTn9ZPQ3LDOdO4NoAcTflxyrsMrxIVQ==\r\n FMB+z2L9qc5S76lIWQF7eT0/P5G6VImoU7zAXzBgCX3zCDmeRU8r9CSw8pbw86rZi/6glwPCb8KRfqncqgCrlA==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "519" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "c97397991f62155f94141f3741227f22" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:42 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983/keys", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4My9rZXlz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n \r\n cErDLIZpMXUbmhngYYDl6vecR2QfXvW7L5jTynnkiQ6TrTO4p26SQC1aTn9ZPQ3LDOdO4NoAcTflxyrsMrxIVQ==\r\n FMB+z2L9qc5S76lIWQF7eT0/P5G6VImoU7zAXzBgCX3zCDmeRU8r9CSw8pbw86rZi/6glwPCb8KRfqncqgCrlA==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "519" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "c8213e8c4f7111cc8cab90d46f652d63" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:52 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4Mw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n pstestonesdk1983\r\n \r\n \r\n Central US\r\n \r\n Created\r\n \r\n https://pstestonesdk1983.blob.core.windows.net/\r\n https://pstestonesdk1983.queue.core.windows.net/\r\n https://pstestonesdk1983.table.core.windows.net/\r\n https://pstestonesdk1983.file.core.windows.net/\r\n \r\n Central US\r\n Available\r\n East US 2\r\n Available\r\n 2015-09-11T07:56:57Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-CentralUS\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1372" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "a514c7a5bccb1b868c862472ced30e8e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:31 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4Mw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n pstestonesdk1983\r\n \r\n \r\n Central US\r\n \r\n Created\r\n \r\n https://pstestonesdk1983.blob.core.windows.net/\r\n https://pstestonesdk1983.queue.core.windows.net/\r\n https://pstestonesdk1983.table.core.windows.net/\r\n https://pstestonesdk1983.file.core.windows.net/\r\n \r\n Central US\r\n Available\r\n East US 2\r\n Available\r\n 2015-09-11T07:56:57Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-CentralUS\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1372" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "a60417265f5418c7b828e002ac593c2c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:38 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4Mw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n pstestonesdk1983\r\n \r\n \r\n Central US\r\n \r\n Created\r\n \r\n https://pstestonesdk1983.blob.core.windows.net/\r\n https://pstestonesdk1983.queue.core.windows.net/\r\n https://pstestonesdk1983.table.core.windows.net/\r\n https://pstestonesdk1983.file.core.windows.net/\r\n \r\n Central US\r\n Available\r\n East US 2\r\n Available\r\n 2015-09-11T07:56:57Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-CentralUS\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1372" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "b720fc1f704a1c84badf93fd2de7b828" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:42 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9zdG9yYWdlc2VydmljZXMvcHN0ZXN0b25lc2RrMTk4Mw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Storage.StorageManagementClient/5.0.0.0" + ] + }, + "ResponseBody": "\r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/storageservices/pstestonesdk1983\r\n pstestonesdk1983\r\n \r\n \r\n Central US\r\n \r\n Created\r\n \r\n https://pstestonesdk1983.blob.core.windows.net/\r\n https://pstestonesdk1983.queue.core.windows.net/\r\n https://pstestonesdk1983.table.core.windows.net/\r\n https://pstestonesdk1983.file.core.windows.net/\r\n \r\n Central US\r\n Available\r\n East US 2\r\n Available\r\n 2015-09-11T07:56:57Z\r\n \r\n Standard_GRS\r\n \r\n \r\n \r\n ResourceGroup\r\n Default-Storage-CentralUS\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n PersistentVMRole\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1372" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "x-ms-request-id": [ + "1700301c931d1bb4af65822e58fc5211" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:52 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "115" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "08b26077a91e1512b085e87606a57a4d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:57:59 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1135" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "1fbe61e7f15413cf816abc8775595c90" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:38 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1135" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0358ce60548c1fb6bd19eda10bf00f9c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:12 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "2200" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "5aa37084a20f15dfa8d5acf8232e40f8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:59 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "2200" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "df5586a2800613ed9273ea6c93c40504" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:03 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "2698" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "ef39c40865d6149ab6ff8e26a7d5b362" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:09 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "2698" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "7bbc522ab22b110d806b1cbae54c513b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDI8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWcgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CiAgPE5hbWU+dGVzdDE8L05hbWU+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n \r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Staging-Ext-0\r\n 1.*\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n CjxQdWJsaWNDb25maWc+CiAgPFVzZXJOYW1lPnBzdGVzdHVzZXI8L1VzZXJOYW1lPgogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+CjwvUHVibGljQ29uZmlnPg==\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "3700" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4cececa86abd1e8fbac495bf2651584e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:53 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "117" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "e332dcdb5fad1b9c8f6436e09482ccfa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:00 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3687da107b5e13fa80311f0cee55e5ae" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:33 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a9d8ddd61944130b8818ddebc8f428f1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:12 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "e1e66ebdf9dd10c7919b5d298b88b95c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:45 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "cdfa0fcce45911fe983f7ea90553ef6f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:03 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "b295bdf9db2f17c0ba2542d936e7be3a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2NlcnRpZmljYXRlcw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n \r\n https://management.core.windows.net/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/certificates/sha1-8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n MIIDCjCCAfKgAwIBAgIQeRGjhynhB4tP9Msih/m+mzANBgkqhkiG9w0BAQUFADBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwHhcNMTUwOTExMDc1ODAyWhcNMjAwOTExMDc1ODAyWjBBMT8wPQYKCZImiZPyLGQBGRYvV2luZG93cyBBenVyZSBTZXJ2aWNlIE1hbmFnZW1lbnQgZm9yIEV4dGVuc2lvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8oUoMxCwVvLqHONwyMhPpEesCv4ItszIZE/gdfNDppd10ClWYWjyWQBYmh7I/gkmMszWfM2ggLSiJ3DrpHpeAfRS/M1ml7Cj/hWamqN0PTVjM4Uzbv0taJZt+oVo8vjS9Gg4UjVFo5Ue7jhpKeBXr+SDyvyPfoEJiF0jj4JzxP6J/G5c11VaRkIBXPGwRD7nH0apGaKA0BqcXDRziOQD8R5gZ28aw3UR4eY8odZkqayum5wwfdladpVnIjlzZqoipm7aj6YRQoKzE2En+pBdG6IbP4icFSKKPuPltTzKQS7JdSLGC9c/PYgFVX6b5Tr2JhEf6c62vCpkwmGgNY7s7AgMBAAEwDQYJKoZIhvcNAQEFBQADggEBADGJTz8fiAvTClycJLG8fN/mo8L/6TlMdKov0DD1fabZhuDTefMe9NRaMFIHY8X0FNQ/umVcda9Ozgx8tNL7lCgqp+5IoBxL6N7bBqtFAIRtp6XMSXNuOf0XnqBlI9sbfuTF09jEnynupdjiz69TN4kzhA01g8nj72Up9r3JpbsSB/B39lxN4BK0YLUSh/8IsQ0Kx9URSsq45J+u6CEyqfx0iMBxrwspALfzMENhbPS0r0Zl48R3H70bPqBDZku74+/0Sw5moU3vmx4FgRRSrx140S2ct2ZwpBrVCGXosIEnu7lg4iCoaxe3H42ZPeHcF6Km67v77LNL21z6AleZ3ss=\r\n \r\n", + "ResponseHeaders": { + "Content-Length": [ + "1532" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "df1aaa0bc4461fd2b1ba4de7e007c320" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:42 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Production-Ext-0\r\n \r\n \r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "784" + ], + "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": [ + "48459588aed41c9aa34e71d1b4332e2c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:02 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Production-Ext-0\r\n \r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MTwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "974" + ], + "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": [ + "ed087cb5f7d21a7880c9c729195c8fa2" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:34 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "859" + ], + "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": [ + "3a31307b2a7118798fac864e21f1c277" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:14 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MjwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "1044" + ], + "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": [ + "35a2e12c9ae718769dafc12e8a19ece3" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:48 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "859" + ], + "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": [ + "5d880e6bd49213b393e6980e42d170a6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:04 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n RDP\r\n WebRole1-RDP-Staging-Ext-0\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHVibGljQ29uZmlnPg0KICA8VXNlck5hbWU+cHN0ZXN0dXNlcjwvVXNlck5hbWU+DQogIDxFeHBpcmF0aW9uPjIwMTYtMDktMTE8L0V4cGlyYXRpb24+DQo8L1B1YmxpY0NvbmZpZz4=\r\n PD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIgaHJlZj0ic3R5bGUueHNsIj8+DQo8UHJpdmF0ZUNvbmZpZz4NCiAgPFBhc3N3b3JkPnBAc3N3MHJkPC9QYXNzd29yZD4NCjwvUHJpdmF0ZUNvbmZpZz4=\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "825" + ], + "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": [ + "4dbd9435c9a61cf4b0dacf911a4875dc" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:12 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/extensions", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2V4dGVuc2lvbnM=", + "RequestMethod": "POST", + "RequestBody": "\r\n Microsoft.Windows.Azure.Extensions\r\n ADDomain\r\n WebRole1-ADDomain-Staging-Ext-0\r\n 8E1C5C243F43EC8DBBBD738B8116331DAF2765EA\r\n sha1\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHVibGljQ29uZmlnIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KICA8TmFtZT50ZXN0MTwvTmFtZT4NCjwvUHVibGljQ29uZmlnPg==\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+DQo8UHJpdmF0ZUNvbmZpZyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCiAgPFBhc3N3b3JkIC8+DQogIDxVbmpvaW5Eb21haW5QYXNzd29yZCAvPg0KPC9Qcml2YXRlQ29uZmlnPg==\r\n 1.*\r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "1015" + ], + "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": [ + "4007478411f91e59b0ab8a183f0c7f75" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:46 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/48459588aed41c9aa34e71d1b4332e2c", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQ4NDU5NTg4YWVkNDFjOWFhMzRlNzFkMWI0MzMyZTJj", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 48459588-aed4-1c9a-a34e-71d1b4332e2c\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a5b2c8a85830157cb5a7d711c40097e1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:02 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/48459588aed41c9aa34e71d1b4332e2c", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQ4NDU5NTg4YWVkNDFjOWFhMzRlNzFkMWI0MzMyZTJj", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 48459588-aed4-1c9a-a34e-71d1b4332e2c\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0f3e1c2dceb010d89e9ef8b622912509" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:33 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ed087cb5f7d21a7880c9c729195c8fa2", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2VkMDg3Y2I1ZjdkMjFhNzg4MGM5YzcyOTE5NWM4ZmEy", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ed087cb5-f7d2-1a78-80c9-c729195c8fa2\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "d92af63c4cbb15a882697342f7bc57c2" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:58:35 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ed087cb5f7d21a7880c9c729195c8fa2", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2VkMDg3Y2I1ZjdkMjFhNzg4MGM5YzcyOTE5NWM4ZmEy", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n ed087cb5-f7d2-1a78-80c9-c729195c8fa2\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "77f7d64cc6d01248bd0a74af404e855d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:05 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9u", + "RequestMethod": "POST", + "RequestBody": "\r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n https://pstestonesdk1983.blob.core.windows.net/mydeployments/20150911_075731_LongRoleName.Cloud.cspkg\r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n true\r\n false\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Production-Ext-0\r\n \r\n \r\n WebRole1-ADDomain-Production-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "2407" + ], + "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": [ + "2480fd760db7141ab9e8693d4c9e8a48" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:06 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/2480fd760db7141ab9e8693d4c9e8a48", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzI0ODBmZDc2MGRiNzE0MWFiOWU4NjkzZDRjOWU4YTQ4", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 2480fd76-0db7-141a-b9e8-693d4c9e8a48\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "42ed8a691f9d1efda279197bdf52e60f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:06 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/2480fd760db7141ab9e8693d4c9e8a48", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzI0ODBmZDc2MGRiNzE0MWFiOWU4NjkzZDRjOWU4YTQ4", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 2480fd76-0db7-141a-b9e8-693d4c9e8a48\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4fe856470b0d18aaac8d18212a68d810" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:36 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8338", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazgzMzg=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "242" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "19c87b8842fc1ccdb07ca00ec269cf17" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:38 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8338", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazgzMzg=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "242" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "724571031781166aa8f6f45be39f20b8" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:52 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8338", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazgzMzg=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "242" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "6e1e58e22e2911e4a4f83229401c61dd" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:08 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/operations/isavailable/pstestonesdk8338", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9vcGVyYXRpb25zL2lzYXZhaWxhYmxlL3BzdGVzdG9uZXNkazgzMzg=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n false\r\n A hosted service with the specified name already exists.\r\n", + "ResponseHeaders": { + "Content-Length": [ + "242" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a2477da4041915ae956868778e4a277d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:50 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/1fbe61e7f15413cf816abc8775595c90", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzFmYmU2MWU3ZjE1NDEzY2Y4MTZhYmM4Nzc1NTk1Yzkw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 1fbe61e7-f154-13cf-816a-bc8775595c90\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": [ + "09186d3f09c61f3eac97ab3089dc1f77" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 07:59:40 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/3a31307b2a7118798fac864e21f1c277", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzNhMzEzMDdiMmE3MTE4Nzk4ZmFjODY0ZTIxZjFjMjc3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 3a31307b-2a71-1879-8fac-864e21f1c277\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "03df61dd28371f8a92cc8485a3ef75c7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:14 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/3a31307b2a7118798fac864e21f1c277", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzNhMzEzMDdiMmE3MTE4Nzk4ZmFjODY0ZTIxZjFjMjc3", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 3a31307b-2a71-1879-8fac-864e21f1c277\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "22108ad99c851a06a692db36baae25bf" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:44 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/35a2e12c9ae718769dafc12e8a19ece3", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM1YTJlMTJjOWFlNzE4NzY5ZGFmYzEyZThhMTllY2Uz", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 35a2e12c-9ae7-1876-9daf-c12e8a19ece3\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "42352125fdfa16ff8325efb006cb493e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:48 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5n", + "RequestMethod": "POST", + "RequestBody": "\r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n https://pstestonesdk1983.blob.core.windows.net/mydeployments/20150911_075943_LongRoleName.Cloud.cspkg\r\n \r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n true\r\n false\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNameW-RDP-Staging-Ext-0\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCode-ADDomain-Staging-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "2507" + ], + "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": [ + "4084863da45a1a179e769e0a5afe11d6" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:49 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4084863da45a1a179e769e0a5afe11d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwODQ4NjNkYTQ1YTFhMTc5ZTc2OWUwYTVhZmUxMWQ2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4084863d-a45a-1a17-9e76-9e0a5afe11d6\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "0597784b10b916d88210738b24d76459" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:00:50 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4084863da45a1a179e769e0a5afe11d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwODQ4NjNkYTQ1YTFhMTc5ZTc2OWUwYTVhZmUxMWQ2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4084863d-a45a-1a17-9e76-9e0a5afe11d6\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "76815ca0eb2c16c8978b96b737811d2c" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:01:19 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4084863da45a1a179e769e0a5afe11d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwODQ4NjNkYTQ1YTFhMTc5ZTc2OWUwYTVhZmUxMWQ2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4084863d-a45a-1a17-9e76-9e0a5afe11d6\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "872c3a88d48b1e7185e443825700ab7e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:01:51 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4084863da45a1a179e769e0a5afe11d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwODQ4NjNkYTQ1YTFhMTc5ZTc2OWUwYTVhZmUxMWQ2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4084863d-a45a-1a17-9e76-9e0a5afe11d6\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "cd1b1e6e1f651cb6821a7633341f8f88" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:21 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4084863da45a1a179e769e0a5afe11d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwODQ4NjNkYTQ1YTFhMTc5ZTc2OWUwYTVhZmUxMWQ2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4084863d-a45a-1a17-9e76-9e0a5afe11d6\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "6e7bb66cdeb81fdaaf940880881a4029" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:02:51 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/5aa37084a20f15dfa8d5acf8232e40f8", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzVhYTM3MDg0YTIwZjE1ZGZhOGQ1YWNmODIzMmU0MGY4", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 5aa37084-a20f-15df-a8d5-acf8232e40f8\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": [ + "24c419e834cb1628910f6ee19b0866c4" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:01 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/5d880e6bd49213b393e6980e42d170a6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzVkODgwZTZiZDQ5MjEzYjM5M2U2OTgwZTQyZDE3MGE2", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 5d880e6b-d492-13b3-93e6-980e42d170a6\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "9a0525d71f301f93978cd1939642a031" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:05 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Production/?comp=config", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9Qcm9kdWN0aW9uLz9jb21wPWNvbmZpZw==", + "RequestMethod": "POST", + "RequestBody": "\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "2060" + ], + "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": [ + "356ee46294881e9da6fad2e522fc0080" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:06 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/356ee46294881e9da6fad2e522fc0080", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM1NmVlNDYyOTQ4ODFlOWRhNmZhZDJlNTIyZmMwMDgw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 356ee462-9488-1e9d-a6fa-d2e522fc0080\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "68daef169d9617bd93d4fe8fbf29dd3b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:06 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/356ee46294881e9da6fad2e522fc0080", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM1NmVlNDYyOTQ4ODFlOWRhNmZhZDJlNTIyZmMwMDgw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 356ee462-9488-1e9d-a6fa-d2e522fc0080\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "8404286d682611afb12c1f6459c4f779" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:03:36 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/356ee46294881e9da6fad2e522fc0080", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzM1NmVlNDYyOTQ4ODFlOWRhNmZhZDJlNTIyZmMwMDgw", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 356ee462-9488-1e9d-a6fa-d2e522fc0080\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "f3027e9bd2781563946a9bb71c02cd0d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:07 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/ef39c40865d6149ab6ff8e26a7d5b362", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zL2VmMzljNDA4NjVkNjE0OWFiNmZmOGUyNmE3ZDViMzYy", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n ef39c408-65d6-149a-b6ff-8e26a7d5b362\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": [ + "6dcfcebf53a910e48c21d0fe92cb3758" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:10 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4dbd9435c9a61cf4b0dacf911a4875dc", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzRkYmQ5NDM1YzlhNjFjZjRiMGRhY2Y5MTFhNDg3NWRj", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4dbd9435-c9a6-1cf4-b0da-cf911a4875dc\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4e944e8d9ceb1d519d7d80bc65a5154f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:12 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4dbd9435c9a61cf4b0dacf911a4875dc", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzRkYmQ5NDM1YzlhNjFjZjRiMGRhY2Y5MTFhNDg3NWRj", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 4dbd9435-c9a6-1cf4-b0da-cf911a4875dc\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "a43e1aeb4fcf1784a817a2e5743b57b7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:42 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4007478411f91e59b0ab8a183f0c7f75", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwMDc0Nzg0MTFmOTFlNTliMGFiOGExODNmMGM3Zjc1", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 40074784-11f9-1e59-b0ab-8a183f0c7f75\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3129c31810e219b4be7e5a098482f67e" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:04:46 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4007478411f91e59b0ab8a183f0c7f75", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzQwMDc0Nzg0MTFmOTFlNTliMGFiOGExODNmMGM3Zjc1", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 40074784-11f9-1e59-b0ab-8a183f0c7f75\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "32666cbd6a5d1b75803e9d7bbb929861" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:05:16 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deploymentslots/Staging/?comp=config", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzbG90cy9TdGFnaW5nLz9jb21wPWNvbmZpZw==", + "RequestMethod": "POST", + "RequestBody": "\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n \r\n \r\n \r\n \r\n \r\n", + "RequestHeaders": { + "Content-Type": [ + "application/xml" + ], + "Content-Length": [ + "2084" + ], + "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": [ + "7ac6c3c7be1716b7a48b703b37bc193f" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:05:18 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "324ec8b98ec31d45878c77999a2fe3aa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:05:18 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "4a2598f93b0813478f216019e8693add" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:05:48 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3a5f9afa21751a7e88f31279eea79c30" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:06:18 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "3c2b01bce4ab1f3bb2c36def4c472aaa" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:06:49 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "74621cd7db9013c19ea73915419500a4" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:18 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/7ac6c3c7be1716b7a48b703b37bc193f", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzdhYzZjM2M3YmUxNzE2YjdhNDhiNzAzYjM3YmMxOTNm", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 7ac6c3c7-be17-16b7-a48b-703b37bc193f\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "878d8f01e4901982a68a2168e3efc36d" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:49 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/4cececa86abd1e8fbac495bf2651584e", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzRjZWNlY2E4NmFiZDFlOGZiYWM0OTViZjI2NTE1ODRl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2014-10-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.ManagementClient/4.0.0.0" + ] + }, + "ResponseBody": "\r\n 4cececa8-6abd-1e8f-bac4-95bf2651584e\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": [ + "471057d3047e18318bbf2aaf9798807a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:55 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4P2VtYmVkLWRldGFpbD10cnVl", + "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/pstestonesdk8338\r\n pstestonesdk8338\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-11T07:57:29Z\r\n 2015-09-11T08:00:50Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8338\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n \r\n \r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:07:51Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
\r\n \r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:07:53Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", + "ResponseHeaders": { + "Content-Length": [ + "10899" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "641e71f0157f1111815427f32a385f62" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:55 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4P2VtYmVkLWRldGFpbD10cnVl", + "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/pstestonesdk8338\r\n pstestonesdk8338\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-11T07:57:29Z\r\n 2015-09-11T08:00:50Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8338\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n \r\n \r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:07:51Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
\r\n \r\n 6b5db6c6-1feb-452e-ab59-210672f3bcdc\r\n Production\r\n ecae002fa47f42fab9ece1a34015ab69\r\n Running\r\n \r\n http://pstestonesdk8338.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.84.18\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.203.126\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.16.81\r\n \r\n \r\n Endpoint1\r\n 40.122.203.126\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.203.126\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T07:59:06Z\r\n 2015-09-11T08:07:53Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n \r\n \r\n MicrosoftContosoDepartmentProjectCodeNa-RDP-Production-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.203.126
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", + "ResponseHeaders": { + "Content-Length": [ + "10899" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "85b39992dd1c19f59e2277d476dd9ead" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:55 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338?embed-detail=true", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4P2VtYmVkLWRldGFpbD10cnVl", + "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/pstestonesdk8338\r\n pstestonesdk8338\r\n \r\n \r\n Central US\r\n \r\n Created\r\n 2015-09-11T07:57:29Z\r\n 2015-09-11T08:00:50Z\r\n \r\n \r\n ResourceGroup\r\n pstestonesdk8338\r\n \r\n \r\n ResourceLocation\r\n Central US\r\n \r\n \r\n \r\n \r\n \r\n 10038b3d-349a-493e-a0f1-31795dda95d6\r\n Staging\r\n 149dc0009fdb4bfbbac4d864c82a16c3\r\n Running\r\n \r\n http://149dc0009fdb4bfbbac4d864c82a16c3.cloudapp.net/\r\n PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBhIHRvb2wgZnJvbSB0aGUgcHJvamVjdCBmaWxlOiBTZXJ2aWNlQ29uZmlndXJhdGlvbi5DbG91ZC5jc2NmZyAgQ2hhbmdlcyB0byB0aGlzIGZpbGUgbWF5IGNhdXNlIGluY29ycmVjdCBiZWhhdmlvciBhbmQgd2lsbCBiZSBsb3N0IGlmIHRoZSBmaWxlIGlzIHJlZ2VuZXJhdGVkLiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPjxTZXJ2aWNlQ29uZmlndXJhdGlvbiBzZXJ2aWNlTmFtZT0iQXp1cmVDbG91ZFNlcnZpY2UyIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9TZXJ2aWNlSG9zdGluZy8yMDA4LzEwL1NlcnZpY2VDb25maWd1cmF0aW9uIiBvc0ZhbWlseT0iNCIgb3NWZXJzaW9uPSIqIiBzY2hlbWFWZXJzaW9uPSIyMDE1LTA0LjIuNiI+ICA8Um9sZSBuYW1lPSJXZWJSb2xlMSI+ICAgIDxJbnN0YW5jZXMgY291bnQ9IjEiIC8+ICAgIDxDb25maWd1cmF0aW9uU2V0dGluZ3M+ICAgICAgPFNldHRpbmcgbmFtZT0iTWljcm9zb2Z0LldpbmRvd3NBenVyZS5QbHVnaW5zLkRpYWdub3N0aWNzLkNvbm5lY3Rpb25TdHJpbmciIHZhbHVlPSJVc2VEZXZlbG9wbWVudFN0b3JhZ2U9dHJ1ZSIgLz4gICAgPC9Db25maWd1cmF0aW9uU2V0dGluZ3M+ICA8L1JvbGU+ICA8Um9sZSBuYW1lPSJNaWNyb3NvZnQuQ29udG9zby5EZXBhcnRtZW50LlByb2plY3RDb2RlTmFtZS5Xb3JrZXIiPiAgICA8SW5zdGFuY2VzIGNvdW50PSIxIiAvPiAgICA8Q29uZmlndXJhdGlvblNldHRpbmdzPiAgICAgIDxTZXR0aW5nIG5hbWU9Ik1pY3Jvc29mdC5XaW5kb3dzQXp1cmUuUGx1Z2lucy5EaWFnbm9zdGljcy5Db25uZWN0aW9uU3RyaW5nIiB2YWx1ZT0iVXNlRGV2ZWxvcG1lbnRTdG9yYWdlPXRydWUiIC8+ICAgIDwvQ29uZmlndXJhdGlvblNldHRpbmdzPiAgPC9Sb2xlPjwvU2VydmljZUNvbmZpZ3VyYXRpb24+\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n Microsoft.Contoso.Department.ProjectCodeName.Worker_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.78.72\r\n Started\r\n \r\n \r\n WebRole1\r\n WebRole1_IN_0\r\n ReadyRole\r\n 0\r\n 0\r\n Small\r\n \r\n 100.76.64.88\r\n \r\n \r\n Endpoint1\r\n 40.122.200.160\r\n 80\r\n 80\r\n http\r\n \r\n \r\n Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput\r\n 40.122.200.160\r\n 3389\r\n 20001\r\n tcp\r\n \r\n \r\n Started\r\n \r\n \r\n 1\r\n \r\n \r\n Microsoft.Contoso.Department.ProjectCodeName.Worker\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n \r\n \r\n \r\n WebRole1\r\n WA-GUEST-OS-4.23_201508-02\r\n \r\n \r\n NetworkConfiguration\r\n \r\n \r\n 80\r\n http\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n 3389\r\n tcp\r\n 40.122.200.160\r\n AzureCloudService2ContractContract\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 2.7.6499.8\r\n false\r\n false\r\n 2015-09-11T08:00:50Z\r\n 2015-09-11T08:08:15Z\r\n \r\n \r\n 2015-09-05T12:12:49Z\r\n 2015-09-09T12:12:49Z\r\n PersistentVMUpdateScheduled\r\n \r\n \r\n \r\n \r\n WebRole1\r\n \r\n \r\n WebRole1-RDP-Staging-Ext-0\r\n enable\r\n \r\n \r\n WebRole1-ADDomain-Staging-Ext-0\r\n enable\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
40.122.200.160
\r\n true\r\n AzureCloudService2ContractContract\r\n
\r\n
\r\n \r\n
\r\n
\r\n
", + "ResponseHeaders": { + "Content-Length": [ + "5838" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "af179a4acf9213239cd93539abcb779b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:08:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deployments/6b5db6c6-1feb-452e-ab59-210672f3bcdc", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzLzZiNWRiNmM2LTFmZWItNDUyZS1hYjU5LTIxMDY3MmYzYmNkYw==", + "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": [ + "522382a0f93c1e59b93b6f793923645a" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:57 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/522382a0f93c1e59b93b6f793923645a", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzUyMjM4MmEwZjkzYzFlNTliOTNiNmY3OTM5MjM2NDVh", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 522382a0-f93c-1e59-b93b-6f793923645a\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "eec196dcf47a177b94aed6c6ef9d6ad1" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:07:58 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/522382a0f93c1e59b93b6f793923645a", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzUyMjM4MmEwZjkzYzFlNTliOTNiNmY3OTM5MjM2NDVh", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 522382a0-f93c-1e59-b93b-6f793923645a\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "b0e315c0b26617bd9b34f60cac0a0d10" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:08:29 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338/deployments/10038b3d-349a-493e-a0f1-31795dda95d6", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4L2RlcGxveW1lbnRzLzEwMDM4YjNkLTM0OWEtNDkzZS1hMGYxLTMxNzk1ZGRhOTVkNg==", + "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": [ + "8e0b86118c071494beacfc430671985b" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:08:30 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 202 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8e0b86118c071494beacfc430671985b", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhlMGI4NjExOGMwNzE0OTRiZWFjZmM0MzA2NzE5ODVi", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 8e0b8611-8c07-1494-beac-fc430671985b\r\n InProgress\r\n", + "ResponseHeaders": { + "Content-Length": [ + "197" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "666728d81d671aa39d6e5f04b53922a7" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:08:30 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/operations/8e0b86118c071494beacfc430671985b", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9vcGVyYXRpb25zLzhlMGI4NjExOGMwNzE0OTRiZWFjZmM0MzA2NzE5ODVi", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-version": [ + "2015-04-01" + ], + "User-Agent": [ + "Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient/12.0.0.0" + ] + }, + "ResponseBody": "\r\n 8e0b8611-8c07-1494-beac-fc430671985b\r\n Succeeded\r\n 200\r\n", + "ResponseHeaders": { + "Content-Length": [ + "232" + ], + "Content-Type": [ + "application/xml; charset=utf-8" + ], + "x-ms-servedbyregion": [ + "ussouth3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-request-id": [ + "b502f432558611ed911554e208903111" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:09:00 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + }, + { + "RequestUri": "/4d368445-cbb1-42a7-97a6-6850ab99f48e/services/hostedservices/pstestonesdk8338", + "EncodedRequestUri": "LzRkMzY4NDQ1LWNiYjEtNDJhNy05N2E2LTY4NTBhYjk5ZjQ4ZS9zZXJ2aWNlcy9ob3N0ZWRzZXJ2aWNlcy9wc3Rlc3RvbmVzZGs4MzM4", + "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": [ + "05bd23288f8f1fae959fb1810f932d71" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Fri, 11 Sep 2015 08:09:01 GMT" + ], + "Server": [ + "1.0.6198.263", + "(rd_rdfe_stable.150908-1354)", + "Microsoft-HTTPAPI/2.0" + ] + }, + "StatusCode": 200 + } + ], + "Names": { + "": [ + "onesdk1983", + "onesdk8338" + ] + }, + "Variables": { + "SubscriptionId": "4d368445-cbb1-42a7-97a6-6850ab99f48e" + } +} \ No newline at end of file diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceExtensionSetCmdletTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceExtensionSetCmdletTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceExtensionSetCmdletTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceExtensionSetCmdletTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceManagementCloudExceptionTests.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceManagementCloudExceptionTests.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceManagementCloudExceptionTests.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunServiceManagementCloudExceptionTests.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunStartAndStopMultipleVirtualMachinesTest.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunStartAndStopMultipleVirtualMachinesTest.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunStartAndStopMultipleVirtualMachinesTest.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/RunStartAndStopMultipleVirtualMachinesTest.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureLocation.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureLocation.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureLocation.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureLocation.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureVM.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureVM.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureVM.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.ServiceManagementTests/TestGetAzureVM.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpoint.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpoint.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpoint.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpoint.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoWeightLocation.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoWeightLocation.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoWeightLocation.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddAzureTrafficManagerEndpointNoWeightLocation.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddMultipleAzureTrafficManagerEndpoint.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddMultipleAzureTrafficManagerEndpoint.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddMultipleAzureTrafficManagerEndpoint.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestAddMultipleAzureTrafficManagerEndpoint.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestCreateAndRemoveProfile.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestCreateAndRemoveProfile.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestCreateAndRemoveProfile.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestCreateAndRemoveProfile.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfile.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfile.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfile.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfile.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfileWithInvalidCredentials.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfileWithInvalidCredentials.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfileWithInvalidCredentials.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestDisableProfileWithInvalidCredentials.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfile.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfile.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfile.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfile.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfileWithInvalidCredentials.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfileWithInvalidCredentials.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfileWithInvalidCredentials.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestEnableProfileWithInvalidCredentials.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetMultipleProfiles.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetMultipleProfiles.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetMultipleProfiles.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetMultipleProfiles.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfile.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfile.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfile.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfile.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfileWithInvalidCredentials.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfileWithInvalidCredentials.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfileWithInvalidCredentials.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestGetProfileWithInvalidCredentials.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfile.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfile.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfile.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfile.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfileInvalidParameters.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfileInvalidParameters.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfileInvalidParameters.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestNewProfileInvalidParameters.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveAzureTrafficManagerEndpoint.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveAzureTrafficManagerEndpoint.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveAzureTrafficManagerEndpoint.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveAzureTrafficManagerEndpoint.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithInvalidCredentials.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithInvalidCredentials.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithInvalidCredentials.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithInvalidCredentials.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithNonExistingName.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithNonExistingName.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithNonExistingName.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestRemoveProfileWithNonExistingName.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpoint.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpoint.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpoint.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpoint.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointAdds.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointAdds.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointAdds.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointAdds.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointUpdateWeightLocation.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointUpdateWeightLocation.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointUpdateWeightLocation.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetAzureTrafficManagerEndpointUpdateWeightLocation.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetProfileProperty.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetProfileProperty.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetProfileProperty.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestSetProfileProperty.json diff --git a/src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestTestAzureTrafficManagerDomainName.json b/src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestTestAzureTrafficManagerDomainName.json similarity index 100% rename from src/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestTestAzureTrafficManagerDomainName.json rename to src/ServiceManagement/Common/Commands.ScenarioTest/SessionRecords/Microsoft.WindowsAzure.Commands.ScenarioTest.TrafficManagerTests/TestTestAzureTrafficManagerDomainName.json diff --git a/src/Common/Commands.ScenarioTest/StorageTests/StorageContainerTest.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/StorageTests/StorageContainerTest.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/StorageTests/StorageContainerTest.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/StorageTests/StorageContainerTest.cs diff --git a/src/Common/Commands.ScenarioTest/StorageTests/StorageContextTest.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/StorageTests/StorageContextTest.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/StorageTests/StorageContextTest.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/StorageTests/StorageContextTest.cs diff --git a/src/Common/Commands.ScenarioTest/StoreTests/StoreTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/StoreTests/StoreTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/StoreTests/StoreTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/StoreTests/StoreTests.cs diff --git a/src/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs similarity index 99% rename from src/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs index afc1773b3671..1db0072aecdf 100644 --- a/src/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/TrafficManagerTests/TrafficManagerTests.cs @@ -274,7 +274,7 @@ protected void RunPowerShellTest(params string[] scripts) List modules = Directory.GetFiles("Resources\\TrafficManager", "*.ps1").ToList(); modules.Add("Common.ps1"); - modules.Add(@"..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); + modules.Add(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Azure.psd1"); helper.SetupEnvironment(AzureModule.AzureServiceManagement); helper.SetupModules(modules.ToArray()); diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/CmdletTestCloudServiceBase.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/CmdletTestCloudServiceBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/CmdletTestCloudServiceBase.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/CmdletTestCloudServiceBase.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackCloudServiceTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackCloudServiceTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackCloudServiceTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackCloudServiceTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackVMRoleTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackVMRoleTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackVMRoleTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/GetWAPackVMRoleTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackCloudServiceTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackCloudServiceTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackCloudServiceTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackCloudServiceTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackVMRoleTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackVMRoleTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackVMRoleTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/NewWAPackVMRoleTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackCloudServiceTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackCloudServiceTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackCloudServiceTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackCloudServiceTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackVMRoleTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackVMRoleTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackVMRoleTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/RemoveWAPackVMRoleTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/SetWAPackVMRoleTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/SetWAPackVMRoleTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/SetWAPackVMRoleTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CloudService/SetWAPackVMRoleTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/CmdletTestBase.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CmdletTestBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/CmdletTestBase.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/CmdletTestBase.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/CmdletTestNetworkingBase.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/CmdletTestNetworkingBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/CmdletTestNetworkingBase.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/CmdletTestNetworkingBase.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackLogicalNetworkTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackLogicalNetworkTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackLogicalNetworkTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackLogicalNetworkTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackStaticIPAddressPoolTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackStaticIPAddressPoolTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackStaticIPAddressPoolTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackStaticIPAddressPoolTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVMSubnetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVMSubnetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVMSubnetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVMSubnetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVNetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVNetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVNetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/GetWAPackVNetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackStaticIPAddressPoolTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackStaticIPAddressPoolTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackStaticIPAddressPoolTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackStaticIPAddressPoolTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVMSubnetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVMSubnetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVMSubnetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVMSubnetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVNetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVNetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVNetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/NewWAPackVNetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveStaticIPAddressPoolTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveStaticIPAddressPoolTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveStaticIPAddressPoolTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveStaticIPAddressPoolTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVMSubnetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVMSubnetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVMSubnetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVMSubnetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVNetTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVNetTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVNetTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Networking/RemoveWAPackVNetTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/PowershellExtension.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/PowershellExtension.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/PowershellExtension.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/PowershellExtension.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/Readme.txt b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Readme.txt similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/Readme.txt rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/Readme.txt diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/CmdletTestVirtualMachineStatusBase.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/CmdletTestVirtualMachineStatusBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/CmdletTestVirtualMachineStatusBase.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/CmdletTestVirtualMachineStatusBase.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMOSDiskTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMOSDiskTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMOSDiskTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMOSDiskTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMSizeProfileTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMSizeProfileTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMSizeProfileTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMSizeProfileTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMTemplateTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMTemplateTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMTemplateTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/GetWAPackVMTemplateTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/NewWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/NewWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/NewWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/NewWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RemoveWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RemoveWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RemoveWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RemoveWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RestartWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RestartWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RestartWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/RestartWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/ResumeWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/ResumeWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/ResumeWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/ResumeWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SetWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SetWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SetWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SetWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StartWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StartWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StartWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StartWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StopWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StopWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StopWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/StopWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SuspendWAPackVMTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SuspendWAPackVMTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SuspendWAPackVMTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/VirtualMachine/SuspendWAPackVMTests.cs diff --git a/src/Common/Commands.ScenarioTest/WAPackIaaS/WAPackConfigurationFactory.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/WAPackConfigurationFactory.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WAPackIaaS/WAPackConfigurationFactory.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WAPackIaaS/WAPackConfigurationFactory.cs diff --git a/src/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTests.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTests.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTests.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTests.cs diff --git a/src/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTestsBase.cs b/src/ServiceManagement/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTestsBase.cs similarity index 100% rename from src/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTestsBase.cs rename to src/ServiceManagement/Common/Commands.ScenarioTest/WebsitesTests/WebsitesTestsBase.cs diff --git a/src/Common/Commands.ScenarioTest/packages.config b/src/ServiceManagement/Common/Commands.ScenarioTest/packages.config similarity index 85% rename from src/Common/Commands.ScenarioTest/packages.config rename to src/ServiceManagement/Common/Commands.ScenarioTest/packages.config index 2ff11273c825..d8b60571fad2 100644 --- a/src/Common/Commands.ScenarioTest/packages.config +++ b/src/ServiceManagement/Common/Commands.ScenarioTest/packages.config @@ -2,11 +2,12 @@ - + + - - + + @@ -28,5 +29,5 @@ - - + +
\ No newline at end of file diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement.PlatformImageRepository/Commands.ServiceManagement.PlatformImageRepository.csproj b/src/ServiceManagement/Compute/Commands.ServiceManagement.PlatformImageRepository/Commands.ServiceManagement.PlatformImageRepository.csproj index 8a324f301a83..744b67269a71 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement.PlatformImageRepository/Commands.ServiceManagement.PlatformImageRepository.csproj +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement.PlatformImageRepository/Commands.ServiceManagement.PlatformImageRepository.csproj @@ -66,7 +66,7 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -238,11 +238,7 @@ - - - - - diff --git a/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/Commands.ServiceManagement.Test.csproj b/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/Commands.ServiceManagement.Test.csproj index 31c4cd75ae42..86b69d2d6711 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/Commands.ServiceManagement.Test.csproj +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement.Test/Commands.ServiceManagement.Test.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -20,7 +20,8 @@ ..\..\..\ true - 6d88902b + + true @@ -63,17 +64,21 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -174,9 +179,13 @@ - - False + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -599,10 +608,14 @@ {65c3a86a-716d-4e7d-ab67-1db00b3bf72d} Commands.Common.Storage - + {c60342b1-47d3-4a0e-8081-9b97ce60b7af} Commands.Profile + + {c1bda476-a5cc-4394-914d-48b0ec31a710} + Commands.ScenarioTests.Common + {40fee0bb-fd45-4efc-85bc-0d602a6892c4} Commands.ServiceManagement.Network @@ -623,7 +636,7 @@ {E1CA72BA-8374-45F6-904D-FD34ECDF5B6F} Commands.ServiceManagement - + {08cf7da7-0392-4a19-b79b-e1ff67cdb81a} Commands.Storage @@ -635,7 +648,7 @@ {CD5AA507-F5EF-473D-855B-84B91A1ABE54} Commands - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test @@ -670,15 +683,11 @@ - - - - - + 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}. - + - - - 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/Compute/Commands.ServiceManagement/packages.config b/src/ServiceManagement/Compute/Commands.ServiceManagement/packages.config index b53ed427c514..7241dc733229 100644 --- a/src/ServiceManagement/Compute/Commands.ServiceManagement/packages.config +++ b/src/ServiceManagement/Compute/Commands.ServiceManagement/packages.config @@ -3,7 +3,7 @@ - + diff --git a/src/ServiceManagement/Compute/Sync/Upload/BlobSynchronizer.cs b/src/ServiceManagement/Compute/Sync/Upload/BlobSynchronizer.cs index a33d5f95144c..dc200f7deb33 100644 --- a/src/ServiceManagement/Compute/Sync/Upload/BlobSynchronizer.cs +++ b/src/ServiceManagement/Compute/Sync/Upload/BlobSynchronizer.cs @@ -70,8 +70,8 @@ public bool Synchronize() if (loopResult.Exceptions.Any()) { Program.SyncOutput.ErrorUploadFailedWithExceptions(loopResult.Exceptions); - //TODO: throw an AggregateException - return false; + + throw new AggregateException(loopResult.Exceptions); } } else diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj index 49a8a22837df..bc38453b88f1 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/Commands.ExpressRoute.csproj @@ -48,7 +48,7 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -188,8 +188,4 @@ - - - - \ No newline at end of file diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRoute.psd1 b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRoute.psd1 index 73ae6499b6b9..819d8b64094e 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRoute.psd1 +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRoute.psd1 @@ -12,7 +12,7 @@ ModuleToProcess = '.\Microsoft.WindowsAzure.Commands.ExpressRoute.dll' # Version number of this module. -ModuleVersion = '0.9.7' +ModuleVersion = '0.9.9' # ID used to uniquely identify this module GUID = 'e5b10573-30da-456a-9319-4c0a5f8bed4a' diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteBaseCmdlet.cs b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteBaseCmdlet.cs index 9d2b1026ea91..aa40a6fae176 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteBaseCmdlet.cs +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteBaseCmdlet.cs @@ -16,7 +16,7 @@ namespace Microsoft.WindowsAzure.Commands.ExpressRoute { - public abstract class ExpressRouteBaseCmdlet : AzurePSCmdlet + public abstract class ExpressRouteBaseCmdlet : AzureSMCmdlet { private ExpressRouteClient expressRouteClient; diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs index 60b7d3b94249..c64521aa97dc 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/ExpressRouteClient.cs @@ -35,7 +35,7 @@ public class ExpressRouteClient { public ExpressRouteManagementClient Client { get; internal set; } - private static ClientType CreateClient(AzureProfile profile, AzureSubscription subscription) where ClientType : ServiceClient + private static ClientType CreateClient(AzureSMProfile profile, AzureSubscription subscription) where ClientType : ServiceClient { return AzureSession.ClientFactory.CreateClient(profile, subscription, AzureEnvironment.Endpoint.ServiceManagement); } @@ -45,7 +45,7 @@ private static ClientType CreateClient(AzureProfile profile, AzureSu ///
/// Subscription containing websites to manipulate /// Azure Profile - public ExpressRouteClient(AzureProfile profile, AzureSubscription subscription) + public ExpressRouteClient(AzureSMProfile profile, AzureSubscription subscription) : this(CreateClient(profile, subscription)) { } diff --git a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config index 925b4af788c5..e5bc9527dbfe 100644 --- a/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config +++ b/src/ServiceManagement/ExpressRoute/Commands.ExpressRoute/packages.config @@ -2,7 +2,7 @@ - + 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 61a94fdf2e85..e41029f1b6d2 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Commands.HDInsight.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ ..\..\..\ true - c29245bf + 86879738 true @@ -55,17 +55,21 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -77,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 @@ -118,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 @@ -170,12 +174,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - False ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -269,7 +273,7 @@ - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test @@ -300,14 +304,10 @@ - - - - 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/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/HDInsight/CommandTests/HDInsightGetCommandTests.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CommandTests/HDInsightGetCommandTests.cs index 0a0e89a58792..5c8ec60c0f4a 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CommandTests/HDInsightGetCommandTests.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/HDInsight/CommandTests/HDInsightGetCommandTests.cs @@ -103,7 +103,7 @@ public void CanGetSubscriptionsCertificateCredentialFromCurrentSubscription() { var getClustersCommand = new GetAzureHDInsightClusterCommand(); var waSubscription = GetCurrentSubscription(); - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); var subscriptionCreds = getClustersCommand.GetSubscriptionCredentials(waSubscription, profileClient.Profile.Context.Environment, profileClient.Profile); @@ -122,7 +122,7 @@ public void CanGetAccessTokenCertificateCredentialFromCurrentSubscription() { Id = IntegrationTestBase.TestCredentials.SubscriptionId, }; - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); profileClient.Profile.Accounts["test"] = new AzureAccount { Id = "test", @@ -149,7 +149,7 @@ public void CanGetJobSubmissionCertificateCredentialFromCurrentSubscription() { var getClustersCommand = new GetAzureHDInsightJobCommand(); var waSubscription = GetCurrentSubscription(); - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); var subscriptionCreds = getClustersCommand.GetJobSubmissionClientCredentials( waSubscription, @@ -173,7 +173,7 @@ public void CanGetJobSubmissionAccessTokenCredentialFromCurrentSubscription() Id = IntegrationTestBase.TestCredentials.SubscriptionId, Account = "test" }; - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); profileClient.Profile.Accounts["test"] = new AzureAccount { Id = "test", @@ -207,8 +207,8 @@ public void CanGetBasicAuthCredentialFromCredentials() Id = IntegrationTestBase.TestCredentials.SubscriptionId, }; waSubscription.Account = "test"; - var profile = new AzureProfile(); - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + var profile = new AzureSMProfile(); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); var accessTokenCreds = getClustersCommand.GetJobSubmissionClientCredentials( waSubscription, profileClient.Profile.Context.Environment, diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulator.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulator.cs index 3ca423dca8ac..79d85f7ba448 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulator.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulator.cs @@ -34,7 +34,7 @@ internal AzureHDInsightSubscriptionResolverSimulator() { var certificate = new X509Certificate2(Convert.FromBase64String(IntegrationTestBase.TestCredentials.Certificate), string.Empty); AzureSession.DataStore.AddCertificate(certificate); - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); profileClient.Profile.Accounts[certificate.Thumbprint] = new AzureAccount { Id = certificate.Thumbprint, diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulatorFactory.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulatorFactory.cs index 1e00b26d1dfa..67360bddba58 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulatorFactory.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Simulators/AzureHDInsightSubscriptionResolverSimulatorFactory.cs @@ -19,7 +19,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.Utilities.HDInsight.Simulators { internal class AzureHDInsightSubscriptionResolverSimulatorFactory : IAzureHDInsightSubscriptionResolverFactory { - public IAzureHDInsightSubscriptionResolver Create(AzureProfile profile) + public IAzureHDInsightSubscriptionResolver Create(AzureSMProfile profile) { return new AzureHDInsightSubscriptionResolverSimulator(); } diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Utilities/IntegrationTestBase.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Utilities/IntegrationTestBase.cs index 570d140b2470..3a895f97f561 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Utilities/IntegrationTestBase.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Models/Utilities/IntegrationTestBase.cs @@ -78,7 +78,7 @@ public static AzureSubscription GetCurrentSubscription() }; newSubscription.Properties[AzureSubscription.Property.Default] = "True"; - ProfileClient profileClient = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient profileClient = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); profileClient.Profile.Accounts[certificateThumbprint1] = new AzureAccount() { @@ -160,8 +160,8 @@ public static void TestRunSetup() cmdletRunManager.RegisterType(); var testManager = new IntegrationTestManager(); AzureSession.DataStore = new MemoryDataStore(); - var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); - AzurePSCmdlet.CurrentProfile = profile; + var profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + AzureSMCmdlet.CurrentProfile = profile; TestCredentials = testManager.GetCredentials("default"); if (TestCredentials == null) { diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Properties/AssemblyInfo.cs b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Properties/AssemblyInfo.cs index b6b9cc35f70b..f3622e57296a 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Properties/AssemblyInfo.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/Properties/AssemblyInfo.cs @@ -15,6 +15,7 @@ using System; 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 diff --git a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config index 00a87cb382ed..d4e64c1188a9 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight.Test/packages.config @@ -3,29 +3,30 @@ - + + - + - + - + - + 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 8e9bcdd35219..43828708c916 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/Cmdlet/AzureHDInsightCmdlet.cs @@ -32,12 +32,13 @@ namespace Microsoft.WindowsAzure.Management.HDInsight.Cmdlet.PSCmdlets /// /// The base class for HDInsight Cmdlets. /// - public abstract class AzureHDInsightCmdlet : AzurePSCmdlet + public abstract class AzureHDInsightCmdlet : AzureSMCmdlet { internal static AzureSubscription testSubscription; private ILogWriter logger; + /// /// Gets or sets a value indicating whether logging should be enabled. /// @@ -119,7 +120,7 @@ protected AzureSubscription GetCurrentSubscription(string Subscription, X509Cert { this.WriteWarning("The -Subscription parameter is deprecated, Please use Select-AzureSubscription -Current to select a subscription to use."); - ProfileClient client = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); var subscriptionResolver = ServiceLocator.Instance.Locate().Create(client.Profile); @@ -145,7 +146,7 @@ protected AzureSubscription GetCurrentSubscription(string Subscription, X509Cert { #if DEBUG // we need this for the tests to mock out the current subscription. - if (this.HasCurrentSubscription) + if (Profile.Context.Subscription != null) { return this.Profile.Context.Subscription; } 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 8e564c431416..db2265cd9a20 100644 --- a/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj +++ b/src/ServiceManagement/HDInsight/Commands.HDInsight/HDInsight.csproj @@ -60,7 +60,7 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True @@ -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 @@ -394,11 +394,7 @@ - - - - - + + Add-AzureAccount + + Adds the Azure account to Windows PowerShell + + + + + Add + AzureAccount + + + + The Add-AzureAccount cmdlet makes your Azure account and its subscriptions available in Windows PowerShell. It's like logging into your Azure account in Windows PowerShell. To log out of the account, use the Remove-AzureAccount cmdlet. + Add-AzureAccount downloads information about your Azure account and saves it in a subscription data file in your roaming user profile. It also gets an access token that allows Windows PowerShell to access your Azure account on your behalf. When the command completes, you can manage your Azure account in Windows PowerShell. + There are two different ways to make your Azure account available to Windows PowerShell. You can use the Add-AzureAccount cmdlet, which uses Azure Active Directory (Azure AD) authentication access tokens, or Import-AzurePublishSettingsFile, which uses a management certificate. For guidance on which method to use, see "How to: Connect to your subscription" (http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/#Connect). + When you run Add-AzureAccount, it displays an interactive window that prompts you to sign into your Azure account. This sign-in is valid until the access token expires. When it expires, cmdlets that require access to your account prompt you to run Add-AzureAccount again. + If you have a Microsoft Organizational account, you can use the -Credential parameter to add the subscriptions associated with your account to Windows PowerShell without an interactive dialog. + When specifying -ServicePrincipal switch a -Credential parameter is used to authenticate a Service Principal. + + + + Add-AzureAccount + + Environment + + Specifies an Azure environment for the user account. This parameter is optional. The default is the AzureCloud environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack.To get the available Azure environments, use the Get-AzureEnvironment cmdlet. To add an environment, use the Add-AzureEnvironment cmdlet. + + String + + + Credential + + The username and password account credentials used to authenticate with Azure Active Directory. The credentials must be for a Microsoft Organizational account or Service Principal, not a Microsoft account. + + PSCredential + + + Profile + + The Profile to add accounts and subscriptions to. If not specified, adds accounts and subscriptions to the default (on disk) profile. + + AzureProfile + + + + Add-AzureAccount + + Environment + + Specifies an Azure environment for the user account. This parameter is optional. The default is the AzureCloud environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack.To get the available Azure environments, use the Get-AzureEnvironment cmdlet. To add an environment, use the Add-AzureEnvironment cmdlet. + + String + + + Credential + + The username and password account credentials used to authenticate with Azure Active Directory. The credentials must be for a Microsoft Organizational account or Service Principal, not a Microsoft account. + + PSCredential + + + ServicePrincipal + + Specifies that your are logging in as a service principal. You must give a Credentials parameter for this case, with the service principal ID as the user name and the service principal key as the password. + + SwitchParameter + + + Tenant + + Used when logging in as a service principal. Specifies the AAD tenant the service principal is defined in. This can be either the tenant's domain name or id. + + String + + + Profile + + The Profile to add accounts and subscriptions to. If not specified, adds accounts and subscriptions to the default (on disk) profile. + + AzureProfile + + + + + + Environment + + Specifies an Azure environment for the user account. This parameter is optional. The default is the AzureCloud environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack.To get the available Azure environments, use the Get-AzureEnvironment cmdlet. To add an environment, use the Add-AzureEnvironment cmdlet. + + String + + String + + + + + + Credential + + The username and password account credentials used to authenticate with Azure Active Directory. The credentials must be for a Microsoft Organizational account or Service Principal, not a Microsoft account. + + PSCredential + + PSCredential + + + + + + Profile + + The Profile to add accounts and subscriptions to. If not specified, adds accounts and subscriptions to the default (on disk) profile. + + AzureProfile + + AzureProfile + + + Default on-disk Profile + + + ServicePrincipal + + Specifies that your are logging in as a service principal. You must give a Credentials parameter for this case, with the service principal ID as the user name and the service principal key as the password. + + SwitchParameter + + SwitchParameter + + + + + + Tenant + + Used when logging in as a service principal. Specifies the AAD tenant the service principal is defined in. This can be either the tenant's domain name or id. + + String + + String + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None + + + + + + + + + + + + + + + Add-AzureAccount (and the Azure AD authentication method) takes precedence over Import-AzurePublishSettings (and the management certificate method). If you use Add-AzureAccount even once on your account, the Azure AD authentication method is used and the management certificate is ignored. To remove the Azure AD token and restore the management certificate method, use the Remove-AzureAccount cmdlet. For more information, type: Get-Help Remove-AzureAccount. + + + + + -------------------------- Example 1: Add an account -------------------------- + + PS C:\> + + PS C:\>Add-AzureAccount + + This command adds an Azure account to Windows PowerShell. When you run the command, a windows pops up to request the user name and password of the account. + + + + + + + + + + + + + + -------------------------- Example 2: Use an alternate subscription data file -------------------------- + + PS C:\> + + PS C:\>Add-AzureAccount -SubscriptionDataFile C:\Testing\SDF.xml + + This command uses the SubscriptionDataFile parameter to direct Add-AzureAccount to store the account data in the C:\Testing\SDF.xml file, instead of the default file. + + + + + + + + + + + + + + -------------------------- Example 3: Add a Microsoft Organizational account using Credential -------------------------- + + PS C:\> + + PS C:\>$credential = Get-Credential + PS C:\>Add-AzureAccount -Credential $credential + + This command uses the Credential parameter to provide AAD authentication information on the command line, rather than using the pop-up dialog for AAD authentication. + + + + + + + + + + + + + + -------------------------- Example 4: Add a Service Principal account using Credential and ServicePrincipal -------------------------- + + PS C:\> + + PS C:\>$credential = Get-Credential + PS C:\>Add-AzureAccount -Credential $credential -ServicePrincipal -Tenant "3EB32C56-E1E5-46A6-9410-F4A0572B3998" + + This command uses the Credential parameter to provide AAD authentication information of the Service Principal in the tenant 3EB32C56-E1E5-46A6-9410-F4A0572B3998. + + + + + + + + + + + + + + -------------------------- Example 5: Add an account in Azure China -------------------------- + + PS C:\> + + PS C:\>Add-AzureAccount -Environment AzureChinaCloud + + This command uses the Environment parameter to add an Azure China account to Windows PowerShell. When you run the command, a windows pops up to request the user name and password of the account. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397618 + + + Add-AzureEnvironment + + + + Get-AzureEnvironment + + + + Import-AzurePublishSettingsFile + + + + Get-AzureAccount + + + + Remove-AzureAccount + + + + + + + + Add-AzureEnvironment + + Creates an Azure environment + + + + + Add + AzureEnvironment + + + + The Add-AzureEnvironment cmdlet creates a new custom Azure account environment and saves it in your roaming user profile. The cmdlet returns an object that represents the new environment. When the command completes, you can use the environment in Windows PowerShell. + An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx). + Only the Name parameter of this cmdlet is mandatory. If you omit a parameter, its value is null ($null), and the service that uses that endpoint might not function properly. To add or change the value of an environment property, use the Set-AzureEnvironment cmdlet. + NOTE: Changing your environment can cause your account to fail. Typically, environments are added only for testing or troubleshooting. + + + + Add-AzureEnvironment + + Name + + Specifies a name for the environment. This parameter is required. Do not use the names of the default environments, AzureCloud and AzureChinaCloud. + + String + + + PublishSettingsFileUrl + + Specifies the URL of the publish settings files for your account. An Azure publish settings file is an XML file that contains information about your account and a management certificate that allows Windows PowerShell to sign into your Azure account on your behalf. + + String + + + ServiceEndpoint + + Specifies the URL of the Azure service endpoint. The Azure service endpoint determines whether your application is managed by the global Azure platform, Azure operated by 21Vianet in China, or a private Azure installation. + + String + + + ManagementPortalUrl + + Specifies the URL of the Azure Management Portal in the new environment. + + String + + + StorageEndpoint + + Specifies the default endpoint of storage services in the new environment. + + String + + + ActiveDirectoryEndpoint + + Specifies the endpoint for Azure Active Directory authentication in the new environment. + + String + + + ResourceManagerEndpoint + + Specifies the endpoint for Azure Resource Manager data, including data about resource groups associated with the account. For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery, which stores resource group gallery templates. + + String + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the resource ID of a management API whose access is managed by Azure Active Directory. + + String + + + GraphEndpoint + + Changes the endpoint for Azure Active Directory Graph API to the specified value. + + String + + + AzureKeyVaultDnsSuffix + + The DNS suffix for Azure KeyVaut; servers in this environment + + String + + + AzureKeyVaultServiceEndpointResourceId + + The identity of the KeyVault endpoint, used to acquire a token for authenticating with the KeyValue service. + + String + + + Profile + + The Profile to add the environment to to. If not specified, adds the environment to the default (on disk) profile. + + AzureProfile + + + + + + Name + + Specifies a name for the environment. This parameter is required. Do not use the names of the default environments, AzureCloud and AzureChinaCloud. + + String + + String + + + + + + PublishSettingsFileUrl + + Specifies the URL of the publish settings files for your account. An Azure publish settings file is an XML file that contains information about your account and a management certificate that allows Windows PowerShell to sign into your Azure account on your behalf. + + String + + String + + + + + + ServiceEndpoint + + Specifies the URL of the Azure service endpoint. The Azure service endpoint determines whether your application is managed by the global Azure platform, Azure operated by 21Vianet in China, or a private Azure installation. + + String + + String + + + + + + ManagementPortalUrl + + Specifies the URL of the Azure Management Portal in the new environment. + + String + + String + + + + + + StorageEndpoint + + Specifies the default endpoint of storage services in the new environment. + + String + + String + + + + + + ActiveDirectoryEndpoint + + Specifies the endpoint for Azure Active Directory authentication in the new environment. + + String + + String + + + + + + ResourceManagerEndpoint + + Specifies the endpoint for Azure Resource Manager data, including data about resource groups associated with the account. For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + String + + + + + + GalleryEndpoint + + Specifies the endpoint for the Azure Resource Manager gallery, which stores resource group gallery templates. + + String + + String + + + + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the resource ID of a management API whose access is managed by Azure Active Directory. + + String + + String + + + + + + GraphEndpoint + + Changes the endpoint for Azure Active Directory Graph API to the specified value. + + String + + String + + + + + + AzureKeyVaultDnsSuffix + + The DNS suffix for Azure KeyVaut; servers in this environment + + String + + String + + + + + + AzureKeyVaultServiceEndpointResourceId + + The identity of the KeyVault endpoint, used to acquire a token for authenticating with the KeyValue service. + + String + + String + + + + + + Profile + + The Profile to add the environment to to. If not specified, adds the environment to the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + Microsoft.WindowsAzure.Commands.Utilities.Common.WindowsAzureEnvironment + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Add an Azure environment -------------------------- + + PS C:\> + + PS C:\>Add-AzureEnvironment -Name ContosoEnv -PublishSettingsFileUrl https://contoso.com/fwlink/?LinkID=101 -ServiceEndpoint https://contoso.com/fwlink/?LinkID=102 + Name : ContosoEnv + + PublishSettingsFileUrl : https://contoso.com/fwlink/?LinkID=101 + + ServiceEndpoint : https://contoso.com/fwlink/?LinkID=102 + + ResourceManagerEndpoint : + + ManagementPortalUrl : + + ActiveDirectoryEndpoint : + + ActiveDirectoryCommonTenantId : + + StorageEndpointSuffix : + + StorageBlobEndpointFormat : + + StorageQueueEndpointFormat : + + StorageTableEndpointFormat : + + GalleryEndpoint : + + This command creates the ContosoEnv Azure environment. + + + + + + + + + + + + + + -------------------------- Example 2: Add an Azure environment with Parameters -------------------------- + + PS C:\> + + PS C:\>Add-AzureEnvironment -Name ContosoEnv -PublishSettingsFileUrl "https://contoso.com/fwlink/?LinkID=101" -ServiceEndpoint "https://contoso.com/fwlink/?LinkID=102" -ResourceManagerEndpoint "https://contoso.com/fwlink/?LinkID=103" -GraphEndpoint "https://contoso.com/fwlink/?LinkID=104" + + This command creates the ContosoEnv Azure environment with PublishSettingsFileUrl, ServiceEndpoint, ResourceManagerEndpoint, and GraphEndpoint specified. All other endpoints are ignored. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397619 + + + Get-AzureEnvironment + + + + Remove-AzureEnvironment + + + + Set-AzureEnvironment + + + + + + + + Clear-AzureProfile + + Clears an Azure profile + + + + + Clear + AzureProfile + + + + The Clear-AzureProfile cmdlet resets Azure profile to default values. All imported subscriptions and accounts are removed. + + + + Clear-AzureProfile + + Force + + Suppresses the confirmation prompt. By default, Clear-AzureProfile prompts you before clearing the profile. + + SwitchParameter + + + Profile + + The Profile to remove all accounts, certificates, and subscriptions from. If not specified, removes all accounts and subscriptions from the default (on disk) profile. + + AzureProfile + + + + + + Force + + Suppresses the confirmation prompt. By default, Clear-AzureProfile prompts you before clearing the profile. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to remove all accounts, certificates, and subscriptions from. If not specified, removes all accounts and subscriptions from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Clear profile -------------------------- + + PS C:\> + + PS C:\>Clear-AzureProfile + + This command clears default user Azure profile. + + + + + + + + + + + + + + -------------------------- Example 2: Clear nondefault profile -------------------------- + + PS C:\> + + PS C:\>Clear-AzureProfile -SubscriptionDataFile c:\myprofile.json + + This command clears Azure profile stored in c:\myprofile.json file. + + + + + + + + + + + + + + + + Get-AzureSubscription + + + + Set-AzureSubscription + + + + Add-AzureAccount + + + + Remove-AzureAccount + + + + + + + + Get-AzureAccount + + Gets Azure accounts that are available to Azure PowerShell. + + + + + Get + AzureAccount + + + + This is the Description section + The Get-AzureAccount cmdlet gets the Azure accounts that are available to Windows PowerShell. To make your accounts available to Windows PowerShell, use the Add-AzureAccount or Import-PublishSettingsFile cmdlets. + + + + Get-AzureAccount + + Name + + Gets only the specified account. The default is all accounts that are available to Windows PowerShell. Enter the account name. The Name value is case-sensitive. Wildcards are not permitted. + + String + + + Profile + + The Profile to get accounts from. If not specified, gets the accounts from the default (on disk) profile. + + AzureProfile + + + + + + Name + + Gets only the specified account. The default is all accounts that are available to Windows PowerShell. Enter the account name. The Name value is case-sensitive. Wildcards are not permitted. + + String + + String + + + + + + Profile + + The Profile to get accounts from. If not specified, gets the accounts from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Get all accounts -------------------------- + + PS C:\> + + PS C:\>Get-AzureAccount + Name ActiveDirectories + ---- ----------------- + contosoadmin@outlook.com {{ ActiveDirectoryTenantId = abcde5cd-bcc3-441a-bd86-e6a... + contosotest1@outlook.com {{ ActiveDirectoryTenantId = aaeabcde-386c-4466-bf70-794... + + This command gets all accounts associated with the specified user. + + + + + + + + + + + + + + -------------------------- Example 2: Get an account by name -------------------------- + + PS C:\> + + PS C:\>Get-AzureAccount -Name contosoadmin@outlook.com + Name ActiveDirectories + ---- ----------------- + contosoadmin@outlook.com {{ ActiveDirectoryTenantId = abcde5cd-bcc3-441a-bd86-e6a... + + This command gets the ContosoAdmin account. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397620 + + + Add-AzureAccount + + + + Get-AzurePublishSettingsFile + + + + Import-AzurePublishSettingsFile + + + + Remove-AzureAccount + + + + + + + + Get-AzureEnvironment + + Gets Azure environments + + + + + Get + AzureEnvironment + + + + This is the Description section + The Get-AzureEnvironment cmdlet gets the Azure environments that are available to Windows PowerShell.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx).The Get-AzureEnvironment cmdlet gets environments from your subscription data file, not from Azure. If the subscription data file is outdated, run the Add-AzureAccount or Import-PublishSettingsFile cmdlet to refresh it. + + + + Get-AzureEnvironment + + Name + + Gets only the specified environment. Type the environment name. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Profile + + The Profile to get environments from. If not specified, gets environments from the default (on disk) profile. + + AzureProfile + + + + + + Name + + Gets only the specified environment. Type the environment name. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + Profile + + The Profile to get environments from. If not specified, gets environments from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + System.Management.Automation.PSCustomObject + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Get all environments -------------------------- + + PS C:\> + + PS C:\>Get-AzureEnvironment + EnvironmentName ServiceEndpoint ResourceManagerEndpoint PublishSettingsFileUrl + --------------- --------------- ----------------------- ---------------------- + + AzureCloud https://management.core.wi... https://management.azure.com/ http://go.microsoft.com/fw... + AzureChinaCloud https://management.core.ch... https://not-supported-serv... http://go.microsoft.com/fw... + + This command gets all environments that are available to Windows PowerShell. + + + + + + + + + + + + + + -------------------------- Example 2: Get an environment by name -------------------------- + + PS C:\> + + PS C:\>Get-AzureEnvironment -Name AzureCloud + Name : AzureCloud + + PublishSettingsFileUrl : http://go.microsoft.com/fwlink/?LinkID=301775 + + ServiceEndpoint : https://management.core.windows.net/ + + ResourceManagerEndpoint : https://management.azure.com/ + + ManagementPortalUrl : http://go.microsoft.com/fwlink/?LinkId=254433 + + ActiveDirectoryEndpoint : https://login.windows.net/ + + ActiveDirectoryCommonTenantId : common + + StorageEndpointSuffix : core.windows.net + + StorageBlobEndpointFormat : {0}://{1}.blob.core.windows.net/ + + StorageQueueEndpointFormat : {0}://{1}.queue.core.windows.net/ + + StorageTableEndpointFormat : {0}://{1}.table.core.windows.net/ + + GalleryEndpoint : https://gallery.azure.com/ + + This example gets the AzureCloud environment. + + + + + + + + + + + + + + -------------------------- Example 3: Get all properties of all environments -------------------------- + + PS C:\> + + PS C:\>Get-AzureEnvironment | ForEach-Object {Get-AzureEnvironment -Name $_.EnvironmentName} + + This command gets all properties of all environments. + + + The command uses the Get-AzureEnvironment cmdlet to get all Azure environments for this account. Then, it uses the Foreach-Object cmdlet to run a Get-AzureEnvironment command with the Name parameter on each environment. The value of the Name parameter is the EnvironmentName property of each environment.Without parameters, Get-AzureEnvironment gets only selected properties of an environment. + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397621 + + + Add-AzureAccount + + + + Add-AzureEnvironment + + + + Get-AzurePublishSettingsFile + + + + Import-AzurePublishSettingsFile + + + + Remove-AzureEnvironment + + + + Set-AzureEnvironment + + + + + + + + Get-AzurePublishSettingsFile + + Downloads the publish settings file for an Azure subscription. + + + + + Get + AzurePublishSettingsFile + + + + This is the Description section + The Get-AzurePublishSettingsFile cmdlet downloads a publish settings file for a subscription in your account. When the command completes, you can use the Import-PublishSettingsFile cmdlet to make the settings in the file available to Windows PowerShell.To make your Azure account available to Windows PowerShell, you can use a publish settings file or the Add-AzureAccount cmdlet. Publish settings files let you prepare the session in advance so you can run scripts and background jobs unattended. However, not all services support publish settings files. For example, the AzureResourceManager module does not support publish settings files.When you run Get-AzurePublishSettingsFile, it opens your default browser and prompts you to sign into your Azure account, select a subscription, and select a file system location for the publish settings file. Then, it downloads the publish settings file for your subscription into the file that you selected.A "publish settings file" is an XML file with a .publishsettings file name extension. The file contains an encoded certificate that provides management credentials for your Azure subscriptions.Security Note: Publish settings files contains credentials that are used to administer your Azure subscriptions and services. If malicious users access your publish settings file, they can edit, create, and delete your Azure services. As a security best practice, save the file to a location in your Downloads or Documents folder and then delete it after using Import-AzurePublishSettingsFile cmdlet to import the settings. + + + + Get-AzurePublishSettingsFile + + Environment + + Specifies an Azure environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx). + + String + + + Realm + + Specifies the organization in an organizational ID. For example, if you sign into Azure as admin@contoso.com, the value of the Realm parameter is contoso.com. Use this parameter when you use an organizational ID to sign into the Azure portal. This parameter is not required when you use a Microsoft account, such as an outlook.com or live.com account. + + String + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. The PassThru parameter is typically used in conditional statements in functions and scripts. + + SwitchParameter + + + Profile + + The Profile to retrieve the PublishSettings download endpoint from. If not specified, gets the PublishSettings download endpoint from the default (on disk) profile. + + AzureProfile + + + + + + Environment + + Specifies an Azure environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx). + + String + + String + + + + + + Realm + + Specifies the organization in an organizational ID. For example, if you sign into Azure as admin@contoso.com, the value of the Realm parameter is contoso.com. Use this parameter when you use an organizational ID to sign into the Azure portal. This parameter is not required when you use a Microsoft account, such as an outlook.com or live.com account. + + String + + String + + + + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. The PassThru parameter is typically used in conditional statements in functions and scripts. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to retrieve the PublishSettings download endpoint from. If not specified, gets the PublishSettings download endpoint from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or System.Boolean + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Download a publish settings file -------------------------- + + PS C:\> + + PS C:\>Get-AzurePublishSettingsFile + + This command opens your default browser, connects to your Microsoft Azure account, and then downloads the .publishsettings file for your account. + + + + + + + + + + + + + + -------------------------- Example 2: Specify a realm -------------------------- + + PS C:\> + + PS C:\>Get-AzurePublishSettingsFile -Realm contoso.com -Passthru + + This command downloads the publish settings file for an account in the contoso.com domain. Use a command with the Realm parameter when you sign into Azure with an organizational account, instead of a Microsoft account. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397622 + + + Add-AzureAccount + + + + Import-AzurePublishSettingsFile + + + + + + + + Get-AzureSubscription + + Gets Azure subscriptions in Azure account. + + + + + Get + AzureSubscription + + + + This is the Description section + The Get-AzureSubscription cmdlet gets the subscriptions in your Azure account. You can use this cmdlet to get information about the subscription and to pipe the subscription to other cmdlets.Get-AzureSubscription requires access to your Azure accounts. Before you run Get-AzureSubscription, you must run the Add-AzureAccount cmdlet or the cmdlets that download and install a publish settings file (Get-AzurePublishSettingsFile, Import-AzurePublishSettingsFile. + + + + Get-AzureSubscription + + SubscriptionName + + Gets only the specified subscription. Enter the subscription name. The value is case-sensitive. Wildcard characters are not supported. By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. + + String + + + ExtendedDetails + + Returns quota information for the subscription, in addition to the standard settings. + + SwitchParameter + + + Profile + + The Profile to get subscriptions from. If not specified, gets subscriptions from the default (on disk) profile. + + AzureProfile + + + + Get-AzureSubscription + + SubscriptionId + + Gets only the specified subscription. Enter the subscription Id. By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. + + String + + + ExtendedDetails + + Returns quota information for the subscription, in addition to the standard settings. + + SwitchParameter + + + Profile + + The Profile to get subscriptions from. If not specified, gets subscriptions from the default (on disk) profile. + + AzureProfile + + + + Get-AzureSubscription + + Default + + Gets only the default subscription, that is, the subscription designated as "default." By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. To designate a subscription as "default," use the Default parameter of the Select-AzureSubscription cmdlet. + + SwitchParameter + + + ExtendedDetails + + Returns quota information for the subscription, in addition to the standard settings. + + SwitchParameter + + + Profile + + The Profile to get subscriptions from. If not specified, gets subscriptions from the default (on disk) profile. + + AzureProfile + + + + Get-AzureSubscription + + Current + + Gets only the current subscription, that is, the subscription designated as "current." By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. To designate a subscription as "current," use the Current parameter of the Select-AzureSubscription cmdlet. + + SwitchParameter + + + ExtendedDetails + + Returns quota information for the subscription, in addition to the standard settings. + + SwitchParameter + + + Profile + + The Profile to get subscriptions from. If not specified, gets subscriptions from the default (on disk) profile. + + AzureProfile + + + + + + SubscriptionName + + Gets only the specified subscription. Enter the subscription name. The value is case-sensitive. Wildcard characters are not supported. By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. + + String + + String + + + + + + ExtendedDetails + + Returns quota information for the subscription, in addition to the standard settings. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to get subscriptions from. If not specified, gets subscriptions from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionId + + Gets only the specified subscription. Enter the subscription Id. By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. + + String + + String + + + + + + Default + + Gets only the default subscription, that is, the subscription designated as "default." By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. To designate a subscription as "default," use the Default parameter of the Select-AzureSubscription cmdlet. + + SwitchParameter + + SwitchParameter + + + + + + Current + + Gets only the current subscription, that is, the subscription designated as "current." By default, Get-AzureSubscription gets all subscriptions in your Azure accounts. To designate a subscription as "current," use the Current parameter of the Select-AzureSubscription cmdlet. + + SwitchParameter + + SwitchParameter + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + Microsoft.WindowsAzure.Commands.Utilities.Common.AzureSubscription + + + + + + + + + + + + + + + Get-AzureSubscription gets data from the subscription data file that the Add-AzureAccount and Import-PublishSettingsFile cmdlets create. + + + + + -------------------------- Example 1: Get all subscriptions -------------------------- + + PS C:\> + + PS C:\> C:\PS>Get-AzureSubscription + + This command gets all subscriptions in the account. + + + + + + + + + + + + + + -------------------------- Example 2: Get a subscription by name -------------------------- + + PS C:\> + + PS C:\> C:\PS>Get-AzureSubscription –SubscriptionName "MyProdSubscription" + + This command gets only the "MyProdSubsciption" subscription. + + + + + + + + + + + + + + -------------------------- Example 3: Get the default subscription -------------------------- + + PS C:\> + + PS C:\> C:\PS>(Get-AzureSubscription -Default).SubscriptionName + + This command gets only the name of the default subscription. The command first gets the subscription and then uses the dot method to get the SubscriptionName property of the subscription. + + + + + + + + + + + + + + -------------------------- Example 4: Get selected subscription properties -------------------------- + + PS C:\> + + PS C:\> C:\PS>Get-AzureSubscription -Current | Format-List -Property SubscriptionName, Certificate + + This command returns a list with the name and certificate of the current subscription. It uses a Get-AzureSubscription command to get the current subscription. Then it pipes the subscription to a Format-List command that displays the selected properties in a list. + + + + + + + + + + + + + + -------------------------- Example 5: Use an alternate subscription data file -------------------------- + + PS C:\> + + PS C:\> C:\PS>Get-AzureSubscription -SubscriptionDataFile "C:\Temp\MySubscriptions.xml" + + This command gets subscriptions from the C:\Temp\MySubscriptions.xml subscription data file. Use the SubscriptionDataFile parameter if you specified an alternate subscription data file when you ran the Add-AzureAccount or Import-PublishSettingsFile cmdlets. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397623 + + + Add-AzureAccount + + + + Get-AzurePublishSettingsFile + + + + Import-AzurePublishSettingsFile + + + + Remove-AzureSubscription + + + + Set-AzureSubscription + + + + + + + + Import-AzurePublishSettingsFile + + Imports a publish settings file that lets you manage your Azure accounts in Windows PowerShell. + + + + + Import + AzurePublishSettingsFile + + + + This is the Description section + The Import-AzurePublishSettingsFile cmdlet imports a publish settings file (*.publishsettings) that contains information about your Azure accounts and saves a subscription data file on your computer. When the cmdlet completes, you can manage your Azure accounts in Windows PowerShell.Before running Import-AzurePublishSettingsFile, run Get-AzurePublishSettingsFile, which downloads and saves the publish settings file so you can import it.To make your Azure account available to Windows PowerShell, you can use a publish settings file or the Add-AzureAccount cmdlet. Publish settings files let you prepare the session in advance so you can run scripts and background jobs unattended. However, not all services support publish settings files. For example, the AzureResourceManager module does not support publish settings files.Security Note: Publish settings files contain a management certificate that is encoded, but not encrypted. If malicious users access your publish settings file, they might be able to edit, create, and delete your Azure services. As a security best practice, save the file to a location in your Downloads or Documents folder and then delete it after using Import-AzurePublishSettingsFile cmdlet to import the settings. + + + + Import-AzurePublishSettingsFile + + PublishSettingsFile + + Specifies the full path and filename of the publish settings file. This should match the file location that you entered when prompted by Get-AzurePublishSettingsFile. + + String + + + Environment + + Specifies the environment to use. This parameter is optional. If it is not provided, an environment will be chosen according to the endpoint in the publish settings file. + + String + + + Profile + + The Profile to add certificates and subscriptions to. If not specified, adds certificates and subscriptions to the default (on disk) profile. + + AzureProfile + + + + + + PublishSettingsFile + + Specifies the full path and filename of the publish settings file. This should match the file location that you entered when prompted by Get-AzurePublishSettingsFile. + + String + + String + + + + + + Environment + + Specifies the environment to use. This parameter is optional. If it is not provided, an environment will be chosen according to the endpoint in the publish settings file. + + String + + String + + + + + + Profile + + The Profile to add certificates and subscriptions to. If not specified, adds certificates and subscriptions to the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None + + + + + + + + + + + + + + + A "publish settings file" is an XML file with a .publishsettings file name extension. The file contains an encoded certificate that provides management credentials for your Azure subscriptions. After you import this file, delete it to avoid security risks. + + + + + -------------------------- Example 1 -------------------------- + + PS C:\> + + PS C:\>Import-AzurePublishSettingsFile –PublishSettingsFile C:\Temp\MyAccount.publishsettings + + This command imports the "C:\Temp\MyAccount.publishsettings" file. + + + + + + + + + + + + + + -------------------------- Example 2 -------------------------- + + PS C:\> + + PS C:\>Import-AzurePublishSettingsFile –PublishSettingsFile C:\Temp\MyAccount.publishsettings –SubscriptionDataFile C:\Subs\Subscriptions.xml + + This command imports the "C:\Temp\MyAccountName-date-credentials.publishsettings" file and then saves the subscription data file in C:\Subs\Subscriptions.xml. + + + When you use the SubscriptionDataFile parameter to save your subscription data file in an alternate location, be sure to use the SubscriptionDataFile parameter of cmdlets that use subscription data file, such as Select-AzureSubscription and Remove-AzureAccount. + + + + + + + + + + + -------------------------- Example 3 -------------------------- + + PS C:\> + + PS C:\>Import-AzurePublishSettingsFile –PublishSettingsFile C:\Temp\MyAccount.publishsettings -Environment AzureChinaCloud + + This command imports the "C:\Temp\MyAccount.publishsettings" file and sets the Azure environment of all imported subscriptions to be AzureChinaCloud. This will overwrite the endpoints defined in the publish settings file. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397624 + + + How to Install and Configure Azure PowerShell + + + + Add-AzureAccount + + + + Get-AzurePublishSettingsFile + + + + + + + + New-AzureProfile + + Create a new credential profile for Microsoft Azure PowerShell cmdlets in the current PowerShell session. + + + + + New + AzureProfile + + + + Create a new credential profile for Microsoft Azure PowerShell cmdlets in the current PowerShell session. A credential Profile is a container for the environments, accounts, and subscriptions used to authenticate Microsoft Azure PowerShell cmdlets with Microsoft Azure endpoints. A profile created with tis command can be passed as a parameter to any Microsoft Azure PowerShell cmdlet and the cmdlet will use the passed in profile for authentication. You can also use Select-AzureProfile to select a profile for use by all cmdlets in the current PowerrShell session. This enables using different credential sets in different PowerShell sessions independently. + The cmdlet can initialize the created profile with a default subscription and the associated credentials. You can create a default subscription in the profile using a certificate, Azure ActiveDirectory Organization ID credewntials, Azure active directory Service Principal credentials, or an Azure Access Directory access token you acquire outside of PowerShell. + + + + New-AzureProfile + + Environment + + Sets the AzureEnvironment for the default subscription in the created AzureProfile. + + AzureEnvironment + + + SubscriptionId + + The Id of the default subscription for this profile. + + String + + + StorageAccount + + The default storage account for the default subscription in the created Profile. + + String + + + AccessToken + + The authorization token used to authenticate the default subscription in this Profile. + + String + + + AccountId + + The Account name associated with the AccessToken for the default subscription in this Profile. + + String + + + + New-AzureProfile + + Environment + + Sets the AzureEnvironment for the default subscription in the created AzureProfile. + + AzureEnvironment + + + SubscriptionId + + The Id of the default subscription for this profile. + + String + + + StorageAccount + + The default storage account for the default subscription in the created Profile. + + String + + + Credential + + Azure Organization ID credentials for authenticating the default subscription in this Profile. + + PSCredential + + + Tenant + + The Tenant Id for the default subscription in this Profile. + + String + + + ServicePrincipal + + The ServicePrincipal Credential used to authenticate the default subscription in this Profile. + + SwitchParameter + + + + New-AzureProfile + + Environment + + Sets the AzureEnvironment for the default subscription in the created AzureProfile. + + AzureEnvironment + + + SubscriptionId + + The Id of the default subscription for this profile. + + String + + + StorageAccount + + The default storage account for the default subscription in the created Profile. + + String + + + Credential + + Azure Organization ID credentials for authenticating the default subscription in this Profile. + + PSCredential + + + Tenant + + The Tenant Id for the default subscription in this Profile. + + String + + + + New-AzureProfile + + Environment + + Sets the AzureEnvironment for the default subscription in the created AzureProfile. + + AzureEnvironment + + + SubscriptionId + + The Id of the default subscription for this profile. + + String + + + StorageAccount + + The default storage account for the default subscription in the created Profile. + + String + + + Certificate + + The certificate used to authenticate the default subscription in this Profile. + + X509Certificate2 + + + + New-AzureProfile + + Path + + The fully-qualified path to an AzureProfile saved on disk. + + String + + + + New-AzureProfile + + Properties + + A hash table containing details about the default subscription for this profile. The Hash keys and values may include: + SubscriptionId + [string]: The subscription ID for the default subscription in this Profile. + Certificate + [X509Certificate2]: The certificate credentials for the default subscription in this Profile. + Username + [string]: The user name associated with the default subscription for this Profile. Used to acquire an Azure Active Directory User credential. + Password + [string]: The password associated with the default subscription for the Profile. Used to acquire an Azure Active Directory User or Service credential. + ServicePrincipal + [string]: The SPN associated with the default subscription for this Profile. Used to acquire an Azure Active Directory Service credential. + Tenant + [string]: The tenant associated with the default subscription for this Profile. Used to acquire an Azure Active Directory Service credential. + AccountId + [string]: The user name associated with the default subscription for this Profile. Used to create a credential when access token is also specified. + Token + [string]: The access token associated with the default subscription for this Profile. Used to create a credential when AccountId is also specified. + Environment + [string]: The name of the environment associated with the default subscription for this Profile. Defaults to 'AzureCloud' if not specified. + StorageAccount + [string]: The name of the default storage account associated with the default subscription for this Profile. + + Hashtable + + + + + + Environment + + Sets the AzureEnvironment for the default subscription in the created AzureProfile. + + AzureEnvironment + + AzureEnvironment + + + AzureCloud + + + SubscriptionId + + The Id of the default subscription for this profile. + + String + + String + + + + + + StorageAccount + + The default storage account for the default subscription in the created Profile. + + String + + String + + + + + + AccessToken + + The authorization token used to authenticate the default subscription in this Profile. + + String + + String + + + + + + AccountId + + The Account name associated with the AccessToken for the default subscription in this Profile. + + String + + String + + + + + + Credential + + Azure Organization ID credentials for authenticating the default subscription in this Profile. + + PSCredential + + PSCredential + + + + + + Tenant + + The Tenant Id for the default subscription in this Profile. + + String + + String + + + + + + ServicePrincipal + + The ServicePrincipal Credential used to authenticate the default subscription in this Profile. + + SwitchParameter + + SwitchParameter + + + + + + Certificate + + The certificate used to authenticate the default subscription in this Profile. + + X509Certificate2 + + X509Certificate2 + + + + + + Path + + The fully-qualified path to an AzureProfile saved on disk. + + String + + String + + + + + + Properties + + A hash table containing details about the default subscription for this profile. The Hash keys and values may include: + SubscriptionId + [string]: The subscription ID for the default subscription in this Profile. + Certificate + [X509Certificate2]: The certificate credentials for the default subscription in this Profile. + Username + [string]: The user name associated with the default subscription for this Profile. Used to acquire an Azure Active Directory User credential. + Password + [string]: The password associated with the default subscription for the Profile. Used to acquire an Azure Active Directory User or Service credential. + ServicePrincipal + [string]: The SPN associated with the default subscription for this Profile. Used to acquire an Azure Active Directory Service credential. + Tenant + [string]: The tenant associated with the default subscription for this Profile. Used to acquire an Azure Active Directory Service credential. + AccountId + [string]: The user name associated with the default subscription for this Profile. Used to create a credential when access token is also specified. + Token + [string]: The access token associated with the default subscription for this Profile. Used to create a credential when AccountId is also specified. + Environment + [string]: The name of the environment associated with the default subscription for this Profile. Defaults to 'AzureCloud' if not specified. + StorageAccount + [string]: The name of the default storage account associated with the default subscription for this Profile. + + Hashtable + + Hashtable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -------------------------- Create a new empty profile for the current session -------------------------- + + PS C:\> + + > Select-AzureProfile -Profile $(New-AzureProfile) +> Add-AzureAccount +> Get-AzureVM + + This creates a new empty profile and makes this profile active for the current Azure PowerShell session. Any commands executed in the current PowerShell window will use this in-memory Profile rather than the default profile on disk. + In the example above, the Add-AzureAccount cmdlet adds a subscription to the in-memory profile, and the Get-AzureVM command lists the VMs for this subscription. The added subscription is only visible in the current session, another PowerShell window could use a separate in-memory profile at the same time. When the PowerShell window is closed, the subscription and associated credentials are discarded. + + + + + + + + + + + + + + -------------------------- Create and use multiple profiles in a session -------------------------- + + PS C:\> + + > $profile1 = New-AzureProfile -SubscriptionId <subscription1> -Credential $(Get-Credential) +> $profile2 = New-AzureProfile -SubscriptionId <subscription2> -Credential $(Get-Credential) +> Get-AzureVM -Profile $profile1 +> Get-AzureVM -Profile $profile2 + + This example creates 2 profiles containing different default subscriptions. The VMs for each subscription are listed by passing in the profile on the command line. + Using this pattern, management actions can be easily executed using multiple subscriptions and mutliple sets of credentials within the same PowerShell session. + + + + + + + + + + + + + + + + Select-AzureProfile + + + + Clear-AzureProfile + + + + + + + + Remove-AzureAccount + + Deletes an Azure account from Windows PowerShell. + + + + + Remove + AzureAccount + + + + The Remove-AzureAccount cmdlet deletes an Azure account and its subscriptions from the subscription data file in your roaming user profile. It does not delete the account from Microsoft Azure, or change the actual account in any way. + Using this cmdlet is a lot like logging out of your Azure account. And, if you want to log into the account again, use the Add-AzureAccount or Import-AzurePublishSettingsFile to add the account to Windows PowerShell again. + You can also use Remove-AzureAccount cmdlet to change the way the Azure PowerShell cmdlets sign into your Azure account. If your account has both a management certificate from Import-AzurePublishSettingsFile and an access token from Add-AzureAccount, the Azure PowerShell cmdlets use only the access token; they ignore the management certificate. To use the management certificate, run Remove-AzureAccount. When Remove-AzureAccount finds both a management certificate and an access token, it deletes only the access token, instead of deleting the account. The management certificate is still there, so account is still available to Windows PowerShell. + + + + Remove-AzureAccount + + Name + + Specifies the name of the account to remove. The parameter value is case-sensitive. Wildcard characters are not supported. + + String + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureAccount prompts you before removing the account from Windows PowerShell. + + SwitchParameter + + + PassThru + + Returns True ($true) if the operation succeeded and False ($false) if it failed. By default, the cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to remove accounts from. If not specified, removes accounts from the default (on disk) profile. + + AzureProfile + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + + + + + Name + + Specifies the name of the account to remove. The parameter value is case-sensitive. Wildcard characters are not supported. + + String + + String + + + + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureAccount prompts you before removing the account from Windows PowerShell. + + SwitchParameter + + SwitchParameter + + + + + + PassThru + + Returns True ($true) if the operation succeeded and False ($false) if it failed. By default, the cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to remove accounts from. If not specified, removes accounts from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + false + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + false + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or System.Boolean + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Remove an account -------------------------- + + PS C:\> + + PS C:\>Remove-AzureAccount -Name admin@contoso.com + + This command removes the admin@contoso.com from your subscription data file. When the command completes, the account is no longer available to Windows PowerShell. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397625 + + + Add-AzureAccount + + + + Get-AzureAccount + + + + + + + + Remove-AzureEnvironment + + Deletes an Azure environment from Windows PowerShell + + + + + Remove + AzureEnvironment + + + + This is the Description section + The Remove-AzureEnvironment cmdlet deletes an Azure environment from your roaming profile so Windows PowerShell can't find it. This cmdlet does not delete the environment from Microsoft Azure, or change the actual environment in any way.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx). + + + + Remove-AzureEnvironment + + Name + + Specifies the name of the environment to remove. This parameter is required. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureAccount prompts you before removing the account from Windows PowerShell. + + SwitchParameter + + + Profile + + The Profile to remove environments from. If not specified, removes environments from the default (on disk) profile. + + AzureProfile + + + + + + Name + + Specifies the name of the environment to remove. This parameter is required. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureAccount prompts you before removing the account from Windows PowerShell. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to remove environments from. If not specified, removes environments from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or System.Boolean + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Delete an environment -------------------------- + + PS C:\> + + PS C:\>Remove-AzureEnvironment -Name ContosoEnv + + This command deletes the ContosoEnv environment from Windows PowerShell. + + + + + + + + + + + + + + -------------------------- Example 2: Delete multiple environments -------------------------- + + PS C:\> + + PS C:\>Get-AzureEnvironment | Where-Object EnvironmentName -like "Contoso*" | ForEach-Object {Remove-AzureEnvironment -Name $_.EnvironmentName } + + This command deletes environments whose names begin with "Contoso" from Windows PowerShell. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397626 + + + Add-AzureEnvironment + + + + Get-AzureEnvironment + + + + Set-AzureEnvironment + + + + + + + + Remove-AzureSubscription + + Deletes an Azure subscription from Windows PowerShell. + + + + + Remove + AzureSubscription + + + + The Remove-AzureSubscription cmdlet deletes an Azure subscription from your subscription data file so Windows PowerShell can't find it. This cmdlet does not delete the subscription from Microsoft Azure, or change the actual subscription in any way. + + + + Remove-AzureSubscription + + SubscriptionName + + Specifies the subscription name. This parameter is required. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureSubscription prompts you before deleting the subscription. + + SwitchParameter + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to remove subscriptions from. If not specified, removes subscriptions from the default (on disk) profile. + + AzureProfile + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + + + Remove-AzureSubscription + + SubscriptionId + + Specifies the subscription Id. This parameter is required. + + String + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureSubscription prompts you before deleting the subscription. + + SwitchParameter + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to remove subscriptions from. If not specified, removes subscriptions from the default (on disk) profile. + + AzureProfile + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + + + + + SubscriptionName + + Specifies the subscription name. This parameter is required. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + Force + + Suppresses the confirmation prompt. By default, Remove-AzureSubscription prompts you before deleting the subscription. + + SwitchParameter + + SwitchParameter + + + + + + PassThru + + Returns True ($true) if the command succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to remove subscriptions from. If not specified, removes subscriptions from the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + WhatIf + + Shows what would happen if the cmdlet runs. The cmdlet is not run. + + SwitchParameter + + SwitchParameter + + + false + + + Confirm + + Prompts you for confirmation before running the cmdlet. + + SwitchParameter + + SwitchParameter + + + false + + + SubscriptionId + + Specifies the subscription Id. This parameter is required. + + String + + String + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or System.Boolean + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Delete a subscription -------------------------- + + PS C:\> + + PS C:\> C:\PS> Remove-AzureSubscription -SubscriptionName Test + + Confirm + Are you sure you want to perform this action? + [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): + + This command deletes the "Test" subscription from the default subscription data file. + + + + + + + + + + + + + + -------------------------- Example 2: Delete from an alternate subscription data file -------------------------- + + PS C:\> + + PS C:\> C:\PS> Remove-AzureSubscription -SubscriptionName Test -SubscriptionDataFile C:\Subs\MySubscriptions.xml -Force + + This command deletes the Test subscription from the MySubscriptions.xml subscription data file. The command uses the Force parameter to suppress the confirmation prompt. + + + + + + + + + + + + + + -------------------------- Example 3: Delete a subscription in a script -------------------------- + + PS C:\> + + PS C:\> C:\PS> ...if (Remove-AzureSubscription -SubscriptionName Test -PassThru) {...} + + This command uses the Remove-AzureSubscription command in an If statement. It uses the PassThru parameter, which returns a Boolean value, to determine whether the script block in the If statement is executed. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397627 + + + Get-AzureSubscription + + + + Select-AzureSubscription + + + + Set-AzureSubscription + + + + + + + + Select-AzureProfile + + Select the active profile for the current PowerShell session. + + + + + Select + AzureProfile + + + + Select the active profile for the current PowerShell session. A Profile is a container for subscriptions and associated credentials used to authenticate Microsoft Azure PowerShell cmdlets with Microsoft Azure services. + Any cmdlets executed in the current session will use the selected Profile until the window is closed or another Select-AzureProfile cmdlet is executed. + + + + Select-AzureProfile + + Profile + + The profile to select as the active Profile for the session. All cmdlets subsequently executed in the session will use the subscriptions contained in this Profile for authenticating with Microsoft Azure + + AzureProfile + + + + Select-AzureProfile + + Default + + Select the default on-disk profile as the active profile for the session. All subsequent cmdlets executed in the session will use the default on-disk Profile + + SwitchParameter + + + + + + Profile + + The profile to select as the active Profile for the session. All cmdlets subsequently executed in the session will use the subscriptions contained in this Profile for authenticating with Microsoft Azure + + AzureProfile + + AzureProfile + + + + + + Default + + Select the default on-disk profile as the active profile for the session. All subsequent cmdlets executed in the session will use the default on-disk Profile + + SwitchParameter + + SwitchParameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select-AzureSubscription + + Changes the current and default Azure subscriptions + + + + + Select + AzureSubscription + + + + The Select-AzureSubscription cmdlet sets and clears the current and default Azure subscriptions. + The "current subscription" is the subscription that is used by default in the current Windows PowerShell session. The "default subscription" is used by default in all Windows PowerShell sessions. The "current subscription" label lets you specify a different subscription to be used by default for the current session without changing the "default subscription" for all other sessions. + The "default" subscription designation is saved in your subscription data file. The session-specific "current" designation is not saved. + + + + Select-AzureSubscription + + SubscriptionName + + Specifies the subscription to change. Enter the subscription name. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Current + + Sets the "current" subscription. Use the SubscriptionName parameter to identify the subscription.The "current subscription" is the subscription that is used by default in the current Windows PowerShell session. + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + Select-AzureSubscription + + SubscriptionName + + Specifies the subscription to change. Enter the subscription name. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Default + + Sets the "default" subscription. Use the SubscriptionName parameter to identify the subscription.The "default subscription" is the subscription that is used by default in the all Windows PowerShell sessions, unless a different subscription is set to "current". + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + Select-AzureSubscription + + SubscriptionId + + Specifies the subscription Id to change. Enter the subscription Id. + + String + + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Current + + Sets the "current" subscription. Use the SubscriptionName parameter to identify the subscription.The "current subscription" is the subscription that is used by default in the current Windows PowerShell session. + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + Select-AzureSubscription + + SubscriptionId + + Specifies the subscription Id to change. Enter the subscription Id. + + String + + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + Default + + Sets the "default" subscription. Use the SubscriptionName parameter to identify the subscription.The "default subscription" is the subscription that is used by default in the all Windows PowerShell sessions, unless a different subscription is set to "current". + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + Select-AzureSubscription + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + NoCurrent + + Clears the "current" subscription setting. When no subscription is set to "current," the Azure PowerShell cmdlets use the default subscription. + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + Select-AzureSubscription + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + NoDefault + + Clears the "default" subscription setting. If there is no default subscription, the current subscription is used by default. When there is no current or default subscription, and you do not identify a subscription, commands that require a subscription fail. + + SwitchParameter + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + + + + + SubscriptionName + + Specifies the subscription to change. Enter the subscription name. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + Account + + Specifies optionally the account to use with the subscription. This parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + Current + + Sets the "current" subscription. Use the SubscriptionName parameter to identify the subscription.The "current subscription" is the subscription that is used by default in the current Windows PowerShell session. + + SwitchParameter + + SwitchParameter + + + + + + PassThru + + Returns True ($true) when the operation succeeds and False ($false) when it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to select the default subscription in. The default subscription in a profile is the subscription that is used when that profile is active in the current session. If not specified, selects the default subscription in the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + Default + + Sets the "default" subscription. Use the SubscriptionName parameter to identify the subscription.The "default subscription" is the subscription that is used by default in the all Windows PowerShell sessions, unless a different subscription is set to "current". + + SwitchParameter + + SwitchParameter + + + + + + SubscriptionId + + Specifies the subscription Id to change. Enter the subscription Id. + + String + + String + + + + + + NoCurrent + + Clears the "current" subscription setting. When no subscription is set to "current," the Azure PowerShell cmdlets use the default subscription. + + SwitchParameter + + SwitchParameter + + + + + + NoDefault + + Clears the "default" subscription setting. If there is no default subscription, the current subscription is used by default. When there is no current or default subscription, and you do not identify a subscription, commands that require a subscription fail. + + SwitchParameter + + SwitchParameter + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or AzureSubscription if PassThru + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Set the current subscription -------------------------- + + PS C:\> + + PS C:\> C:\PS> Select-AzureSubscription -Current -SubscriptionName ContosoEngineering + + This command makes "ContosoEngineering" the current subscription. + + + + + + + + + + + + + + -------------------------- Example 2: Set the current subscription with account -------------------------- + + PS C:\> + + PS C:\> C:\PS> Select-AzureSubscription -Current -SubscriptionName ContosoEngineering -Account user@mail.contoso.com + + This command makes "ContosoEngineering" the current subscription and user@mail.contoso.com the current user. + + + + + + + + + + + + + + -------------------------- Example 3: Set the default description -------------------------- + + PS C:\> + + PS C:\> C:\PS> Select-AzureSubscription -Default -SubscriptionName ContosoFinance -SubscriptionDataFile "C:\subs\MySubscriptions.xml" + + This command changes the default subscription to "ContosoFinance." It saves the setting in the Subscriptions.xml subscription data file, instead of the default subscription data file. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397628 + + + Get-AzureSubscription + + + + Remove-AzureSubscription + + + + Set-AzureSubscription + + + + + + + + Set-AzureEnvironment + + Changes the properties of an Azure environment + + + + + Set + AzureEnvironment + + + + This is the Description section + The Set-AzureEnvironment cmdlet changes the properties of an Azure environment. It returns an object that represents the environment with its new property values. Use the Name parameter to identify the environment and the other parameters to change property values. You cannot use Set-AzureEnvironment to change the name of an Azure environment.An Azure environment an independent deployment of Microsoft Azure, such as AzureCloud for global Azure and AzureChinaCloud for Azure operated by 21Vianet in China. You can also create on-premises Azure environments by using Azure Pack and the WAPack cmdlets. For more information, see Azure Pack (http://www.microsoft.com/en-us/server-cloud/products/windows-azure-pack/default.aspx).NOTE: Do not change the properties of the AzureCloud or AzureChinaCloud environments. Use this cmdlet to change the values of private environments that you create. + + + + Set-AzureEnvironment + + Name + + Identifies the environment that is being changed. This parameter is required. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + + PublishSettingsFileUrl + + Changes the URL for publish settings files in the specified environment. An Azure publish settings file is an XML file that contains information about your account and a management certificate that allows Windows PowerShell to sign into your Azure account on your behalf. + + String + + + ServiceEndpoint + + Changes the URL of the Azure service endpoint in the specified environment. The Azure service endpoint determines whether your application is managed by the global Azure platform, Azure operated by 21Vianet in China, or a private Azure installation. + + String + + + ManagementPortalUrl + + Changes the URL of the Azure Management Portal to the specified value. + + String + + + StorageEndpoint + + Changes the default endpoint of storage services in the specified environment. + + String + + + ActiveDirectoryEndpoint + + Changes the endpoint for Azure Active Directory authentication to the specified value. + + String + + + ResourceManagerEndpoint + + Changes the endpoint for Azure Resource Manager data, including data about resource groups associated with the account. For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + + GalleryEndpoint + + Changes the endpoint for the Azure Resource Manager gallery to the specified value. The gallery endpoint is the location for resource group gallery templates. + + String + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the resource ID of a management API whose access is managed by Azure Active Directory. + + String + + + GraphEndpoint + + Changes the endpoint for Azure Active Directory Graph API to the specified value. + + String + + + AzureKeyVaultDnsSuffix + + The dns suffix used by KeyValut endpoints in the environment. + + String + + + AzureKeyVaultServiceEndpointResourceId + + The audience used when acquiring tokens for use with the KeyValut service in this environment. + + String + + + Profile + + The Profile to set environment details in. If not specified, sets environment details in the default (on disk) profile. + + AzureProfile + + + + + + Name + + Identifies the environment that is being changed. This parameter is required. The parameter value is case-sensitive. Wildcard characters are not permitted. + + String + + String + + + + + + PublishSettingsFileUrl + + Changes the URL for publish settings files in the specified environment. An Azure publish settings file is an XML file that contains information about your account and a management certificate that allows Windows PowerShell to sign into your Azure account on your behalf. + + String + + String + + + + + + ServiceEndpoint + + Changes the URL of the Azure service endpoint in the specified environment. The Azure service endpoint determines whether your application is managed by the global Azure platform, Azure operated by 21Vianet in China, or a private Azure installation. + + String + + String + + + + + + ManagementPortalUrl + + Changes the URL of the Azure Management Portal to the specified value. + + String + + String + + + + + + StorageEndpoint + + Changes the default endpoint of storage services in the specified environment. + + String + + String + + + + + + ActiveDirectoryEndpoint + + Changes the endpoint for Azure Active Directory authentication to the specified value. + + String + + String + + + + + + ResourceManagerEndpoint + + Changes the endpoint for Azure Resource Manager data, including data about resource groups associated with the account. For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + String + + + + + + GalleryEndpoint + + Changes the endpoint for the Azure Resource Manager gallery to the specified value. The gallery endpoint is the location for resource group gallery templates. + + String + + String + + + + + + ActiveDirectoryServiceEndpointResourceId + + Specifies the resource ID of a management API whose access is managed by Azure Active Directory. + + String + + String + + + + + + GraphEndpoint + + Changes the endpoint for Azure Active Directory Graph API to the specified value. + + String + + String + + + + + + AzureKeyVaultDnsSuffix + + The dns suffix used by KeyValut endpoints in the environment. + + String + + String + + + + + + AzureKeyVaultServiceEndpointResourceId + + The audience used when acquiring tokens for use with the KeyValut service in this environment. + + String + + String + + + + + + Profile + + The Profile to set environment details in. If not specified, sets environment details in the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + Microsoft.WindowsAzure.Commands.Utilities.Common.WindowsAzureEnvironment + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Change environment properties -------------------------- + + PS C:\> + + PS C:\>Set-AzureEnvironment -Name ContosoEnv -PublishSettingsFileUrl "https://contoso.com" -StorageEndpoint "contoso.com" -GraphEndpoint "https://contoso.com/fwlink/?LinkID=104" + + This command changes the values of the PublishSettingsFileUrl, StorageEndpoint, and GraphEndpoint properties of the ContosoEnv environment. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397629 + + + Add-AzureEnvironment + + + + Get-AzureEnvironment + + + + Remove-AzureEnvironment + + + + + + + + Set-AzureSubscription + + Creates or changes an Azure subscription + + + + + Set + AzureSubscription + + + + The Set-AzureSubscription cmdlet establishes and changes the properties of an Azure subscription. You can use this cmdlet to create a new subscription or change the properties of an existing subscription. + To create a new subscription, select a unique name for the value of the SubscriptionName parameter. To change an existing subscription, use the SubscriptionName parameter to identify the subscription. + This cmdlet changes the data in the subscription data file that you create when you use the Add-AzureAccount or Import-AzurePublishSettingsFile cmdlet to add an Azure account to Windows PowerShell. + + + + Set-AzureSubscription + + SubscriptionName + + Specifies the subscription name. If an Azure subscription with this name does not exist, this parameter creates a new subscription with the specified name. If the subscription exists, this parameter identifies the subscription and uses the other property values to change it.To get the names of existing Azure subscriptions, use the Get-AzureSubscription cmdlet. + + String + + + SubscriptionId + + Specifies the ID of the subscription. To get the subscription ID of an existing Azure subscription, use the Get-AzureSubscription cmdlet. + + String + + + Certificate + + Specifies a management certificate for the subscription. Management certificates are X.509 certificates that are saved as .cer files and uploaded to the Azure Management Portal. The certificate, including its private key, must be installed on the local computer, either in the current user's personal certificate store, or the local machine’s personal certificate store. + + X509Certificate2 + + + ServiceEndpoint + + Sets or changes the custom service endpoint for the management service to the specified value.The service endpoint is the Azure management API endpoint in the Azure environment. You can create custom service endpoints and set a different service endpoint for each subscription. + + String + + + ResourceManagerEndpoint + + Sets or changes the endpoint for Azure Resource Manager data to the specified value.For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + + CurrentStorageAccountName + + Designates the specified storage account as the "current" storage account for the subscription. Enter the storage account name. The parameter value is case-sensitive. Wildcard characters are not permitted.This parameter does not create a storage account; it just associates the storage account with the subscription. To create a storage account, use the New-AzureStorageAccount cmdlet. + + String + + + Environment + + Specifies the environment name. + + String + + + PassThru + + Returns True ($true) if the operation succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to set subscription details in. If not specified, sets subscription details in the default (on disk) profile. + + AzureProfile + + + + Set-AzureSubscription + + SubscriptionName + + Specifies the subscription name. If an Azure subscription with this name does not exist, this parameter creates a new subscription with the specified name. If the subscription exists, this parameter identifies the subscription and uses the other property values to change it.To get the names of existing Azure subscriptions, use the Get-AzureSubscription cmdlet. + + String + + + Certificate + + Specifies a management certificate for the subscription. Management certificates are X.509 certificates that are saved as .cer files and uploaded to the Azure Management Portal. The certificate, including its private key, must be installed on the local computer, either in the current user's personal certificate store, or the local machine’s personal certificate store. + + X509Certificate2 + + + ServiceEndpoint + + Sets or changes the custom service endpoint for the management service to the specified value.The service endpoint is the Azure management API endpoint in the Azure environment. You can create custom service endpoints and set a different service endpoint for each subscription. + + String + + + ResourceManagerEndpoint + + Sets or changes the endpoint for Azure Resource Manager data to the specified value.For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + + CurrentStorageAccountName + + Designates the specified storage account as the "current" storage account for the subscription. Enter the storage account name. The parameter value is case-sensitive. Wildcard characters are not permitted.This parameter does not create a storage account; it just associates the storage account with the subscription. To create a storage account, use the New-AzureStorageAccount cmdlet. + + String + + + Environment + + Specifies the environment name. + + String + + + PassThru + + Returns True ($true) if the operation succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to set subscription details in. If not specified, sets subscription details in the default (on disk) profile. + + AzureProfile + + + + Set-AzureSubscription + + SubscriptionId + + Specifies the ID of the subscription. To get the subscription ID of an existing Azure subscription, use the Get-AzureSubscription cmdlet. + + String + + + Certificate + + Specifies a management certificate for the subscription. Management certificates are X.509 certificates that are saved as .cer files and uploaded to the Azure Management Portal. The certificate, including its private key, must be installed on the local computer, either in the current user's personal certificate store, or the local machine’s personal certificate store. + + X509Certificate2 + + + ServiceEndpoint + + Sets or changes the custom service endpoint for the management service to the specified value.The service endpoint is the Azure management API endpoint in the Azure environment. You can create custom service endpoints and set a different service endpoint for each subscription. + + String + + + ResourceManagerEndpoint + + Sets or changes the endpoint for Azure Resource Manager data to the specified value.For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + + CurrentStorageAccountName + + Designates the specified storage account as the "current" storage account for the subscription. Enter the storage account name. The parameter value is case-sensitive. Wildcard characters are not permitted.This parameter does not create a storage account; it just associates the storage account with the subscription. To create a storage account, use the New-AzureStorageAccount cmdlet. + + String + + + Environment + + Specifies the environment name. + + String + + + PassThru + + Returns True ($true) if the operation succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + + Profile + + The Profile to set subscription details in. If not specified, sets subscription details in the default (on disk) profile. + + AzureProfile + + + + + + SubscriptionName + + Specifies the subscription name. If an Azure subscription with this name does not exist, this parameter creates a new subscription with the specified name. If the subscription exists, this parameter identifies the subscription and uses the other property values to change it.To get the names of existing Azure subscriptions, use the Get-AzureSubscription cmdlet. + + String + + String + + + + + + SubscriptionId + + Specifies the ID of the subscription. To get the subscription ID of an existing Azure subscription, use the Get-AzureSubscription cmdlet. + + String + + String + + + + + + Certificate + + Specifies a management certificate for the subscription. Management certificates are X.509 certificates that are saved as .cer files and uploaded to the Azure Management Portal. The certificate, including its private key, must be installed on the local computer, either in the current user's personal certificate store, or the local machine’s personal certificate store. + + X509Certificate2 + + X509Certificate2 + + + + + + ServiceEndpoint + + Sets or changes the custom service endpoint for the management service to the specified value.The service endpoint is the Azure management API endpoint in the Azure environment. You can create custom service endpoints and set a different service endpoint for each subscription. + + String + + String + + + + + + ResourceManagerEndpoint + + Sets or changes the endpoint for Azure Resource Manager data to the specified value.For more information about Azure Resource Manager, see Azure Resource Manager Cmdlets (http://go.microsoft.com/fwlink/?LinkID=394765) and Using Windows PowerShell with Resource Manager (http://go.microsoft.com/fwlink/?LinkID=394767). + + String + + String + + + + + + CurrentStorageAccountName + + Designates the specified storage account as the "current" storage account for the subscription. Enter the storage account name. The parameter value is case-sensitive. Wildcard characters are not permitted.This parameter does not create a storage account; it just associates the storage account with the subscription. To create a storage account, use the New-AzureStorageAccount cmdlet. + + String + + String + + + + + + Environment + + Specifies the environment name. + + String + + String + + + + + + PassThru + + Returns True ($true) if the operation succeeds and False ($false) if it fails. By default, this cmdlet does not return any output. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + The Profile to set subscription details in. If not specified, sets subscription details in the default (on disk) profile. + + AzureProfile + + AzureProfile + + + + + + SubscriptionDataFile + + [Deprecated]: The SubscriptionDataFile parameter is deprecated. This parameter will be removed in a future release. See https://github.com/Azure/azure-powershell/wiki/Proposed-Design-Stateless-Azure-Profile for a description of the upcoming mechanism for providing alternate sources of subscription information. Specifies the path to a profile file. This parameter is optional. If it is not provided, default file in the user's profile is used. + + string + + string + + + + + + + + + None + + + + + + + + + + + + + None or System.Boolean + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Create a new subscription -------------------------- + + PS C:\> + + PS C:\>$thumbprint = <Certificate Thumbprint> + PS C:\>$myCert = Get-Item cert:\\CurrentUser\My\$thumbprint + PS C:\>Set-AzureSubscription -SubscriptionName ContosotTest -Certificate $myCert -SubscriptionID 12345 + + These commands create the ContosoTest subscription in the default subscription data file. The commands add a management certificate and subscription ID for the new subscription. + + + When you run the Set-AzureSubscription command, the cmdlet looks for a subscription with the name "ContosoTest". If it doesn't find one, it creates a new subscription with the specified values. + + + + + + + + + + + -------------------------- Example 2: Change an existing subscription -------------------------- + + PS C:\> + + PS C:\> C:\PS> $thumbprint = <Thumbprint-2> + C:\PS> $differentCert = Get-Item cert:\\CurrentUser\My\$thumbprint + C:\PS> Set-AzureSubscription –SubscriptionName ContosoEngineering -Certificate $differentCert + + These commands are very similar to the commands in Example 1. However, because the SubscriptionName parameter now identifies an existing subscription, Set-AzureSubscription uses the remaining parameters to change the values of the existing subscription rather than creating a new subscription + + + + + + + + + + + + + + -------------------------- Example 2: Change the service endpoint -------------------------- + + PS C:\> + + PS C:\> C:\PS> Set-AzureSubscription –SubscriptionName ContosoEngineering -ServiceEndpoint "https://management.core.contoso.com" + + This command adds or changes a custom service endpoint for the ContosoEngineering subscription. + + + + + + + + + + + + + + -------------------------- Example 3: Clear property values -------------------------- + + PS C:\> + + PS C:\> C:\PS> Set-AzureSubscription –SubscriptionName ContosoEngineering –Certificate $null -ResourceManagerEndpoint $null + + This command sets the values of the Certificate and ResourceManagerEndpoint properties to null ($null). This clears the values of those properties without changing other settings. + + + + + + + + + + + + + + -------------------------- Example 4: Use an alternate subscription data file -------------------------- + + PS C:\> + + PS C:\> C:\PS> Set-AzureSubscription -SubscriptionName ContosoFinance -SubscriptionDataFile = C:\Azure\SubscriptionData.xml - CurrentStorageAccount ContosoStorage01 + + This command changes the current storage account of the ContosoFinance subscription to ContosoStorage01. The command uses the SubscriptionDataFile parameter to change the data in the C:\Azure\SubscriptionData.xml subscription data file. By default, Set-AzureSubscription uses the default subscription data file in your roaming user profile. + + + + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=397630 + + + Add-AzureAccount + + + + Get-AzureSubscription + + + + Import-AzurePublishSettingsFile + + + + Remove-AzureSubscription + + + + Select-AzureSubscription + + + + + + + + Switch-AzureMode + + Switches between the Azure and Azure Resource Manager modules + + + + + Switch + AzureMode + + + + This is the Description section + The Switch-AzureMode cmdlet switches between the Azure and Azure Resource Manager (AzureResourceManager) modules. These modules are not designed to be used in the same session. To determine which module is in your current session, use the Get-Module cmdlet.NOTE: The AzureResourceManager module is currently in preview. It might not provide the same management capabilities as the Azure module. Beginning in version 0.8,0, the Azure PowerShell installation includes both Azure modules and Azure Profile, a module of commands common to both modules. When you use the Azure PowerShell cmdlets, the Azure and Azure Profile modules are imported into the session by default. To remove the Azure module from the session and import the Azure Resource Manager module, use Switch-AzureMode. And, to switch back to the Azure module, just use Switch-AzureMode again. The Azure module includes cmdlets that help you to manage your Azure account in the traditional way. The cmdlets get, create, change, and remove individual resources such as storage accounts, virtual machines, SQL databases, web sites, media services, and cloud services.The new Azure Resource Manager module lets you manage your resources in an entirely new way. Instead of creating individual resources and trying to use them together, begin by imagining the service you want to create, such as a web portal, a blog, a photo gallery, a commerce site, or a wiki. Select a resource group template, including one of dozens in the Azure template gallery, or create your own. Each template provides a model of a complex service, complete with the resources that you need to support the service. Then use the template to create a resource group and its resources, and deploy and manage the related resources as a unit.You can use Switch-AzureMode to switch between Azure modules as often as you like. To set an Azure module as the default for all sessions, use the Global parameter when switching between modes. + + + + Switch-AzureMode + + Name + + Switches to the specified module. To switch to the Azure Resource Manager module, type AzureResourceManager. To switch to the Azure module, type AzureServiceManagement. This parameter is required. + + String + + + Global + + Switches all Windows PowerShell session to the specified Azure module. Use this parameter to save your module selection for other sessions. This parameter is optional. By default, the switch affects only the current session.This parameter requires administrator permissions. To use this parameter, start Windows PowerShell with the "Run as administrator" option. + + SwitchParameter + + + Profile + + + + AzureProfile + + + + + + Name + + Switches to the specified module. To switch to the Azure Resource Manager module, type AzureResourceManager. To switch to the Azure module, type AzureServiceManagement. This parameter is required. + + String + + String + + + + + + Global + + Switches all Windows PowerShell session to the specified Azure module. Use this parameter to save your module selection for other sessions. This parameter is optional. By default, the switch affects only the current session.This parameter requires administrator permissions. To use this parameter, start Windows PowerShell with the "Run as administrator" option. + + SwitchParameter + + SwitchParameter + + + + + + Profile + + + + AzureProfile + + AzureProfile + + + + + + + + + None + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + + + -------------------------- Example 1: Switch to the Azure Resource Manager module -------------------------- + + PS C:\> + + PS C:\>Switch-AzureMode -Name AzureResourceManager + PS C:\>Switch-AzureMode -Name AzureServiceManagement + + This command shows you how to switch between modules. The first command uses the Switch-AzureMode cmdlet to switch to the Azure Resource Manager module. The second command uses the Switch-AzureMode cmdlet to switch back to the Azure module. + + + When you import either module, the AzureProfile module, which includes commands common to both modules, including Add-AzureAccount, Get-AzureSubscription, and Switch-AzureMode, is imported, too. + + + + + + + + + + + -------------------------- Example 2: Switch all sessions to the Azure Resource Manager module -------------------------- + + PS C:\> + + PS C:\>Switch-AzureMode -Name AzureResourceManager -Global + + This command uses the Global parameter of Switch-AzureMode to switch all Microsoft Azure PowerShell sessions to the Azure Resource Manager module. If you close this session and open an new one, the Azure Resource Manager module is imported by default. + + + The Global parameter requires administrator permissions. To run this command, start Windows PowerShell with the "Run as administrator" option. + + + + + + + + + + + + + Online Version: + http://go.microsoft.com/fwlink/?LinkID=394398 + + + Azure Resource Manager Cmdlets + + + + Azure Service Management Cmdlets + + + + Azure Profile Cmdlets + + + + + \ No newline at end of file diff --git a/src/ServiceManagement/Profile/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.format.ps1xml b/src/ServiceManagement/Profile/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.format.ps1xml new file mode 100644 index 000000000000..b34dcf874e8b --- /dev/null +++ b/src/ServiceManagement/Profile/Commands.Profile/Microsoft.WindowsAzure.Commands.Profile.format.ps1xml @@ -0,0 +1,48 @@ + + + + + Microsoft.Azure.Common.Authentication.Models.PSAzureAccount + + Microsoft.Azure.Common.Authentication.Models.PSAzureAccount + + + + + + 30 + + + + 10 + + + + + + + + + + + + + + Id + + + Type + + + Subscriptions + + + Tenants + + + + + + + + diff --git a/src/Common/Commands.Profile/Models/AzureProfileSettings.cs b/src/ServiceManagement/Profile/Commands.Profile/Models/AzureProfileSettings.cs similarity index 100% rename from src/Common/Commands.Profile/Models/AzureProfileSettings.cs rename to src/ServiceManagement/Profile/Commands.Profile/Models/AzureProfileSettings.cs diff --git a/src/Common/Commands.Profile/Models/PSAzureEnvironment.cs b/src/ServiceManagement/Profile/Commands.Profile/Models/PSAzureEnvironment.cs similarity index 100% rename from src/Common/Commands.Profile/Models/PSAzureEnvironment.cs rename to src/ServiceManagement/Profile/Commands.Profile/Models/PSAzureEnvironment.cs diff --git a/src/Common/Commands.Profile/Models/PsAzureSubscription.cs b/src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscription.cs similarity index 88% rename from src/Common/Commands.Profile/Models/PsAzureSubscription.cs rename to src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscription.cs index 503df09b8533..54206175abe9 100644 --- a/src/Common/Commands.Profile/Models/PsAzureSubscription.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscription.cs @@ -21,29 +21,35 @@ namespace Microsoft.WindowsAzure.Commands.Profile.Models public class PSAzureSubscription { public PSAzureSubscription() {} - public PSAzureSubscription(AzureSubscription subscription, AzureProfile profile) + public PSAzureSubscription(AzureSubscription subscription, AzureSMProfile profile) { SubscriptionId = subscription.Id.ToString(); SubscriptionName = subscription.Name; Environment = subscription.Environment; - SupportedModes = subscription.GetProperty(AzureSubscription.Property.SupportedModes); DefaultAccount = subscription.Account; Accounts = profile.Accounts.Values.Where(a => a.HasSubscription(subscription.Id)).ToArray(); IsDefault = subscription.IsPropertySet(AzureSubscription.Property.Default); - IsCurrent = profile.Context.Subscription != null && profile.Context.Subscription.Id == subscription.Id; + IsCurrent = profile.Context != null && profile.Context.Subscription.Id == subscription.Id; CurrentStorageAccountName = subscription.GetProperty(AzureSubscription.Property.StorageAccount); TenantId = subscription.GetPropertyAsArray(AzureSubscription.Property.Tenants).FirstOrDefault(); } public string SubscriptionId { get; set; } + public string SubscriptionName { get; set; } + public string Environment { get; set; } - public string SupportedModes { get; set; } + public string DefaultAccount { get; set; } + public AzureAccount[] Accounts { get; set; } + public bool IsDefault { get; set; } + public bool IsCurrent { get; set; } + public string CurrentStorageAccountName { get; set; } + public string TenantId { get; set; } } } diff --git a/src/Common/Commands.Profile/Models/PsAzureSubscriptionExtended.cs b/src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscriptionExtended.cs similarity index 91% rename from src/Common/Commands.Profile/Models/PsAzureSubscriptionExtended.cs rename to src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscriptionExtended.cs index dac56ab51dc5..3352e274c7b9 100644 --- a/src/Common/Commands.Profile/Models/PsAzureSubscriptionExtended.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Models/PsAzureSubscriptionExtended.cs @@ -19,42 +19,69 @@ namespace Microsoft.WindowsAzure.Commands.Profile.Models { public class PSAzureSubscriptionExtended : PSAzureSubscription { - public PSAzureSubscriptionExtended() { } + public PSAzureSubscriptionExtended() + { + + } public PSAzureSubscriptionExtended(PSAzureSubscription subscription) { base.SubscriptionId = subscription.SubscriptionId; base.SubscriptionName = subscription.SubscriptionName; - base.SupportedModes = subscription.SupportedModes; base.Accounts = subscription.Accounts; base.IsDefault = subscription.IsDefault; base.IsCurrent = subscription.IsCurrent; base.TenantId = subscription.TenantId; } + public string ActiveDirectoryUserId { get; set; } + public AzureAccount Account { get; set; } + public X509Certificate2 Certificate { get; set; } + public string AccountAdminLiveEmailId { get; set; } + public int CurrentCoreCount { get; set; } + public int CurrentHostedServices { get; set; } + public int CurrentDnsServers { get; set; } + public int CurrentLocalNetworkSites { get; set; } + public int CurrentVirtualNetworkSites { get; set; } + public int CurrentStorageAccounts { get; set; } + public int MaxCoreCount { get; set; } + public int MaxDnsServers { get; set; } + public int MaxHostedServices { get; set; } + public int MaxLocalNetworkSites { get; set; } + public int MaxVirtualNetworkSites { get; set; } + public int MaxStorageAccounts { get; set; } + public string ServiceAdminLiveEmailId { get; set; } + public string SubscriptionRealName { get; set; } + public string SubscriptionStatus { get; set; } + public string OperationDescription { get; set; } + public string OperationId { get; set; } + public string OperationStatus { get; set; } + public string ServiceEndpoint { get; set; } + public string ResourceManagerEndpoint { get; set; } + public string GalleryEndpoint { get; set; } } -} +} \ No newline at end of file diff --git a/src/Common/Commands.Profile/Profile/ClearAzureProfile.cs b/src/ServiceManagement/Profile/Commands.Profile/Profile/ClearAzureProfile.cs similarity index 98% rename from src/Common/Commands.Profile/Profile/ClearAzureProfile.cs rename to src/ServiceManagement/Profile/Commands.Profile/Profile/ClearAzureProfile.cs index f7e883de7414..b18f14738768 100644 --- a/src/Common/Commands.Profile/Profile/ClearAzureProfile.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Profile/ClearAzureProfile.cs @@ -28,7 +28,7 @@ namespace Microsoft.WindowsAzure.Commands.Profile [Cmdlet(VerbsCommon.Clear, "AzureProfile"), OutputType(typeof(AzureEnvironment))] public class ClearAzureProfileCommand : SubscriptionCmdletBase { - [Parameter(Position = 1, HelpMessage = "Force deletion of AzureProfile without prompt")] + [Parameter(Position = 1, HelpMessage = "Force deletion of AzureSMProfile without prompt")] public SwitchParameter Force { get; set; } public ClearAzureProfileCommand() : base(true) { } diff --git a/src/Common/Commands.Profile/Profile/NewAzureProfile.cs b/src/ServiceManagement/Profile/Commands.Profile/Profile/NewAzureProfile.cs similarity index 94% rename from src/Common/Commands.Profile/Profile/NewAzureProfile.cs rename to src/ServiceManagement/Profile/Commands.Profile/Profile/NewAzureProfile.cs index 9b3312b2979c..970c22394dc1 100644 --- a/src/Common/Commands.Profile/Profile/NewAzureProfile.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Profile/NewAzureProfile.cs @@ -32,8 +32,8 @@ namespace Microsoft.WindowsAzure.Commands.Profile /// /// Creates new Microsoft Azure profile. /// - [Cmdlet(VerbsCommon.New, "AzureProfile"), OutputType(typeof(AzureProfile))] - public class NewAzureProfileCommand : AzurePSCmdlet + [Cmdlet(VerbsCommon.New, "AzureProfile"), OutputType(typeof(AzureSMProfile))] + public class NewAzureProfileCommand : AzureSMCmdlet { internal const string CertificateParameterSet = "Certificate"; internal const string CredentialsParameterSet = "Credentials"; @@ -100,18 +100,18 @@ public class NewAzureProfileCommand : AzurePSCmdlet public Hashtable Properties { get; set; } // do not use the Profile parameter for this cmdlet - private new AzureProfile Profile { get; set; } + private new AzureSMProfile Profile { get; set; } [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] public override void ExecuteCmdlet() { - AzureProfile azureProfile; + AzureSMProfile AzureSMProfile; AzureProfileSettings settings; if (ParameterSetName == PropertyBagParameterSet) { - azureProfile = new AzureProfile(); + AzureSMProfile = new AzureSMProfile(); var actualParameterSet = ParseHashTableParameters(Properties, out settings); - InitializeAzureProfile(azureProfile, actualParameterSet, settings); + InitializeAzureProfile(AzureSMProfile, actualParameterSet, settings); } else if (ParameterSetName == FileParameterSet) { @@ -120,16 +120,16 @@ public override void ExecuteCmdlet() throw new ArgumentException(Resources.InvalidNewProfilePath); } - azureProfile = new AzureProfile(Path); + AzureSMProfile = new AzureSMProfile(Path); } else { - azureProfile = new AzureProfile(); + AzureSMProfile = new AzureSMProfile(); settings = AzureProfileSettings.Create(this); - InitializeAzureProfile(azureProfile, ParameterSetName, settings); + InitializeAzureProfile(AzureSMProfile, ParameterSetName, settings); } - WriteObject(azureProfile); + WriteObject(AzureSMProfile); } protected override void InitializeProfile() @@ -137,7 +137,7 @@ protected override void InitializeProfile() // do not initialize the current profile for this cmdlet } - private void InitializeAzureProfile(AzureProfile profile, string parameterSet, AzureProfileSettings settings) + private void InitializeAzureProfile(AzureSMProfile profile, string parameterSet, AzureProfileSettings settings) { var savedCache = AzureSession.TokenCache; AzureSession.TokenCache = DefaultMemoryTokenCache; diff --git a/src/Common/Commands.Profile/Profile/SelectAzureProfile.cs b/src/ServiceManagement/Profile/Commands.Profile/Profile/SelectAzureProfile.cs similarity index 90% rename from src/Common/Commands.Profile/Profile/SelectAzureProfile.cs rename to src/ServiceManagement/Profile/Commands.Profile/Profile/SelectAzureProfile.cs index a6c302f564af..3954e936ab7b 100644 --- a/src/Common/Commands.Profile/Profile/SelectAzureProfile.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Profile/SelectAzureProfile.cs @@ -32,14 +32,14 @@ namespace Microsoft.WindowsAzure.Commands.Profile /// /// Creates new Microsoft Azure profile. /// - [Cmdlet(VerbsCommon.Select, "AzureProfile"), OutputType(typeof(AzureProfile))] - public class SelectAzureProfileCommand : AzurePSCmdlet + [Cmdlet(VerbsCommon.Select, "AzureProfile"), OutputType(typeof(AzureSMProfile))] + public class SelectAzureProfileCommand : AzureSMCmdlet { internal const string NewProfileParameterSet = "NewProfile"; internal const string DefaultProfileParameterSet = "DefaultProfile"; [Parameter(ParameterSetName=NewProfileParameterSet, Mandatory=true, Position=0, ValueFromPipelineByPropertyName=true)] - public new AzureProfile Profile { get; set; } + public new AzureSMProfile Profile { get; set; } [Parameter(ParameterSetName=DefaultProfileParameterSet, Mandatory=true)] public SwitchParameter Default { get; set; } @@ -54,7 +54,7 @@ public override void ExecuteCmdlet() { if (ParameterSetName == DefaultProfileParameterSet) { - Profile = AzurePSCmdlet.InitializeDefaultProfile(); + Profile = AzureSMCmdlet.InitializeDefaultProfile(); } if (Profile == null) @@ -62,7 +62,7 @@ public override void ExecuteCmdlet() throw new ArgumentException(Resources.AzureProfileMustNotBeNull); } - AzurePSCmdlet.CurrentProfile = Profile; + AzureSMCmdlet.CurrentProfile = Profile; WriteObject(Profile); } } diff --git a/src/ServiceManagement/Profile/Commands.Profile/Properties/AssemblyInfo.cs b/src/ServiceManagement/Profile/Commands.Profile/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..01731f9f8e05 --- /dev/null +++ b/src/ServiceManagement/Profile/Commands.Profile/Properties/AssemblyInfo.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; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 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("Microsoft Azure Powershell")] +[assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)] +[assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)] +[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] + +// 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("03519c3b-67ba-4972-8054-f3cc3279d603")] + +// 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(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyVersion)] +[assembly: AssemblyFileVersion(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyFileVersion)] +#if SIGN +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.CloudService.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.SqlDatabase.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")] +#else +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.Test")] +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.Common.Test")] +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.CloudService.Test")] +[assembly: InternalsVisibleTo("Microsoft.WindowsAzure.Commands.SqlDatabase.Test")] +#endif +[assembly: CLSCompliant(false)] diff --git a/src/Common/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs similarity index 98% rename from src/Common/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs index 3cb69cddae84..92540f3a0340 100644 --- a/src/Common/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzurePublishSettingsFile.cs @@ -48,7 +48,7 @@ public override void ExecuteCmdlet() { AzureEnvironment environment = ProfileClient.GetEnvironmentOrDefault(Environment); string url = environment.GetPublishSettingsFileUrlWithRealm(Realm); - GeneralUtilities.LaunchWebPage(url); + ProcessHelper.Start(url); if (PassThru) { diff --git a/src/Common/Commands.Profile/Subscription/GetAzureSubscription.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzureSubscription.cs similarity index 99% rename from src/Common/Commands.Profile/Subscription/GetAzureSubscription.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzureSubscription.cs index c63ef44e2931..ecb2f8b6fc5c 100644 --- a/src/Common/Commands.Profile/Subscription/GetAzureSubscription.cs +++ b/src/ServiceManagement/Profile/Commands.Profile/Subscription/GetAzureSubscription.cs @@ -29,7 +29,7 @@ namespace Microsoft.WindowsAzure.Commands.Profile { /// /// Implementation of the get-azuresubscription cmdlet that works against - /// the AzureProfile layer. + /// the AzureSMProfile layer. /// [Cmdlet(VerbsCommon.Get, "AzureSubscription", DefaultParameterSetName = "ByName")] [OutputType(typeof(PSAzureSubscription))] diff --git a/src/Common/Commands.Profile/Subscription/ImportAzurePublishSettings.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/ImportAzurePublishSettings.cs similarity index 100% rename from src/Common/Commands.Profile/Subscription/ImportAzurePublishSettings.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/ImportAzurePublishSettings.cs diff --git a/src/Common/Commands.Profile/Subscription/RemoveAzureSubscription.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/RemoveAzureSubscription.cs similarity index 100% rename from src/Common/Commands.Profile/Subscription/RemoveAzureSubscription.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/RemoveAzureSubscription.cs diff --git a/src/Common/Commands.Profile/Subscription/SelectAzureSubscription.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/SelectAzureSubscription.cs similarity index 100% rename from src/Common/Commands.Profile/Subscription/SelectAzureSubscription.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/SelectAzureSubscription.cs diff --git a/src/Common/Commands.Profile/Subscription/SetAzureSubscription.cs b/src/ServiceManagement/Profile/Commands.Profile/Subscription/SetAzureSubscription.cs similarity index 100% rename from src/Common/Commands.Profile/Subscription/SetAzureSubscription.cs rename to src/ServiceManagement/Profile/Commands.Profile/Subscription/SetAzureSubscription.cs diff --git a/src/ServiceManagement/Profile/Commands.Profile/packages.config b/src/ServiceManagement/Profile/Commands.Profile/packages.config new file mode 100644 index 000000000000..7b3702039384 --- /dev/null +++ b/src/ServiceManagement/Profile/Commands.Profile/packages.config @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ServiceManagement/RecoveryServices/Commands.RecoveryServices.Test/Commands.RecoveryServices.Test.csproj b/src/ServiceManagement/RecoveryServices/Commands.RecoveryServices.Test/Commands.RecoveryServices.Test.csproj index 5c134d7da597..83e45b6d707d 100644 --- a/src/ServiceManagement/RecoveryServices/Commands.RecoveryServices.Test/Commands.RecoveryServices.Test.csproj +++ b/src/ServiceManagement/RecoveryServices/Commands.RecoveryServices.Test/Commands.RecoveryServices.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -15,7 +15,7 @@ ..\..\..\ true - a0304d78 + f6a1458e true @@ -39,14 +39,12 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - - ..\..\..\packages\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll @@ -57,10 +55,10 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.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.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -94,10 +92,6 @@ False ..\..\..\packages\Microsoft.Azure.Management.RecoveryServices.0.5.1-preview\lib\net40\Microsoft.WindowsAzure.Management.SiteRecovery.dll - - False - ..\..\..\packages\Hydra.SpecTestSupport.1.0.5417.13285-prerelease\lib\net45\Microsoft.WindowsAzure.Testing.dll - False ..\..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -126,11 +120,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -219,13 +214,9 @@ 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/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.Test/Commands.RemoteApp.Test.csproj b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.Test/Commands.RemoteApp.Test.csproj index 5b2cf07d811b..2d13a319bb23 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp.Test/Commands.RemoteApp.Test.csproj +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp.Test/Commands.RemoteApp.Test.csproj @@ -1,6 +1,6 @@  - + Debug @@ -14,7 +14,7 @@ 512 ..\..\..\ true - 768419a4 + 44c0d39d AnyCPU @@ -59,7 +59,7 @@ - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test @@ -97,15 +97,15 @@ ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll True False ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll True @@ -163,11 +163,12 @@ - False ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True - + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -184,13 +185,9 @@ 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/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/Common/CmdRuntime.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/CmdRuntime.cs index f012be2a8ae3..106d1e4f1a44 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/CmdRuntime.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/CmdRuntime.cs @@ -18,7 +18,7 @@ namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets { - public abstract partial class RdsCmdlet : AzurePSCmdlet + public abstract partial class RdsCmdlet : AzureSMCmdlet { public new void WriteObject(object sendToPipeline) diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/RdsCmdlet.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/RdsCmdlet.cs index 320ec2c65964..337f421b0c9e 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/RdsCmdlet.cs +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Common/RdsCmdlet.cs @@ -48,7 +48,7 @@ public class EnabledFeatures public const string goldImageImport = "GoldImageImport"; } - public abstract partial class RdsCmdlet : AzurePSCmdlet + public abstract partial class RdsCmdlet : AzureSMCmdlet { [ThreadStatic] internal static Job theJob; diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Microsoft.Azure.Commands.RemoteApp.dll-help.xml b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Microsoft.WindowsAzure.Commands.RemoteApp.dll-help.xml similarity index 100% rename from src/ServiceManagement/RemoteApp/Commands.RemoteApp/Microsoft.Azure.Commands.RemoteApp.dll-help.xml rename to src/ServiceManagement/RemoteApp/Commands.RemoteApp/Microsoft.WindowsAzure.Commands.RemoteApp.dll-help.xml 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/Vm/GetAzureRemoteAppVm.cs b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vm/GetAzureRemoteAppVm.cs new file mode 100644 index 000000000000..3c1b409fa58b --- /dev/null +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/Vm/GetAzureRemoteAppVm.cs @@ -0,0 +1,46 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Collections.Generic; +using System.Management.Automation; + +namespace Microsoft.WindowsAzure.Management.RemoteApp.Cmdlets +{ + [Cmdlet(VerbsCommon.Get, "AzureRemoteAppVM"), OutputType(typeof(IList))] + public class GetAzureRemoteAppVm : RdsCmdlet + { + [Parameter(Mandatory = true, + Position = 0, + ValueFromPipelineByPropertyName = true, + HelpMessage = "RemoteApp collection name")] + [ValidatePattern(NameValidatorString)] + [Alias("Name")] + public string CollectionName { get; set; } + + public override void ExecuteCmdlet() + { + CollectionVmsListResult response = null; + + response = CallClient(() => Client.Collections.ListVms(CollectionName), Client.Collections); + + if (response != null && response.Vms != null) + { + WriteObject(response.Vms); + } + } + } +} 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); + } + } +} diff --git a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/packages.config b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/packages.config index d370322a0736..97041a95fb8f 100644 --- a/src/ServiceManagement/RemoteApp/Commands.RemoteApp/packages.config +++ b/src/ServiceManagement/RemoteApp/Commands.RemoteApp/packages.config @@ -2,7 +2,7 @@ - + diff --git a/src/ServiceManagement/Services/Commands.Test.Utilities/Commands.Test.Utilities.csproj b/src/ServiceManagement/Services/Commands.Test.Utilities/Commands.Test.Utilities.csproj index ea7f79605f32..44ec05593535 100644 --- a/src/ServiceManagement/Services/Commands.Test.Utilities/Commands.Test.Utilities.csproj +++ b/src/ServiceManagement/Services/Commands.Test.Utilities/Commands.Test.Utilities.csproj @@ -1,6 +1,6 @@  - + Debug @@ -16,7 +16,8 @@ ..\..\..\ true /assemblyCompareMode:StrongNameIgnoringVersion - 47c4ca5f + + true @@ -52,7 +53,7 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll @@ -154,6 +155,10 @@ + + {3b48a77b-5956-4a62-9081-92ba04b02b27} + Commands.Common.Test + {c1bda476-a5cc-4394-914d-48b0ec31a710} Commands.ScenarioTests.Common @@ -166,10 +171,6 @@ {4900ec4e-8deb-4412-9108-0bc52f81d457} Commands.Utilities - - {3b48a77b-5956-4a62-9081-92ba04b02b27} - Commands.Common.Test - {5ee72c53-1720-4309-b54b-5fb79703195f} Commands.Common @@ -179,14 +180,10 @@ - - - - - + - 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}. + This project references NuGet package(s) that are missing on this computer. Use 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/ServiceManagement/Services/Commands.Test.Utilities/Common/FileSystemHelper.cs b/src/ServiceManagement/Services/Commands.Test.Utilities/Common/FileSystemHelper.cs index 2e44ebd91be7..1e9e2f94ec32 100644 --- a/src/ServiceManagement/Services/Commands.Test.Utilities/Common/FileSystemHelper.cs +++ b/src/ServiceManagement/Services/Commands.Test.Utilities/Common/FileSystemHelper.cs @@ -44,7 +44,7 @@ public class FileSystemHelper : IDisposable /// Gets a reference to the test class using the FileSystemHelper to /// provide access to its logging. ///
- public TestBase TestInstance { get; private set; } + public SMTestBase TestInstance { get; private set; } /// /// Monitors changes to the file system. @@ -93,7 +93,7 @@ public bool EnableMonitoring /// /// Reference to the test class (to access its logging). /// - public FileSystemHelper(TestBase testInstance) + public FileSystemHelper(SMTestBase testInstance) : this(testInstance, GetTemporaryDirectoryName()) { } @@ -105,7 +105,7 @@ public FileSystemHelper(TestBase testInstance) /// Reference to the test class (to access its logging). /// /// The rootPath directory. - public FileSystemHelper(TestBase testInstance, string rootPath) + public FileSystemHelper(SMTestBase testInstance, string rootPath) { Debug.Assert(testInstance != null); Debug.Assert(!string.IsNullOrEmpty(rootPath)); @@ -288,7 +288,7 @@ public string CreateAzureSdkDirectoryAndImportPublishSettings(string publishSett Debug.Assert(string.IsNullOrEmpty(AzureSdkPath)); AzureSdkPath = CreateDirectory("AzureSdk"); - ProfileClient client = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); AzureSession.DataStore.WriteFile(publishSettingsPath, File.ReadAllText(publishSettingsPath)); client.ImportPublishSettings(publishSettingsPath, null); client.Profile.Save(); diff --git a/src/ServiceManagement/Services/Commands.Test.Utilities/Websites/WebsitesTestBase.cs b/src/ServiceManagement/Services/Commands.Test.Utilities/Websites/WebsitesTestBase.cs index e718ceb058a2..4b3790e784fc 100644 --- a/src/ServiceManagement/Services/Commands.Test.Utilities/Websites/WebsitesTestBase.cs +++ b/src/ServiceManagement/Services/Commands.Test.Utilities/Websites/WebsitesTestBase.cs @@ -24,17 +24,16 @@ namespace Microsoft.WindowsAzure.Commands.Test.Utilities.Websites { [TestClass] - public class WebsitesTestBase : TestBase + public class WebsitesTestBase : SMTestBase { protected string subscriptionId = "035B9E16-BA8E-40A3-BEEA-4998F452C203"; - protected AzureProfile currentProfile; [TestInitialize] public virtual void SetupTest() { new FileSystemHelper(this).CreateAzureSdkDirectoryAndImportPublishSettings(); - currentProfile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + currentProfile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); } [TestCleanup] @@ -60,8 +59,8 @@ public void TestCleanup() protected void SetupProfile(string storageName) { - currentProfile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); - AzurePSCmdlet.CurrentProfile = currentProfile; + currentProfile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); + AzureSMCmdlet.CurrentProfile = currentProfile; var subscription = new AzureSubscription { Id = new Guid(subscriptionId) }; subscription.Properties[AzureSubscription.Property.Default] = "True"; currentProfile.Subscriptions[new Guid(subscriptionId)] = subscription; diff --git a/src/ServiceManagement/Services/Commands.Test.Utilities/packages.config b/src/ServiceManagement/Services/Commands.Test.Utilities/packages.config index 66d268a11c42..bf833ef5c32a 100644 --- a/src/ServiceManagement/Services/Commands.Test.Utilities/packages.config +++ b/src/ServiceManagement/Services/Commands.Test.Utilities/packages.config @@ -2,7 +2,7 @@ - + @@ -17,5 +17,5 @@ - + \ No newline at end of file diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/DisableAzureRemoteDesktopCommandTest.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/DisableAzureRemoteDesktopCommandTest.cs index 81a82d41bb44..fa26a2a2dea0 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/DisableAzureRemoteDesktopCommandTest.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/DisableAzureRemoteDesktopCommandTest.cs @@ -31,7 +31,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development /// /// Basic unit tests for the Enable-Enable-AzureServiceProjectRemoteDesktop command. /// - public class DisableAzureRemoteDesktopCommandTest : TestBase + public class DisableAzureRemoteDesktopCommandTest : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/EnableAzureRemoteDesktopCommandTest.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/EnableAzureRemoteDesktopCommandTest.cs index 17e0d7ae96bc..d4d4b7674f85 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/EnableAzureRemoteDesktopCommandTest.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/EnableAzureRemoteDesktopCommandTest.cs @@ -34,7 +34,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development /// /// Basic unit tests for the Enable-AzureServiceProjectRemoteDesktop enableRDCmdlet. /// - public class EnableAzureRemoteDesktopCommandTest : TestBase + public class EnableAzureRemoteDesktopCommandTest : SMTestBase { static private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/GetAzureServiceProjectRuntimesTest.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/GetAzureServiceProjectRuntimesTest.cs index 23f72a9285fc..2f6300323744 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/GetAzureServiceProjectRuntimesTest.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/GetAzureServiceProjectRuntimesTest.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Tests.Cmdlet { - public class GetAzureServiceProjectRuntimesTests : TestBase + public class GetAzureServiceProjectRuntimesTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SaveAzureServiceProjectPackageTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SaveAzureServiceProjectPackageTests.cs index 2cd50620e9b0..7802f1b702df 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SaveAzureServiceProjectPackageTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SaveAzureServiceProjectPackageTests.cs @@ -32,7 +32,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development /// /// Basic unit tests for the Enable-AzureServiceProjectRemoteDesktop enableRDCmdlet. /// - internal class SaveAzureServiceProjectPackageCommandTest : TestBase + internal class SaveAzureServiceProjectPackageCommandTest : SMTestBase { static private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWebRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWebRoleTests.cs index bb1cc6880f8e..12b4564de1bc 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWebRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWebRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzureNodeWebRoleTests : TestBase + public class AddAzureNodeWebRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWorkerRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWorkerRoleTests.cs index 03a53d63fd45..ca38febc165c 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWorkerRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureNodeWorkerRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzureNodeWorkerRoleTests : TestBase + public class AddAzureNodeWorkerRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWebRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWebRoleTests.cs index a2e38dd16ff4..90c3861b6df9 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWebRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWebRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzurePHPWebRoleTests : TestBase + public class AddAzurePHPWebRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWorkerRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWorkerRoleTests.cs index 785c24518c67..37f825865cc1 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWorkerRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzurePHPWorkerRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzurePHPWorkerRoleTests : TestBase + public class AddAzurePHPWorkerRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWebRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWebRoleTests.cs index 6ecb184c7a4b..c24e8d09229f 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWebRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWebRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzureWebRoleTests : TestBase + public class AddAzureWebRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWorkerRoleTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWorkerRoleTests.cs index 0eb86113eade..5af03241a0d6 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWorkerRoleTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/AddAzureWorkerRoleTests.cs @@ -27,7 +27,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class AddAzureWorkerRoleTests : TestBase + public class AddAzureWorkerRoleTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureRoleTemplateTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureRoleTemplateTests.cs index ab41d9235272..f5bb67e0fefe 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureRoleTemplateTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureRoleTemplateTests.cs @@ -28,7 +28,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding { - public class NewAzureRoleTemplateTests : TestBase + public class NewAzureRoleTemplateTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureServiceTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureServiceTests.cs index 2726bd92f7ed..ed6ae655a507 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureServiceTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/Scaffolding/NewAzureServiceTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Scaffolding.Cmdlet { - public class NewAzureServiceTests : TestBase + public class NewAzureServiceTests : SMTestBase { NewAzureServiceProjectCommand cmdlet; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureInstancesTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureInstancesTests.cs index 401fb056d6b7..9b52d6cf59a3 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureInstancesTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureInstancesTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Tests.Cmdlet { - public class SetAzureInstancesTests : TestBase + public class SetAzureInstancesTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureRuntimeTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureRuntimeTests.cs index 2bee2b8e168f..39b0775cf592 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureRuntimeTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureRuntimeTests.cs @@ -25,7 +25,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Tests.Cmdlet { - public class SetAzureRuntimeTests : TestBase + public class SetAzureRuntimeTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureServiceProjectTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureServiceProjectTests.cs index e70bb4871c83..e64b75a4b701 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureServiceProjectTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureServiceProjectTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Tests.Cmdlet { - public class SetAzureServiceProjectTests : TestBase + public class SetAzureServiceProjectTests : SMTestBase { private MockCommandRuntime mockCommandRuntime; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureVMSizeTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureVMSizeTests.cs index 42053effcbfe..ada6b2631378 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureVMSizeTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Development/SetAzureVMSizeTests.cs @@ -25,7 +25,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Development.Tests.Cmdlet { - public class SetAzureVMSizeTests : TestBase + public class SetAzureVMSizeTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/PublishAzureServiceProjectTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/PublishAzureServiceProjectTests.cs index a720982a0a8e..fc07c3ca1352 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/PublishAzureServiceProjectTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/PublishAzureServiceProjectTests.cs @@ -23,7 +23,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService { - public class PublishAzureServiceTests : TestBase + public class PublishAzureServiceTests : SMTestBase { private Mock clientMock; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/RemoveAzureServiceTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/RemoveAzureServiceTests.cs index 899e4c72bb8d..b781de022864 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/RemoveAzureServiceTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/RemoveAzureServiceTests.cs @@ -22,7 +22,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService { - public class RemoveAzureServiceTests : TestBase + public class RemoveAzureServiceTests : SMTestBase { private Mock clientMock; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/StartAzureServiceTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/StartAzureServiceTests.cs index 4f8de960061d..d4b4462d4b0c 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/StartAzureServiceTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/StartAzureServiceTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService { - public class StartAzureServiceTests : TestBase + public class StartAzureServiceTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/StopAzureServiceTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/StopAzureServiceTests.cs index 5076a8abc753..3560ed20721e 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/StopAzureServiceTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/StopAzureServiceTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService { - public class StopAzureServiceTests : TestBase + public class StopAzureServiceTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/TestAzureNameTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/TestAzureNameTests.cs index 12aa908cf21b..481f00783c6a 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/TestAzureNameTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/TestAzureNameTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService { - public class TestAzureNameTests : TestBase + public class TestAzureNameTests : SMTestBase { private Mock cloudServiceClientMock; private Mock websitesClientMock; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/AzureServiceTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/AzureServiceTests.cs index c7ac3db77681..efe34f84501d 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/AzureServiceTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/AzureServiceTests.cs @@ -31,7 +31,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class AzureServiceTests: TestBase + public class AzureServiceTests: SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CloudServiceClientTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CloudServiceClientTests.cs index 6b58b5f266cf..64ee165d9b13 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CloudServiceClientTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CloudServiceClientTests.cs @@ -38,7 +38,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class CloudServiceClientTests : TestBase + public class CloudServiceClientTests : SMTestBase { private AzureSubscription subscription; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsPackTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsPackTests.cs index 3e8cbf986d9d..891c55446fd7 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsPackTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsPackTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - internal class CsPackTests : TestBase + internal class CsPackTests : SMTestBase { private const string serviceName = "AzureService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsRunTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsRunTests.cs index 30eee0e7fee1..33540e2ff2dd 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsRunTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/CsRunTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class CsRunTests : TestBase + public class CsRunTests : SMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/GeneralTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/GeneralTests.cs index 9293aa116f64..b1933af02838 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/GeneralTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/GeneralTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class GeneralTests : TestBase + public class GeneralTests : SMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/PublishContextTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/PublishContextTests.cs index d4aa3b0b0efb..cdb277b2467e 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/PublishContextTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/PublishContextTests.cs @@ -30,7 +30,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class PublishContextTests : TestBase, IDisposable + public class PublishContextTests : SMTestBase, IDisposable { private static AzureServiceWrapper service; @@ -54,7 +54,7 @@ public PublishContextTests() configPath = service.Paths.CloudConfiguration; settings = ServiceSettingsTestData.Instance.Data[ServiceSettingsState.Default]; AzureSession.DataStore = new MemoryDataStore(); - ProfileClient client = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); + ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); AzureSession.DataStore.WriteFile(Test.Utilities.Common.Data.ValidPublishSettings.First(), File.ReadAllText(Test.Utilities.Common.Data.ValidPublishSettings.First())); client.ImportPublishSettings(Test.Utilities.Common.Data.ValidPublishSettings.First(), null); diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ScaffoldTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ScaffoldTests.cs index fa49274bd6bc..584eb9d23ed5 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ScaffoldTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ScaffoldTests.cs @@ -23,7 +23,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class ScaffoldTests : TestBase + public class ScaffoldTests : SMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceComponentsTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceComponentsTests.cs index 53e558f1d59c..d3c346738733 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceComponentsTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceComponentsTests.cs @@ -26,7 +26,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class ServiceComponentsTests : TestBase, IDisposable + public class ServiceComponentsTests : SMTestBase, IDisposable { private const string serviceName = "NodeService"; diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceSettingsTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceSettingsTests.cs index 63e99d94a497..1d21ebc0c280 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceSettingsTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/ServiceSettingsTests.cs @@ -23,7 +23,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class ServiceSettingsTests : TestBase + public class ServiceSettingsTests : SMTestBase { public ServiceSettingsTests() { diff --git a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/StorageEmulatorTests.cs b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/StorageEmulatorTests.cs index f3fdaa7daf79..ed148b979b56 100644 --- a/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/StorageEmulatorTests.cs +++ b/src/ServiceManagement/Services/Commands.Test/CloudService/Utilities/StorageEmulatorTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.WindowsAzure.Commands.Test.CloudService.Utilities { - public class StorageEmulatorTests : TestBase + public class StorageEmulatorTests : SMTestBase { [Fact] [Trait(Category.AcceptanceType, Category.CheckIn)] diff --git a/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj b/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj index a501872a3f80..2a9ee4098d0b 100644 --- a/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj +++ b/src/ServiceManagement/Services/Commands.Test/Commands.Test.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -18,7 +18,7 @@ ..\..\..\ true - ddc0f910 + 5d02cb73 true @@ -57,21 +57,25 @@ False - ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll + ..\..\..\packages\Microsoft.Azure.Common.Authentication.1.3.0-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + + ..\..\..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll + True + False ..\..\..\packages\Microsoft.Azure.Management.Resources.2.18.7-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll False - ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5687.28567-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.0.5715.36130-prerelease\lib\net45\Microsoft.Azure.Test.HttpRecorder.dll False @@ -186,8 +190,13 @@ - + ..\..\..\packages\xunit.1.9.2\lib\net20\xunit.dll + True + + + ..\..\..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + True @@ -395,6 +404,10 @@ + + {c60342b1-47d3-4a0e-8081-9b97ce60b7af} + Commands.Profile + {c1bda476-a5cc-4394-914d-48b0ec31a710} Commands.ScenarioTests.Common @@ -407,10 +420,6 @@ {45c2d687-e0ce-4c97-b731-335834dc2bf2} Commands.ExpressRoute - - {c60342b1-47d3-4a0e-8081-9b97ce60b7af} - Commands.Profile - {bc420543-c04e-4bf3-96e1-cd81b823bdd7} Commands.Test.Utilities @@ -423,7 +432,7 @@ {cd5aa507-f5ef-473d-855b-84b91a1abe54} Commands - + {3b48a77b-5956-4a62-9081-92ba04b02b27} Commands.Common.Test @@ -448,15 +457,11 @@ - - - - - + 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/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks.sln b/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks.sln new file mode 100644 index 000000000000..3060e97842c3 --- /dev/null +++ b/tools/BuildPackagesTask/Microsoft.Azure.Build.Tasks.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30501.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Azure.Build.Tasks", "Microsoft.Azure.Build.Tasks.csproj", "{16D89061-2C1E-4E31-B16E-8A7B5B9FF51C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16D89061-2C1E-4E31-B16E-8A7B5B9FF51C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {16D89061-2C1E-4E31-B16E-8A7B5B9FF51C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {16D89061-2C1E-4E31-B16E-8A7B5B9FF51C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {16D89061-2C1E-4E31-B16E-8A7B5B9FF51C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/tools/BuildPackagesTask/Properties/AssemblyInfo.cs b/tools/BuildPackagesTask/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..c05eeeb998a1 --- /dev/null +++ b/tools/BuildPackagesTask/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Microsoft.WindowsAzure.Build.Tasks")] +[assembly: AssemblyDescription("Build Tasks")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft.WindowsAzure.Build.Tasks")] +[assembly: AssemblyCopyright("Copyright © Microsoft Corporation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] +[assembly: Guid("1fab019b-78ba-4e1b-8f84-d5b72d785f0e")] + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tools/BuildPackagesTask/RegexReplacementTask.cs b/tools/BuildPackagesTask/RegexReplacementTask.cs new file mode 100644 index 000000000000..6ecc14cf0d2c --- /dev/null +++ b/tools/BuildPackagesTask/RegexReplacementTask.cs @@ -0,0 +1,86 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using System; +using System.IO; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; + +namespace Microsoft.WindowsAzure.Build.Tasks +{ + public class RegexReplacementTask : Task + { + [Required] + public ITaskItem[] Files { get; set; } + + [Required] + public string Find { get; set; } + + [Required] + public string Replace { get; set; } + + public bool LogReplacement { get; set; } + + /// + /// Gets or sets the optional output directory. If a OutputDir value is + /// specified, the original file contents will not be overwritten. + /// + public string OutputDir { get; set; } + + public override bool Execute() + { + try + { + foreach (string fileName in Files.Select(f => f.GetMetadata("FullPath"))) + { + FileAttributes oldAttributes = File.GetAttributes(fileName); + File.SetAttributes(fileName, oldAttributes & ~FileAttributes.ReadOnly); + + string content = Regex.Replace( + File.ReadAllText(fileName), + Find, + Replace); + + string outputFileName = fileName; + string message = null; + if (!string.IsNullOrEmpty(OutputDir)) + { + string path = Path.GetFullPath(OutputDir); + outputFileName = Path.Combine(path, Path.GetFileName(fileName)); + message = " saved as " + outputFileName; + } + + File.WriteAllText(outputFileName, content, Encoding.UTF8); + File.SetAttributes(outputFileName, oldAttributes); + + if (LogReplacement) + { + Log.LogMessage("Processed regular expression replacement in file {0}{1}", fileName, message); + } + } + + return true; + } + catch (Exception ex) + { + Log.LogErrorFromException(ex); + return false; + } + } + } +} diff --git a/tools/BuildPackagesTask/StrongNameUtility.cs b/tools/BuildPackagesTask/StrongNameUtility.cs new file mode 100644 index 000000000000..e21d78401bdd --- /dev/null +++ b/tools/BuildPackagesTask/StrongNameUtility.cs @@ -0,0 +1,84 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +using System.Diagnostics; +using System.IO; +using System.Linq; + +namespace Microsoft.WindowsAzure.Build.Tasks +{ + /// + /// Utility class for managing the Process used to work with the sn.exe + /// tool in the Windows SDK. + /// + internal class StrongNameUtility + { + private string _snPath; + + public StrongNameUtility() + { + } + + public bool ValidateStrongNameToolExistance(string windowsSdkPath) + { + // Location the .NET strong name signing utility + _snPath = FindFile(windowsSdkPath, "sn.exe"); + if (_snPath == null) + { + return false; + } + + return true; + } + + public bool Execute(string arguments, out string output) + { + int exitCode; + output = null; + + ProcessStartInfo processInfo = new ProcessStartInfo(_snPath) + { + Arguments = arguments, + UseShellExecute = false, + RedirectStandardOutput = true, + }; + + using (Process process = Process.Start(processInfo)) + { + output = process.StandardOutput.ReadToEnd(); + process.WaitForExit(); + + exitCode = process.ExitCode; + } + + return exitCode == 0; + } + + private static string FindFile(string path, string filenameOfInterest) + { + foreach (string d in Directory.GetDirectories(path)) + { + var result = Directory.GetFiles(d, filenameOfInterest).FirstOrDefault(); + if (result != null) + { + return result; + } + + return FindFile(d, filenameOfInterest); + } + + return null; + } + } +} diff --git a/tools/BuildPackagesTask/ValidateStrongNameSignatureTask.cs b/tools/BuildPackagesTask/ValidateStrongNameSignatureTask.cs new file mode 100644 index 000000000000..d75bdc9d9269 --- /dev/null +++ b/tools/BuildPackagesTask/ValidateStrongNameSignatureTask.cs @@ -0,0 +1,147 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace Microsoft.WindowsAzure.Build.Tasks +{ + /// + /// A simple Microsoft Build task for validating the strong name signature + /// on a .NET assembly. + /// + public class ValidateStrongNameSignatureTask : Task + { + /// + /// Gets or sets the path to the Windows SDK on the machine. + /// + [Required] + public string WindowsSdkPath { get; set; } + + /// + /// Gets or sets the assembly whose strong name needs to be verified. + /// + [Required] + public ITaskItem Assembly { get; set; } + + /// + /// Gets or sets the expected strong name token for the assembly. + /// + [Required] + public string ExpectedTokenSignature { get; set; } + + /// + /// Gets or sets a value indicating whether the assembly is expected to + /// be delay signed. + /// + public bool ExpectedDelaySigned { get; set; } + + /// + /// Executes the task to validate the strong name information for the + /// assembly using the input values expected by the task. + /// + /// Returns a value indicating whether the task has been + /// successful and the build should continue. + public override bool Execute() + { + try + { + StrongNameUtility utility = new StrongNameUtility(); + if (!utility.ValidateStrongNameToolExistance(WindowsSdkPath)) + { + Log.LogError("The strong name tool (sn.exe) could not be located within the Windows SDK directory structure ({0})).", WindowsSdkPath); + return false; + } + + string path = Assembly.ItemSpec; + + // Check the public key token of the assembly. + // -q -T: Display token for public key. + string output; + string arguments = "-q -T \"" + path + "\""; + bool success = utility.Execute(arguments, out output); + + if (!success) + { + Log.LogError("The assembly \"" + path + "\" has not been strong named signed."); + Log.LogError(output); + + return false; + } + + // Read the public key token. + int lastSpace = output.LastIndexOf(' '); + if (lastSpace >= 0) + { + output = output.Substring(lastSpace + 1).Trim(); + } + + if (output != ExpectedTokenSignature) + { + Log.LogError("The assembly \"{0}\" had the strong name token of \"{1}\", but was expected to have the token \"{2}\"", + path, + output, + ExpectedTokenSignature); + return false; + } + + Log.LogMessage("The assembly \"{0}\" had the expected strong name token of \"{1}\"", + path, + output); + + // Validate that it is or is not delay signed. + // -q -v[f]: Verify for strong name signature self + // consistency. If -vf is specified, force verification even if + // disabled in the registry. + output = null; + arguments = "-q -vf \"" + path + "\""; + success = utility.Execute(arguments, out output); + + success = (success == (!ExpectedDelaySigned)); + + string message; + if (ExpectedDelaySigned && success || !ExpectedDelaySigned && !success) + { + message = "The assembly \"{0}\" was delay signed."; + } + else if (ExpectedDelaySigned && !success) + { + message = "The assembly \"{0}\" was not delay signed."; + } + else + { + message = "The assembly \"{0}\" has been fully signed."; + } + + if (success) + { + Log.LogMessage(MessageImportance.High, message, path); + } + else + { + Log.LogError(message, path); + } + + return success; + } + catch (Exception ex) + { + Log.LogErrorFromException(ex); + return false; + } + } + } +} diff --git a/tools/Docs/Get-AllCommands/Get-AllCommands.ps1 b/tools/Docs/Get-AllCommands/Get-AllCommands.ps1 index d5ad51294858..4664ec2bbb29 100644 --- a/tools/Docs/Get-AllCommands/Get-AllCommands.ps1 +++ b/tools/Docs/Get-AllCommands/Get-AllCommands.ps1 @@ -265,7 +265,7 @@ function Split-HelpFiles { { $xml = $cmdlet.node.outerxml $cmdletName = (($xml | select-xml -namespace $namespace -XPath "//command:name").node.innerxml).trim() - Set-content –value $xml –path $OutputPath\$CmdletName.xml -Encoding ASCII + Set-content -value $xml -path $OutputPath\$CmdletName.xml -Encoding ASCII } } else { "Error 101: The input file does not contain cmdlet help topics. For help, send e-mail to PSHuddle." } @@ -514,8 +514,8 @@ function Get-ScriptDirectory Split-Path $Invocation.MyCommand.Path } -$asmPath = Join-Path (Get-ScriptDirectory) "..\..\..\src\Package\Release\ServiceManagement\Azure\Azure.psd1" -$armPath = Join-Path (Get-ScriptDirectory) "..\..\..\src\Package\Release\ResourceManager\AzureResourceManager\AzureResourceManager.psd1" +$asmPath = Join-Path (Get-ScriptDirectory) "..\..\..\src\Package\Debug\ServiceManagement\Azure\Azure.psd1" +$armPath = Join-Path (Get-ScriptDirectory) "..\..\..\src\Package\Debug\ResourceManager\AzureResourceManager\AzureResourceManager.psd1" Get-AllBuildServerCommands -OutputPath ".\Output\asm" -ManifestFullName $asmPath