From f2bb59b3af224e89717e79c38f7965fb1252dbf8 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Mon, 4 Dec 2017 16:24:12 -0800 Subject: [PATCH 01/33] Powershell cmdlets for groupsrp --- .../AzureRM.ManagementGroups.psd1 | 127 ++++++++++++++ .../Cmdlets/AddAzureRmManagementGroup.cs | 52 ++++++ .../AddAzureRmManagementGroupSubscription.cs | 41 +++++ .../Cmdlets/DeleteAzureRmManagementGroup.cs | 40 +++++ .../Cmdlets/GetAzureRmManagementGroup.cs | 58 ++++++ ...emoveAzureRmManagementGroupSubscription.cs | 41 +++++ .../Cmdlets/UpdateAzureRmManagementGroup.cs | 47 +++++ .../Commands.ManagementGroups.csproj | 165 ++++++++++++++++++ .../Common/AzureManagementGroupsCmdletBase.cs | 50 ++++++ .../Common/Constants.cs | 31 ++++ .../MSSharedLibKey.snk | Bin 0 -> 160 bytes .../Properties/AssemblyInfo.cs | 36 ++++ .../Commands.ManagementGroups/packages.config | 18 ++ .../ManagementGroups/ManagementGroups.sln | 76 ++++++++ 14 files changed, 782 insertions(+) create mode 100644 src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/MSSharedLibKey.snk create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config create mode 100644 src/ResourceManager/ManagementGroups/ManagementGroups.sln diff --git a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 new file mode 100644 index 000000000000..9a4e7578ab13 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 @@ -0,0 +1,127 @@ +# +# Module manifest for module 'PSGet_AzureRM.ManagementGroups' +# +# Generated by: Microsoft Corporation +# +# Generated on: 11/3/2017 +# + +@{ + +# Script module or binary module file associated with this manifest. +# RootModule = '' + +# Version number of this module. +ModuleVersion = '0.0.1' + +# Supported PSEditions +# CompatiblePSEditions = @() + +# ID used to uniquely identify this module +GUID = 'e903bf84-9519-4ff8-a1bf-83f6d2761b84' + +# 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 - GroupsRP cmdlets for Azure Resource Manager' + +# 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 Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.5.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +CLRVersion = '4.0' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = '.\Microsoft.Azure.Management.ManagementGroups.dll' + +# 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.Addons.Format.ps1xml' + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @('.\Microsoft.Azure.Commands.ManagementGroups.dll') + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = @() + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = 'Get-AzureRmManagementGroup', 'Add-AzureRmManagementGroup', 'Update-AzureRmManagementGroup', 'Remove-AzureRmManagementGroup', 'Add-AzureRmManagementGroupSubscription', 'Remove-AzureRmManagementGroupSubscription' + +# Variables to export from this module +# VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# 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 RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = 'Azure','ResourceManager','ARM','GroupsRP', 'Management', 'Management Groups' + + # A URL to the license for this module. + LicenseUri = 'https://aka.ms/azps-license' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/Azure/azure-powershell' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + ReleaseNotes = '* Add support for online help + - Run Get-Help with the -Online parameter to open the online help in your default Internet browser' + + # External dependent modules of this module + # ExternalModuleDependencies = '' + + } # End of PSData hashtable + + } # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' + +} + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs new file mode 100644 index 000000000000..700a5906f26e --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ManagementGroups.Models; +using Newtonsoft.Json; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + /// + /// Add-AzureRmManagementGroup Cmdlet + /// + + [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + public class AddAzureRmManagementGroup : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [ValidateNotNullOrEmpty] + public string GroupId { get; set; } + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + [ValidateNotNullOrEmpty] + public string DisplayName { get; set; } = null; + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId, Position = 2)] + [ValidateNotNullOrEmpty] + public string ParentId { get; set; } = null; + + public override void ExecuteCmdlet() + { + try + { + CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); + + var response = ManagementGroupsApiClient.ManagementGroups.Create(GroupId, createGroupRequest); + WriteObject(JsonConvert.SerializeObject(response)); + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + + + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs new file mode 100644 index 000000000000..67d6e88f46b1 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", + DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, + SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + public class AddAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, + HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [ValidateNotNullOrEmpty] + public string GroupId { get; set; } = null; + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, + HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + [ValidateNotNullOrEmpty] + public Guid SubscriptonId { get; set; } + + public override void ExecuteCmdlet() + { + try + { + var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.AddWithHttpMessagesAsync(GroupId, SubscriptonId).GetAwaiter().GetResult(); + WriteObject(response.Response.ReasonPhrase); + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs new file mode 100644 index 000000000000..6c7e74a3d31e --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ManagementGroups.Models; +using Newtonsoft.Json; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroup", + DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, + SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + public class DeleteAzureRmManagementGroup : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, + HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [ValidateNotNullOrEmpty] + public string GroupId { get; set; } = null; + + public override void ExecuteCmdlet() + { + try + { + var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync(GroupId) + .GetAwaiter().GetResult(); + WriteObject(JsonConvert.SerializeObject(response.Response.ReasonPhrase)); + + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs new file mode 100644 index 000000000000..89967506ef52 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.WindowsAzure.Commands.Common; +using Newtonsoft.Json; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + /// + /// Get-AzureRmManagementGroup Cmdlet + /// + + [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + public string GroupId { get; set; } + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId)] + public SwitchParameter Expand; + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId)] + public SwitchParameter Recurse; + + public override void ExecuteCmdlet() + { + try + { + if (!string.IsNullOrEmpty(GroupId)) + { + var response = + ManagementGroupsApiClient.ManagementGroups.Get(GroupId, Expand.IsPresent?"children":null, Recurse.IsPresent); + WriteObject(JsonConvert.SerializeObject(response)); + } + else + { + var response = + ManagementGroupsApiClient.ManagementGroups.List(); + WriteObject(JsonConvert.SerializeObject(response)); + } + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs new file mode 100644 index 000000000000..0266082b28f7 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", + DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, + SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, + HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [ValidateNotNullOrEmpty] + public string GroupId { get; set; } = null; + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, + HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + [ValidateNotNullOrEmpty] + public Guid SubscriptonId { get; set; } + + public override void ExecuteCmdlet() + { + try + { + var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.RemoveWithHttpMessagesAsync(GroupId, SubscriptonId).GetAwaiter().GetResult(); + WriteObject(response.Response.ReasonPhrase); + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs new file mode 100644 index 000000000000..267a533fa8ce --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Azure.Commands.ManagementGroups.Common; +using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ManagementGroups.Models; +using Newtonsoft.Json; + +namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets +{ + [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase + { + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [ValidateNotNullOrEmpty] + public string GroupId { get; set; } + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + [ValidateNotNullOrEmpty] + public string DisplayName { get; set; } = null; + + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.GroupId, Position = 2)] + [ValidateNotNullOrEmpty] + public string ParentId { get; set; } = null; + + public override void ExecuteCmdlet() + { + try + { + CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); + + var response = ManagementGroupsApiClient.ManagementGroups.Update(GroupId, createGroupRequest); + WriteObject(JsonConvert.SerializeObject(response)); + + } + catch (ErrorResponseException ex) + { + WriteWarning(ex.Message); + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj new file mode 100644 index 000000000000..fbe456edcec3 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -0,0 +1,165 @@ + + + + + Debug + AnyCPU + {119C7B00-03E7-481D-A74F-CF6CE3920CB8} + Library + Properties + Microsoft.Azure.Commands.ManagementGroups + Microsoft.Azure.Commands.ManagementGroups + v4.5.2 + 512 + + + true + full + false + ..\..\..\Package\Debug\ResourceManager\AzureResourceManager\AzureRM.ManagementGroups + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\..\Package\Release\ResourceManager\AzureResourceManager\AzureRM.ManagementGroups + TRACE;SIGN + true + MSSharedLibKey.snk + true + prompt + 4 + + + + ..\packages\Hyak.Common.1.0.2\lib\net45\Hyak.Common.dll + True + + + ..\packages\Microsoft.Azure.Common.2.0.4\lib\net45\Microsoft.Azure.Common.dll + True + + + ..\packages\Microsoft.Azure.Common.2.0.4\lib\net45\Microsoft.Azure.Common.NetFramework.dll + True + + + ..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll + True + + + ..\packages\Microsoft.Azure.Management.ManagementGroups.1.0.0-preview\lib\net452\Microsoft.Azure.Management.ManagementGroups.dll + True + + + ..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll + True + + + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + True + + + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.6-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + True + + + ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll + True + + + ..\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 + True + + + ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll + True + + + + + False + C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll + + + + ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll + True + + + + + + + + + + + + + + + + + + + + + + + {70527617-7598-4aef-b5bd-db9186b8184b} + Commands.Common.Authentication.Abstractions + + + {5ee72c53-1720-4309-b54b-5fb79703195f} + Commands.Common + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + + + + AzureRM.ManagementGroups.psd1 + PreserveNewest + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs new file mode 100644 index 000000000000..1a4a4bccdadf --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs @@ -0,0 +1,50 @@ +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Commands.Common.Authentication; +using Microsoft.Azure.Commands.Common.Authentication.Abstractions; +using Microsoft.Azure.Commands.ResourceManager.Common; +using Microsoft.Azure.Management.ManagementGroups; + +namespace Microsoft.Azure.Commands.ManagementGroups.Common +{ + /// + /// Base class of Azure Management Groups Cmdlet. + /// + public abstract class AzureManagementGroupsCmdletBase : AzureRMCmdlet + { + private IManagementGroupsAPIClient _managementGroupsApiClient; + + private Dictionary> _defaultRequestHeaders; + + /// + /// Gets or sets the Groups RP client. + /// + public IManagementGroupsAPIClient ManagementGroupsApiClient + { + get + { + return _managementGroupsApiClient ?? + (_managementGroupsApiClient = + AzureSession.Instance.ClientFactory.CreateArmClient( + DefaultProfile.DefaultContext, + AzureEnvironment.Endpoint.ResourceManager)); + } + set { _managementGroupsApiClient = value; } + + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs new file mode 100644 index 000000000000..3beed290e733 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs @@ -0,0 +1,31 @@ +// ---------------------------------------------------------------------------------- +// +// 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.ManagementGroups.Common +{ + class Constants + { + public class ParameterSetNames + { + public const string GroupOperationsParameterSet = "GroupOperations"; + public const string SubscriptionOperationsParameterSet = "SubscriptionOperations"; + } + + public class HelpMessages + { + public const string SubscriptionId = "Subscription Id"; + public const string GroupId = "Group Id"; + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/MSSharedLibKey.snk b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/MSSharedLibKey.snk new file mode 100644 index 0000000000000000000000000000000000000000..695f1b38774e839e5b90059bfb7f32df1dff4223 GIT binary patch literal 160 zcmV;R0AK$ABme*efB*oL000060ssI2Bme+XQ$aBR1ONa50098C{E+7Ye`kjtcRG*W zi8#m|)B?I?xgZ^2Sw5D;l4TxtPwG;3)3^j?qDHjEteSTF{rM+4WI`v zCD?tsZ^;k+S&r1&HRMb=j738S=;J$tCKNrc$@P|lZ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/ManagementGroups.sln b/src/ResourceManager/ManagementGroups/ManagementGroups.sln new file mode 100644 index 000000000000..4508d9e430b0 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/ManagementGroups.sln @@ -0,0 +1,76 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagementGroups", "Commands.ManagementGroups\Commands.ManagementGroups.csproj", "{119C7B00-03E7-481D-A74F-CF6CE3920CB8}" +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.Authentication", "..\..\Common\Commands.Common.Authentication\Commands.Common.Authentication.csproj", "{D3804B64-C0D3-48F8-82EC-1F632F833C9E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Authentication.Abstractions", "..\..\Common\Commands.Common.Authentication.Abstractions\Commands.Common.Authentication.Abstractions.csproj", "{70527617-7598-4AEF-B5BD-DB9186B8184B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Authentication.ResourceManager", "..\Common\Commands.Common.Authentication.ResourceManager\Commands.Common.Authentication.ResourceManager.csproj", "{69C2EB6B-CD63-480A-89A0-C489706E9299}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Authorization", "..\..\Common\Commands.Common.Authorization\Commands.Common.Authorization.csproj", "{24508E26-154D-47F1-80EE-439BF0710996}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Common.Graph.RBAC", "..\..\Common\Commands.Common.Graph.RBAC\Commands.Common.Graph.RBAC.csproj", "{269ACF73-0A34-42DC-AB9C-4B15931A489D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Profile", "..\Profile\Commands.Profile\Commands.Profile.csproj", "{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManager.Common", "..\Common\Commands.ResourceManager.Common\Commands.ResourceManager.Common.csproj", "{3819D8A7-C62C-4C47-8DDD-0332D9CE1252}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTests.Common", "..\..\Common\Commands.ScenarioTests.Common\Commands.ScenarioTests.Common.csproj", "{C1BDA476-A5CC-4394-914D-48B0EC31A710}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {119C7B00-03E7-481D-A74F-CF6CE3920CB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {119C7B00-03E7-481D-A74F-CF6CE3920CB8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {119C7B00-03E7-481D-A74F-CF6CE3920CB8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {119C7B00-03E7-481D-A74F-CF6CE3920CB8}.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 + {D3804B64-C0D3-48F8-82EC-1F632F833C9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3804B64-C0D3-48F8-82EC-1F632F833C9E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3804B64-C0D3-48F8-82EC-1F632F833C9E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3804B64-C0D3-48F8-82EC-1F632F833C9E}.Release|Any CPU.Build.0 = Release|Any CPU + {70527617-7598-4AEF-B5BD-DB9186B8184B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70527617-7598-4AEF-B5BD-DB9186B8184B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70527617-7598-4AEF-B5BD-DB9186B8184B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70527617-7598-4AEF-B5BD-DB9186B8184B}.Release|Any CPU.Build.0 = Release|Any CPU + {69C2EB6B-CD63-480A-89A0-C489706E9299}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {69C2EB6B-CD63-480A-89A0-C489706E9299}.Debug|Any CPU.Build.0 = Debug|Any CPU + {69C2EB6B-CD63-480A-89A0-C489706E9299}.Release|Any CPU.ActiveCfg = Release|Any CPU + {69C2EB6B-CD63-480A-89A0-C489706E9299}.Release|Any CPU.Build.0 = Release|Any CPU + {24508E26-154D-47F1-80EE-439BF0710996}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24508E26-154D-47F1-80EE-439BF0710996}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24508E26-154D-47F1-80EE-439BF0710996}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24508E26-154D-47F1-80EE-439BF0710996}.Release|Any CPU.Build.0 = Release|Any CPU + {269ACF73-0A34-42DC-AB9C-4B15931A489D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {269ACF73-0A34-42DC-AB9C-4B15931A489D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {269ACF73-0A34-42DC-AB9C-4B15931A489D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {269ACF73-0A34-42DC-AB9C-4B15931A489D}.Release|Any CPU.Build.0 = Release|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.Build.0 = Release|Any CPU + {3819D8A7-C62C-4C47-8DDD-0332D9CE1252}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3819D8A7-C62C-4C47-8DDD-0332D9CE1252}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3819D8A7-C62C-4C47-8DDD-0332D9CE1252}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3819D8A7-C62C-4C47-8DDD-0332D9CE1252}.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 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 2f2cd1901f9c399f40a622a79dd7b2da8a9a526b Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Mon, 4 Dec 2017 19:34:11 -0800 Subject: [PATCH 02/33] Updated cmdlets --- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 2 +- ...zureRmManagementGroup.cs => RemoveAzureRmManagementGroup.cs} | 2 +- .../Commands.ManagementGroups/Commands.ManagementGroups.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/{DeleteAzureRmManagementGroup.cs => RemoveAzureRmManagementGroup.cs} (95%) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 67d6e88f46b1..3727503470be 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -10,7 +10,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", + [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class AddAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs similarity index 95% rename from src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs rename to src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index 6c7e74a3d31e..24973a240ee0 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/DeleteAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -15,7 +15,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - public class DeleteAzureRmManagementGroup : AzureManagementGroupsCmdletBase + public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index fbe456edcec3..80ba38b46aab 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -119,7 +119,7 @@ - + From 663f57f1362f611618bfa407ad7c9b64b00506f5 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Mon, 4 Dec 2017 19:38:19 -0800 Subject: [PATCH 03/33] Added comments --- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 4 ++++ .../Cmdlets/GetAzureRmManagementGroup.cs | 3 +++ .../Cmdlets/RemoveAzureRmManagementGroup.cs | 3 +++ .../Cmdlets/RemoveAzureRmManagementGroupSubscription.cs | 5 ++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 3727503470be..54c124721ce2 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -10,6 +10,10 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { + /// + /// Add-AzureRmManagementGroupSubscription Cmdlet + /// + [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 89967506ef52..4b0aa0288849 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -20,6 +20,9 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase { + /// + /// Get-AzureRmManagementGroup Cmdlet + /// [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] public string GroupId { get; set; } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index 24973a240ee0..ac03848effd8 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -12,6 +12,9 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { + /// + /// Remove-AzureRmManagementGroup Cmdlet + /// [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 0266082b28f7..a9183fa493c0 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -10,7 +10,10 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", + /// + /// Remove-AzureRmManagementGroupSubscription Cmdlet + /// + [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase From 0b41002ab67d8b3a1d50df53ace94429beb902de Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Thu, 7 Dec 2017 11:49:31 -0800 Subject: [PATCH 04/33] Removing missing file from Commands.ManagementGroups.csproj. --- .../Commands.ManagementGroups/Commands.ManagementGroups.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index 80ba38b46aab..e469e450b52b 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -142,7 +142,6 @@ - AzureRM.ManagementGroups.psd1 PreserveNewest From 65e53b4f30b83af0b330a416830e079ddac6379c Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Thu, 7 Dec 2017 12:16:49 -0800 Subject: [PATCH 05/33] Updating Cmdlets to work with the latest SDK changes. --- .../Cmdlets/AddAzureRmManagementGroup.cs | 4 ++-- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 6 +++++- .../Cmdlets/GetAzureRmManagementGroup.cs | 8 +++----- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 3 ++- .../Cmdlets/RemoveAzureRmManagementGroupSubscription.cs | 8 ++++++-- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 5 +++-- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs index 700a5906f26e..e299be280e89 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs @@ -37,8 +37,8 @@ public override void ExecuteCmdlet() try { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - - var response = ManagementGroupsApiClient.ManagementGroups.Create(GroupId, createGroupRequest); + ManagementGroupsApiClient.GroupId = GroupId; + var response = ManagementGroupsApiClient.ManagementGroups.Create(createGroupRequest); WriteObject(JsonConvert.SerializeObject(response)); } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 54c124721ce2..5323e3134564 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -33,7 +33,11 @@ public override void ExecuteCmdlet() { try { - var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.AddWithHttpMessagesAsync(GroupId, SubscriptonId).GetAwaiter().GetResult(); + ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); + + var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.CreateWithHttpMessagesAsync() + .GetAwaiter().GetResult(); WriteObject(response.Response.ReasonPhrase); } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 4b0aa0288849..884f41d508e9 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -40,14 +40,13 @@ public override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(GroupId)) { - var response = - ManagementGroupsApiClient.ManagementGroups.Get(GroupId, Expand.IsPresent?"children":null, Recurse.IsPresent); + ManagementGroupsApiClient.GroupId = GroupId; + var response = ManagementGroupsApiClient.ManagementGroups.Get(Expand.IsPresent?"children":null, Recurse.IsPresent); WriteObject(JsonConvert.SerializeObject(response)); } else { - var response = - ManagementGroupsApiClient.ManagementGroups.List(); + var response = ManagementGroupsApiClient.ManagementGroups.List(); WriteObject(JsonConvert.SerializeObject(response)); } } @@ -56,6 +55,5 @@ public override void ExecuteCmdlet() WriteWarning(ex.Message); } } - } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index ac03848effd8..b8af4560f47a 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -29,7 +29,8 @@ public override void ExecuteCmdlet() { try { - var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync(GroupId) + ManagementGroupsApiClient.GroupId = GroupId; + var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync() .GetAwaiter().GetResult(); WriteObject(JsonConvert.SerializeObject(response.Response.ReasonPhrase)); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index a9183fa493c0..9e82efe86065 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -16,7 +16,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase + public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] @@ -32,7 +32,11 @@ public override void ExecuteCmdlet() { try { - var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.RemoveWithHttpMessagesAsync(GroupId, SubscriptonId).GetAwaiter().GetResult(); + ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); + + var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.DeleteWithHttpMessagesAsync() + .GetAwaiter().GetResult(); WriteObject(response.Response.ReasonPhrase); } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index 267a533fa8ce..669af99dee64 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -12,7 +12,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase + public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] [ValidateNotNullOrEmpty] @@ -33,8 +33,9 @@ public override void ExecuteCmdlet() try { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); + ManagementGroupsApiClient.GroupId = GroupId; - var response = ManagementGroupsApiClient.ManagementGroups.Update(GroupId, createGroupRequest); + var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); WriteObject(JsonConvert.SerializeObject(response)); } From 918ba9ca8a81992f1eb40c4336a5525e4c416aad Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Sat, 9 Dec 2017 11:58:16 -0800 Subject: [PATCH 06/33] Management Groups:Updating cmdlets to have better formatting + error handling. --- .../AzureRM.ManagementGroups.psd1 | 2 +- .../Cmdlets/AddAzureRmManagementGroup.cs | 16 +- .../AddAzureRmManagementGroupSubscription.cs | 8 +- .../Cmdlets/GetAzureRmManagementGroup.cs | 21 +- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 12 +- ...emoveAzureRmManagementGroupSubscription.cs | 7 +- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 13 +- .../Commands.ManagementGroups.csproj | 10 + .../Common/Utility.cs | 49 +++++ ...re.Commands.ManagementGroups.Format.ps1xml | 207 ++++++++++++++++++ .../Models/PSManagementGroup.cs | 48 ++++ .../Models/PSManagementGroupChildInfo.cs | 36 +++ .../Models/PSManagementGroupDetails.cs | 29 +++ .../Models/PSManagementGroupInfo.cs | 30 +++ .../Models/PSManagementGroupInfoProperties.cs | 24 ++ .../Models/PSManagementGroupProperties.cs | 34 +++ 16 files changed, 490 insertions(+), 56 deletions(-) create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs diff --git a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 index 9a4e7578ab13..cdabe45ddc8c 100644 --- a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 +++ b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 @@ -63,7 +63,7 @@ RequiredAssemblies = '.\Microsoft.Azure.Management.ManagementGroups.dll' # TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module -#FormatsToProcess = '.\Microsoft.Azure.Commands.Addons.Format.ps1xml' +FormatsToProcess = '.\Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml' # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess NestedModules = @('.\Microsoft.Azure.Commands.ManagementGroups.dll') diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs index e299be280e89..24c2247dd787 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs @@ -1,20 +1,14 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using System.Threading.Tasks; +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ManagementGroups; using Microsoft.Azure.Management.ManagementGroups.Models; -using Newtonsoft.Json; +using Microsoft.Azure.Commands.ManagementGroups.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { /// /// Add-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class AddAzureRmManagementGroup : AzureManagementGroupsCmdletBase { @@ -39,14 +33,12 @@ public override void ExecuteCmdlet() CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); ManagementGroupsApiClient.GroupId = GroupId; var response = ManagementGroupsApiClient.ManagementGroups.Create(createGroupRequest); - WriteObject(JsonConvert.SerializeObject(response)); + WriteObject(new PSManagementGroup(response)); } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } - - } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 5323e3134564..6d037860da76 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -1,11 +1,6 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Text; -using System.Threading.Tasks; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups; using Microsoft.Azure.Management.ManagementGroups.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets @@ -13,7 +8,6 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// /// Add-AzureRmManagementGroupSubscription Cmdlet /// - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] @@ -42,7 +36,7 @@ public override void ExecuteCmdlet() } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 884f41d508e9..3bbb7ac0d9b0 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -1,22 +1,17 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using System.Collections.Generic; using System.Management.Automation; -using System.Net; -using System.Text; -using System.Threading.Tasks; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ManagementGroups; using Microsoft.Azure.Management.ManagementGroups.Models; -using Microsoft.WindowsAzure.Commands.Common; -using Newtonsoft.Json; +using Microsoft.Azure.Commands.ManagementGroups.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { + using System.Linq; + /// /// Get-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase { @@ -42,17 +37,19 @@ public override void ExecuteCmdlet() { ManagementGroupsApiClient.GroupId = GroupId; var response = ManagementGroupsApiClient.ManagementGroups.Get(Expand.IsPresent?"children":null, Recurse.IsPresent); - WriteObject(JsonConvert.SerializeObject(response)); + WriteObject(new PSManagementGroup(response)); } else { var response = ManagementGroupsApiClient.ManagementGroups.List(); - WriteObject(JsonConvert.SerializeObject(response)); + var items = response.Select(managementGroup => new PSManagementGroupInfo(managementGroup)) + .ToList(); + WriteObject(items); } } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index b8af4560f47a..8f6d1aa54c9d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -1,12 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Net; -using System.Text; -using System.Threading.Tasks; +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups; using Microsoft.Azure.Management.ManagementGroups.Models; using Newtonsoft.Json; @@ -32,12 +25,13 @@ public override void ExecuteCmdlet() ManagementGroupsApiClient.GroupId = GroupId; var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync() .GetAwaiter().GetResult(); + // TODO (sepancha 12/7/2017) - Revisit what to output WriteObject(JsonConvert.SerializeObject(response.Response.ReasonPhrase)); } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 9e82efe86065..3c40f5b2f19d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -1,11 +1,6 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Management.Automation; -using System.Text; -using System.Threading.Tasks; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Commands.ResourceManager.Common; using Microsoft.Azure.Management.ManagementGroups.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets @@ -41,7 +36,7 @@ public override void ExecuteCmdlet() } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index 669af99dee64..aabfe207fbf4 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -1,13 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using System.Threading.Tasks; +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ManagementGroups; using Microsoft.Azure.Management.ManagementGroups.Models; -using Newtonsoft.Json; +using Microsoft.Azure.Commands.ManagementGroups.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { @@ -36,12 +31,12 @@ public override void ExecuteCmdlet() ManagementGroupsApiClient.GroupId = GroupId; var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); - WriteObject(JsonConvert.SerializeObject(response)); + WriteObject(new PSManagementGroup(response)); } catch (ErrorResponseException ex) { - WriteWarning(ex.Message); + Utility.HandleErrorResponseException(ex); } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index e469e450b52b..090724e31cac 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -125,6 +125,13 @@ + + + + + + + @@ -146,6 +153,9 @@ AzureRM.ManagementGroups.psd1 PreserveNewest + + PreserveNewest + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs new file mode 100644 index 000000000000..deea4deb09dc --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs @@ -0,0 +1,49 @@ +using System; + +namespace Microsoft.Azure.Commands.ManagementGroups.Common +{ + using System.Collections.Generic; + using Microsoft.Azure.Management.ManagementGroups.Models; + using Microsoft.Rest.Azure; + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + static class Utility + { + // TODO (sepancha 12/9/2017) - This is temporary until I can figure out a better way to deal with error handling. + public static void HandleErrorResponseException(ErrorResponseException ex) + { + if (!string.IsNullOrEmpty(ex.Response.Content)) + { + Dictionary content; + try + { + content = JsonConvert.DeserializeObject>(ex.Response.Content); + } + catch + { + throw ex; + } + + if (content.ContainsKey("Message")) + { + throw new CloudException(content["Message"].ToString()); + } + + if (content.ContainsKey("error")) + { + JObject errorResponse = (JObject)content["error"]; + JToken errorMessage; + if (errorResponse.TryGetValue("message", StringComparison.InvariantCultureIgnoreCase, out errorMessage)) + { + throw new CloudException(errorMessage.ToString()); + } + } + } + else + { + throw ex; + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml new file mode 100644 index 000000000000..8f8fd4e253c4 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml @@ -0,0 +1,207 @@ + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroup + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroup + + + + + + + + Id + + + + Type + + + + Name + + + + Properties + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + + + + + + + + TenantId + + + + DisplayName + + + + Details + + + + Children + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildrenInfo + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildrenInfo + + + + + + + + ChildType + + + + ChildId + + + + DisplayName + + + + TenantId + + + + Children + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSParentGroupInfo + + Microsoft.Azure.Commands.ManagementGroups.Models.PSParentGroupInfo + + + + + + + + ParentId + + + + DisplayName + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails + + + + + + + + Version + + + + UpdatedTime + + + + UpdatedBy + + + + Parent + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfo + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfo + + + + + + + + Id + + + + Type + + + + Name + + + + Properties + + + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties + + + + + + + + TenantId + + + + DisplayName + + + + Details + + + + + + + + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs new file mode 100644 index 000000000000..559f183c7de4 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs @@ -0,0 +1,48 @@ +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroup + { + public string Id { get; private set; } + + public string Type { get; private set; } + + public string Name { get; private set; } + + public PSManagementGroupProperties Properties { get; private set; } + + public PSManagementGroup() + { + } + + public PSManagementGroup(ManagementGroup managementGroup) + { + if (managementGroup != null) + { + Id = managementGroup.Id; + Type = managementGroup.Type; + Name = managementGroup.Name; + Properties = new PSManagementGroupProperties(managementGroup.Properties); + } + } + } + + public class PSParentGroupInfo + { + public string ParentId { get; set; } + + public string DisplayName { get; set; } + + public PSParentGroupInfo() + { + + } + + public PSParentGroupInfo(ParentGroupInfo parentGroupInfo) + { + this.ParentId = parentGroupInfo.ParentId; + this.DisplayName = parentGroupInfo.DisplayName; + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs new file mode 100644 index 000000000000..8dfe8210f025 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic; +using System.Linq; +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupChildInfo + { + public string ChildType { get; set; } + + public string ChildId { get; set; } + + public string DisplayName { get; set; } + + public System.Guid? TenantId { get; set; } + + public IList Children { get; set; } + + public PSManagementGroupChildInfo() + { + + } + + public PSManagementGroupChildInfo(ManagementGroupChildInfo childInfo) + { + this.ChildType = childInfo.ChildType; + this.ChildId = childInfo.ChildId; + this.DisplayName = childInfo.DisplayName; + this.TenantId = childInfo.TenantId; + if (childInfo.Children != null) + { + this.Children = childInfo.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + } + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs new file mode 100644 index 000000000000..fd48c400e445 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs @@ -0,0 +1,29 @@ +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupDetails + { + public double? Version { get; set; } + + public System.DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public PSParentGroupInfo Parent { get; set; } + + public PSManagementGroupDetails() + { + + } + + public PSManagementGroupDetails(ManagementGroupDetails details) + { + this.Version = details.Version; + this.UpdatedTime = details.UpdatedTime; + this.UpdatedBy = details.UpdatedBy; + this.Parent = new PSParentGroupInfo(details.Parent); + } + + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs new file mode 100644 index 000000000000..4f92924c378c --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs @@ -0,0 +1,30 @@ +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupInfo + { + public string Id { get; private set; } + + public string Type { get; private set; } + + public string Name { get; private set; } + + public PSManagementGroupInfoProperties Properties { get; private set; } + + public PSManagementGroupInfo() + { + } + + public PSManagementGroupInfo(ManagementGroupInfo managementGroup) + { + if (managementGroup != null) + { + Id = managementGroup.Id; + Type = managementGroup.Type; + Name = managementGroup.Name; + Properties = new PSManagementGroupInfoProperties(managementGroup.Properties); + } + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs new file mode 100644 index 000000000000..7a68e3af6338 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs @@ -0,0 +1,24 @@ +using System; +using Microsoft.Azure.Management.ManagementGroups.Models; +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupInfoProperties + { + public Guid? TenantId { get; private set; } + + public string DisplayName { get; private set; } + + public PSManagementGroupDetails Details { get; private set; } + + public PSManagementGroupInfoProperties() + { + + } + + public PSManagementGroupInfoProperties(ManagementGroupInfoProperties managementGroupProperties) + { + this.TenantId = managementGroupProperties.TenantId; + this.DisplayName = managementGroupProperties.DisplayName; + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs new file mode 100644 index 000000000000..3742038a75fc --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Azure.Management.ManagementGroups.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupProperties + { + public Guid? TenantId { get; private set; } + + public string DisplayName { get; private set; } + + public PSManagementGroupDetails Details { get; private set; } + + public IList Children { get; private set; } + + public PSManagementGroupProperties() + { + + } + + public PSManagementGroupProperties(ManagementGroupProperties managementGroupProperties) + { + this.TenantId = managementGroupProperties.TenantId; + this.DisplayName = managementGroupProperties.DisplayName; + this.Details = new PSManagementGroupDetails(managementGroupProperties.Details); + if (managementGroupProperties.Children != null) + { + this.Children = managementGroupProperties.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + } + } + } +} \ No newline at end of file From bd8330318150b0628301623296fda97b572f25fd Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Sat, 9 Dec 2017 13:17:46 -0800 Subject: [PATCH 07/33] Management Group: Forgot to separate out PSParentGroupInfo.cs --- .../Commands.ManagementGroups.csproj | 1 + .../Models/PSParentGroupInfo.cs | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index 090724e31cac..f6b1a3d3bca6 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -132,6 +132,7 @@ + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs new file mode 100644 index 000000000000..8d4874053079 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs @@ -0,0 +1,25 @@ +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + using Microsoft.Azure.Management.ManagementGroups.Models; + + public class PSParentGroupInfo + { + public string ParentId { get; set; } + + public string DisplayName { get; set; } + + public PSParentGroupInfo() + { + + } + + public PSParentGroupInfo(ParentGroupInfo parentGroupInfo) + { + if (parentGroupInfo != null) + { + this.ParentId = parentGroupInfo.ParentId; + this.DisplayName = parentGroupInfo.DisplayName; + } + } + } +} \ No newline at end of file From 08dfd2e153b930cc038db1eadc19d53266bcccf4 Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Sat, 9 Dec 2017 13:19:19 -0800 Subject: [PATCH 08/33] Management Group: Changing GroupId to be GroupName. --- .../Cmdlets/AddAzureRmManagementGroup.cs | 10 +++++----- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 8 ++++---- .../Cmdlets/GetAzureRmManagementGroup.cs | 12 ++++++------ .../Cmdlets/RemoveAzureRmManagementGroup.cs | 8 +++----- .../RemoveAzureRmManagementGroupSubscription.cs | 8 ++++---- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 10 +++++----- .../Commands.ManagementGroups/Common/Constants.cs | 5 +++++ 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs index 24c2247dd787..969f8537ce6b 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs @@ -12,17 +12,17 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class AddAzureRmManagementGroup : AzureManagementGroupsCmdletBase { - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] - public string GroupId { get; set; } + public string GroupName { get; set; } [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + HelpMessage = Constants.HelpMessages.DisplayName, Position = 1)] [ValidateNotNullOrEmpty] public string DisplayName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId, Position = 2)] + HelpMessage = Constants.HelpMessages.ParentId, Position = 2)] [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; @@ -31,7 +31,7 @@ public override void ExecuteCmdlet() try { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; var response = ManagementGroupsApiClient.ManagementGroups.Create(createGroupRequest); WriteObject(new PSManagementGroup(response)); } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 6d037860da76..772ba640df3d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -14,12 +14,12 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets public class AddAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, - HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] - public string GroupId { get; set; } = null; + public string GroupName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, - HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + HelpMessage = Constants.HelpMessages.SubscriptionId, Position = 1)] [ValidateNotNullOrEmpty] public Guid SubscriptonId { get; set; } @@ -27,7 +27,7 @@ public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.CreateWithHttpMessagesAsync() diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 3bbb7ac0d9b0..90509d4f20f5 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -18,24 +18,24 @@ public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase /// /// Get-AzureRmManagementGroup Cmdlet /// - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] - public string GroupId { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] + public string GroupName { get; set; } [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId)] + HelpMessage = Constants.HelpMessages.Expand)] public SwitchParameter Expand; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId)] + HelpMessage = Constants.HelpMessages.Recurse)] public SwitchParameter Recurse; public override void ExecuteCmdlet() { try { - if (!string.IsNullOrEmpty(GroupId)) + if (!string.IsNullOrEmpty(GroupName)) { - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; var response = ManagementGroupsApiClient.ManagementGroups.Get(Expand.IsPresent?"children":null, Recurse.IsPresent); WriteObject(new PSManagementGroup(response)); } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index 8f6d1aa54c9d..0d4aea850ad1 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -14,20 +14,18 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, - HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] - public string GroupId { get; set; } = null; + public string GroupName { get; set; } = null; public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync() .GetAwaiter().GetResult(); - // TODO (sepancha 12/7/2017) - Revisit what to output WriteObject(JsonConvert.SerializeObject(response.Response.ReasonPhrase)); - } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 3c40f5b2f19d..2f55df5d9ef4 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -14,12 +14,12 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, - HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] - public string GroupId { get; set; } = null; + public string GroupName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, - HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + HelpMessage = Constants.HelpMessages.SubscriptionId, Position = 1)] [ValidateNotNullOrEmpty] public Guid SubscriptonId { get; set; } @@ -27,7 +27,7 @@ public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.DeleteWithHttpMessagesAsync() diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index aabfe207fbf4..913ca42630ef 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -9,17 +9,17 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase { - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupId, Position = 0)] + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] - public string GroupId { get; set; } + public string GroupName { get; set; } [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId, Position = 1)] + HelpMessage = Constants.HelpMessages.DisplayName, Position = 1)] [ValidateNotNullOrEmpty] public string DisplayName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.GroupId, Position = 2)] + HelpMessage = Constants.HelpMessages.ParentId, Position = 2)] [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; @@ -28,7 +28,7 @@ public override void ExecuteCmdlet() try { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupId; + ManagementGroupsApiClient.GroupId = GroupName; var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); WriteObject(new PSManagementGroup(response)); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs index 3beed290e733..320d819d1f07 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs @@ -26,6 +26,11 @@ public class HelpMessages { public const string SubscriptionId = "Subscription Id"; public const string GroupId = "Group Id"; + public const string Recurse = "Recurse"; + public const string ParentId = "Parent Id"; + public const string GroupName = "Group Name"; + public const string DisplayName = "Display Name"; + public const string Expand = "Expand"; } } } From ffa88923d3399205d94fa62fed0f2ee39086227c Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Sat, 9 Dec 2017 13:20:04 -0800 Subject: [PATCH 09/33] Management Group: Forgot to include this one in bd8330318150b0628301623296fda97b572f25fd. --- .../Models/PSManagementGroup.cs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs index 559f183c7de4..2ede1ba61b45 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs @@ -27,22 +27,4 @@ public PSManagementGroup(ManagementGroup managementGroup) } } } - - public class PSParentGroupInfo - { - public string ParentId { get; set; } - - public string DisplayName { get; set; } - - public PSParentGroupInfo() - { - - } - - public PSParentGroupInfo(ParentGroupInfo parentGroupInfo) - { - this.ParentId = parentGroupInfo.ParentId; - this.DisplayName = parentGroupInfo.DisplayName; - } - } } From 5d9a0eb84122fea79598306597bfbdeb1b1e9be3 Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Sat, 9 Dec 2017 13:21:01 -0800 Subject: [PATCH 10/33] Management Group: Adding better null checking for various data structures. --- .../Models/PSManagementGroupChildInfo.cs | 15 +++++++++------ .../Models/PSManagementGroupDetails.cs | 11 +++++++---- .../Models/PSManagementGroupInfoProperties.cs | 7 +++++-- .../Models/PSManagementGroupProperties.cs | 13 ++++++++----- 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs index 8dfe8210f025..721d16d3f50d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs @@ -23,13 +23,16 @@ public PSManagementGroupChildInfo() public PSManagementGroupChildInfo(ManagementGroupChildInfo childInfo) { - this.ChildType = childInfo.ChildType; - this.ChildId = childInfo.ChildId; - this.DisplayName = childInfo.DisplayName; - this.TenantId = childInfo.TenantId; - if (childInfo.Children != null) + if (childInfo != null) { - this.Children = childInfo.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + this.ChildType = childInfo.ChildType; + this.ChildId = childInfo.ChildId; + this.DisplayName = childInfo.DisplayName; + this.TenantId = childInfo.TenantId; + if (childInfo.Children != null) + { + this.Children = childInfo.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + } } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs index fd48c400e445..0fcb6372a29b 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs @@ -19,10 +19,13 @@ public PSManagementGroupDetails() public PSManagementGroupDetails(ManagementGroupDetails details) { - this.Version = details.Version; - this.UpdatedTime = details.UpdatedTime; - this.UpdatedBy = details.UpdatedBy; - this.Parent = new PSParentGroupInfo(details.Parent); + if (details != null) + { + this.Version = details.Version; + this.UpdatedTime = details.UpdatedTime; + this.UpdatedBy = details.UpdatedBy; + this.Parent = new PSParentGroupInfo(details.Parent); + } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs index 7a68e3af6338..edf7ebe6b953 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs @@ -17,8 +17,11 @@ public PSManagementGroupInfoProperties() public PSManagementGroupInfoProperties(ManagementGroupInfoProperties managementGroupProperties) { - this.TenantId = managementGroupProperties.TenantId; - this.DisplayName = managementGroupProperties.DisplayName; + if (managementGroupProperties != null) + { + this.TenantId = managementGroupProperties.TenantId; + this.DisplayName = managementGroupProperties.DisplayName; + } } } } \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs index 3742038a75fc..d8df40a80729 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs @@ -22,12 +22,15 @@ public PSManagementGroupProperties() public PSManagementGroupProperties(ManagementGroupProperties managementGroupProperties) { - this.TenantId = managementGroupProperties.TenantId; - this.DisplayName = managementGroupProperties.DisplayName; - this.Details = new PSManagementGroupDetails(managementGroupProperties.Details); - if (managementGroupProperties.Children != null) + if (managementGroupProperties != null) { - this.Children = managementGroupProperties.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + this.TenantId = managementGroupProperties.TenantId; + this.DisplayName = managementGroupProperties.DisplayName; + this.Details = new PSManagementGroupDetails(managementGroupProperties.Details); + if (managementGroupProperties.Children != null) + { + this.Children = managementGroupProperties.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + } } } } From 5ac42e0c081dfe3cfd642cfa110b9381da71adea Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Mon, 11 Dec 2017 17:21:26 -0800 Subject: [PATCH 11/33] Adding help files. --- .../Commands.ManagementGroups.csproj | 8 +- .../help/Add-AzureRmManagementGroup.md | 147 ++++++++++++++++ .../Add-AzureRmManagementGroupSubscription.md | 96 +++++++++++ .../help/Get-AzureRmManagementGroup.md | 158 ++++++++++++++++++ .../help/Remove-AzureRmManagementGroup.md | 88 ++++++++++ ...move-AzureRmManagementGroupSubscription.md | 96 +++++++++++ .../help/Update-AzureRmManagementGroup.md | 129 ++++++++++++++ 7 files changed, 721 insertions(+), 1 deletion(-) create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index f6b1a3d3bca6..e17addb12218 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -165,6 +165,12 @@ + + + + + + - \ No newline at end of file + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md new file mode 100644 index 000000000000..b8093552bbd4 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md @@ -0,0 +1,147 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Add-AzureRmManagementGroup + +## SYNOPSIS +Creates a Management Group + +## SYNTAX + +``` +Add-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] + [-DefaultProfile ] +``` + +## DESCRIPTION +The **Add-AzureRMManagementGroup** cmdlet creates a management group. + +## EXAMPLES + +### Example 1: Create a Management Group +``` +PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroup" + + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + +``` + + +### Example 2: Create a Management Group with a parent +``` +PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroupChild" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroup" + + +Id : /providers/Microsoft.Management/managementGroups/TestGroupChild +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupChild +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + +``` + + +### Example 3: Create a Management Group with a parent and a display name +``` +PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroupSecondChild" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroup" -DisplayName "Test Group Second Child" + + +Id : /providers/Microsoft.Management/managementGroups/TestGroupSecondChild +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupSecondChild +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + +``` + + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +Display Name for the Management Group. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Group Name + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ParentId +Parent Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) + +[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) + +[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md new file mode 100644 index 000000000000..7874afd42e73 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md @@ -0,0 +1,96 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Add-AzureRmManagementGroupSubscription + +## SYNOPSIS +Adds a Subscription to a Management Group. + +## SYNTAX + +``` +Add-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptonId] + [-DefaultProfile ] +``` + +## DESCRIPTION +The **Add-AzureRMManagementGroupSubscription** cmdlet adds a Subscription to a Management Group. + +## EXAMPLES + +### Example 1 - Add Subscription to Management Group +``` +PS C:\> Add-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptonId 2120692d-35c3-44c8-81f5-631fa7351726 +OK +``` + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +The GroupName of the Management Group to add the Subscription to. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptonId +The SubscriptionId to add to the Management Group. + +```yaml +Type: Guid +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Remove-AzureRmManagementGroupSubscription](./Remove-AzureRmManagementGroupSubscription.md) + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md new file mode 100644 index 000000000000..7d3bee18e1d4 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md @@ -0,0 +1,158 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Get-AzureRmManagementGroup + +## SYNOPSIS +Gets Management Group(s) + +## SYNTAX + +``` +Get-AzureRmManagementGroup [[-GroupName] ] [-DefaultProfile ] [-Expand] + [-Recurse] +``` + +## DESCRIPTION +The **Get-AzureRMManagementGroup** cmdlet Gets all or a specific Management Group. + +## EXAMPLES + +### Example 1 - Get all Management Groups +``` +PS C:\> Get-AzureRMManagementGroup + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties + +Id : /providers/Microsoft.Management/managementGroups/TestGroupChild +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupChild +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties + +``` + + +### Example 2 - Get specific Management Group +``` +PS C:\> Get-AzureRMManagementGroup -GroupName "TestGroup" + + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties + +``` + + +### Example 3 - Get specific Management Group and first level of hierarchy +``` +PS C:\> $group = Get-AzureRMManagementGroup -GroupName "TestGroup" -Expand +PS C:\> $group | Select-Object -ExpandProperty Properties + +TenantId : 2c33d20c-ab29-45d2-8e17-0ac41fffd8e5 +DisplayName : Test Group +Details : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails +Children : {Test Group Second Child, Test Group Third Child, Test Group Fourth Child, Test Group First Child} + +``` + + +### Example 4 - Get specific Management Group and all levels of hiearchy +``` +PS C:\> Get-AzureRMManagementGroup -GroupName "TestGroup" -Expand -Recurse + +``` + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +Specifies if the Management Group's first level of hierarchy should be retrieved. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +The Group Name of the Management Group to search for. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Recurse +Specifies if the Management Group's entire hierarchy should be retrieved. Note that **Expand** must be present in order to correctly retrieve the Management Group's hierarchy. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + + +## OUTPUTS + +### Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroup + + +## NOTES + +## RELATED LINKS + +[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) + +[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) + +[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md new file mode 100644 index 000000000000..95fec78d7d22 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md @@ -0,0 +1,88 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Remove-AzureRmManagementGroup + +## SYNOPSIS +Removes a Management Group + +## SYNTAX + +``` +Remove-AzureRmManagementGroup [-GroupName] [-DefaultProfile ] +``` + +## DESCRIPTION +The **Remove-AzureRMManagementGroup** cmdlet deletes a Management Group. + +## EXAMPLES + +### Example 1 - Remove a Management Group +``` +PS C:\> Remove-AzureRMManagementGroup -GroupName "TestGroup" + +"OK" + +``` + + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +The Group Name of the Management Group to delete. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) + +[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) + +[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md new file mode 100644 index 000000000000..6ae33b7add6c --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md @@ -0,0 +1,96 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Remove-AzureRmManagementGroupSubscription + +## SYNOPSIS +Removes a Subscription from a Management Group. + +## SYNTAX + +``` +Remove-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptonId] + [-DefaultProfile ] +``` + +## DESCRIPTION +The **Remove-AzureRMManagementGroupSubscription** cmdlet removes a Subscription from a Management Group. + +## EXAMPLES + +### Example 1 - Remove Subscription from Management Group +``` +PS C:\> Remove-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptonId 2120692d-35c3-44c8-81f5-631fa7351726 +OK +``` + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +The GroupName of the Management Group to add the Subscription to. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptonId +The SubscriptionId to remove from the Management Group. + +```yaml +Type: Guid +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Get-AzureRmManagementGroupSubscription](./Get-AzureRmManagementGroupSubscription.md) + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md new file mode 100644 index 000000000000..d39c81d044d8 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md @@ -0,0 +1,129 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Update-AzureRmManagementGroup + +## SYNOPSIS +Updates a Management Group + +## SYNTAX + +``` +Update-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] + [-DefaultProfile ] +``` + +## DESCRIPTION +The **Update-AzureRMManagementGroup** cmdlet updates the **ParentId** or **DisplayName** for a Management Group. + +## EXAMPLES + +### Example 1 - Update Management Group DisplayName +``` +PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -DisplayName "Adjusted Test Group Display Name" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties +``` + +### Example 2 - Update Management Group ParentId +``` +PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroupParent" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties +``` + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +The new DisplayName + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +The GroupName of the Management Group to update. + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ParentId +The new ParentId + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) + +[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) + +[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) + From 3605bfd9fefcb77093356467b001c6034b664a0c Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Tue, 12 Dec 2017 09:03:00 -0800 Subject: [PATCH 12/33] Management Groups: Fixing typo for (Add|Remove)-AzureRmMangementGroupSubscription where SubscriptionId was accidentally SubscriptonId. --- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 4 ++-- .../Cmdlets/RemoveAzureRmManagementGroupSubscription.cs | 4 ++-- .../help/Add-AzureRmManagementGroupSubscription.md | 6 +++--- .../help/Remove-AzureRmManagementGroupSubscription.md | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 772ba640df3d..531695168823 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -21,14 +21,14 @@ public class AddAzureRmManagementGroupSubscription : AzureManagementGroupsCmdlet [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.SubscriptionId, Position = 1)] [ValidateNotNullOrEmpty] - public Guid SubscriptonId { get; set; } + public Guid SubscriptionId { get; set; } public override void ExecuteCmdlet() { try { ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); + ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.CreateWithHttpMessagesAsync() .GetAwaiter().GetResult(); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 2f55df5d9ef4..12671a6184a8 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -21,14 +21,14 @@ public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmd [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.SubscriptionId, Position = 1)] [ValidateNotNullOrEmpty] - public Guid SubscriptonId { get; set; } + public Guid SubscriptionId { get; set; } public override void ExecuteCmdlet() { try { ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptonId.ToString(); + ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.DeleteWithHttpMessagesAsync() .GetAwaiter().GetResult(); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md index 7874afd42e73..e80146d742ea 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md @@ -13,7 +13,7 @@ Adds a Subscription to a Management Group. ## SYNTAX ``` -Add-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptonId] +Add-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] [-DefaultProfile ] ``` @@ -24,7 +24,7 @@ The **Add-AzureRMManagementGroupSubscription** cmdlet adds a Subscription to a M ### Example 1 - Add Subscription to Management Group ``` -PS C:\> Add-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptonId 2120692d-35c3-44c8-81f5-631fa7351726 +PS C:\> Add-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 OK ``` @@ -60,7 +60,7 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -SubscriptonId +### -SubscriptionId The SubscriptionId to add to the Management Group. ```yaml diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md index 6ae33b7add6c..64fe513a7ff5 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md @@ -13,7 +13,7 @@ Removes a Subscription from a Management Group. ## SYNTAX ``` -Remove-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptonId] +Remove-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] [-DefaultProfile ] ``` @@ -24,7 +24,7 @@ The **Remove-AzureRMManagementGroupSubscription** cmdlet removes a Subscription ### Example 1 - Remove Subscription from Management Group ``` -PS C:\> Remove-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptonId 2120692d-35c3-44c8-81f5-631fa7351726 +PS C:\> Remove-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 OK ``` @@ -60,7 +60,7 @@ Accept pipeline input: False Accept wildcard characters: False ``` -### -SubscriptonId +### -SubscriptionId The SubscriptionId to remove from the Management Group. ```yaml From 87933a9ed6b63da76f13d465d23016c1124f23d8 Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Thu, 14 Dec 2017 17:21:33 -0800 Subject: [PATCH 13/33] Adding support for cmdlets to precheck registration and auto register for a RP. --- .../Commands.ManagementGroups.csproj | 5 +- ...reManagementGroupAutoRegisterCmdletBase.cs | 7 ++ ...ckRegistrationAndAutoRegisterCmdletBase.cs | 35 +++++++++ ...trationAndAutoRegisterDelegatingHandler.cs | 78 +++++++++++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index e17addb12218..bada830f2c00 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -123,7 +123,10 @@ + + + @@ -178,4 +181,4 @@ --> - + \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs new file mode 100644 index 000000000000..868f7f7fd612 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs @@ -0,0 +1,7 @@ +namespace Microsoft.Azure.Commands.ManagementGroups.Common +{ + public abstract class AzureManagementGroupAutoRegisterCmdletBase : AzurePrecheckRegistrationAndAutoRegisterCmdletBase + { + protected override string ProviderNamespace => "Microsoft.Management"; + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs new file mode 100644 index 000000000000..01883132cfbf --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs @@ -0,0 +1,35 @@ +namespace Microsoft.Azure.Commands.ManagementGroups.Common +{ + using Microsoft.Azure.Commands.Common.Authentication; + using Microsoft.Azure.Commands.Common.Authentication.Abstractions; + using Microsoft.Azure.Management.Internal.Resources; + + public abstract class AzurePrecheckRegistrationAndAutoRegisterCmdletBase : AzureManagementGroupsCmdletBase + { + protected abstract string ProviderNamespace { get; } + + protected override void BeginProcessing() + { + AzureSession.Instance.ClientFactory.RemoveHandler(typeof(AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler)); + IAzureContext context; + if (TryGetDefaultContext(out context) + && context.Account != null + && context.Subscription != null) + { + AzureSession.Instance.ClientFactory.AddHandler(new AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler( + this.ProviderNamespace, + () => + { + var client = new ResourceManagementClient( + context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager), + AzureSession.Instance.AuthenticationFactory.GetServiceClientCredentials(context, AzureEnvironment.Endpoint.ResourceManager)); + client.SubscriptionId = context.Subscription.Id; + return client; + }, + s => DebugMessages.Enqueue(s))); + } + + base.BeginProcessing(); + } + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs new file mode 100644 index 000000000000..98a408336d59 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs @@ -0,0 +1,78 @@ +namespace Microsoft.Azure.Commands.ManagementGroups.Common +{ + using System; + using System.Collections.Generic; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + using Microsoft.Azure.Commands.ResourceManager.Common.Properties; + using Microsoft.Azure.Management.Internal.Resources; + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Rest.Azure; + using Microsoft.WindowsAzure.Commands.Utilities.Common; + + public class AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler : DelegatingHandler, ICloneable + { + private const short RetryCount = 10; + + private Func createClient; + + private Action writeDebug; + + private string providerName; + + public ResourceManagementClient ResourceManagementClient { get; set; } + + public AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler(string providerName, Func createClient, Action writeDebug) + { + this.providerName = providerName; + this.writeDebug = writeDebug; + this.createClient = createClient; + } + + protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) + { + HttpResponseMessage responseMessage = null; + try + { + ResourceManagementClient = createClient(); + writeDebug($"Attempting to check if Subscription is registered with {this.providerName}"); + var provider = ResourceManagementClient.Providers.Get(this.providerName); + if (provider.RegistrationState != RegistrationState.Registered) + { + writeDebug(string.Format(Resources.ResourceProviderRegisterAttempt, this.providerName)); + short retryCount = 0; + do + { + if (retryCount++ > RetryCount) + { + throw new TimeoutException(); + } + provider = ResourceManagementClient.Providers.Register(this.providerName); + TestMockSupport.Delay(2000); + } while (provider.RegistrationState != RegistrationState.Registered); + writeDebug(string.Format(Resources.ResourceProviderRegisterSuccessful, this.providerName)); + } + + responseMessage = await base.SendAsync(request, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + writeDebug(string.Format(Resources.ResourceProviderRegisterFailure, this.providerName, e.Message)); + + if (e.Message?.IndexOf("does not have authorization") >= 0 && e.Message?.IndexOf("register/action", + StringComparison.InvariantCultureIgnoreCase) >= 0) + { + throw new CloudException(e.Message); + } + } + + return responseMessage; + } + + public object Clone() + { + return new AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler(this.providerName, createClient, writeDebug); + } + } +} \ No newline at end of file From b4b73127a28f012e6df97317a9ee14eb395c47a9 Mon Sep 17 00:00:00 2001 From: "REDMOND\\sepancha" Date: Thu, 14 Dec 2017 17:22:04 -0800 Subject: [PATCH 14/33] Modifying the (Add|Remove)-AzureRmManagementGroupSubscription cmdlets to auto register. --- .../Cmdlets/AddAzureRmManagementGroupSubscription.cs | 2 +- .../Cmdlets/RemoveAzureRmManagementGroupSubscription.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs index 531695168823..176cab42279a 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - public class AddAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase + public class AddAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 12671a6184a8..e12bef542e00 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupsCmdletBase + public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] From cfffa986c37d1dc53edc1398b9c213b1f5179595 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Wed, 31 Jan 2018 17:26:04 -0800 Subject: [PATCH 15/33] Updated cmdlets --- setup/azurecmdfiles.wxi | 4308 +---------------- .../AzureRM.ManagementGroups.psd1 | 4 +- .../Cmdlets/GetAzureRmManagementGroup.cs | 4 +- ...tGroup.cs => NewAzureRmManagementGroup.cs} | 27 +- ... NewAzureRmManagementGroupSubscription.cs} | 24 +- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 19 +- ...emoveAzureRmManagementGroupSubscription.cs | 20 +- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 21 +- .../Commands.ManagementGroups.csproj | 30 +- .../Common/AzureManagementGroupsCmdletBase.cs | 2 +- .../Common/Constants.cs | 15 +- .../Common/Utility.cs | 2 +- ...re.Commands.ManagementGroups.Format.ps1xml | 120 +- .../Models/PSManagementGroup.cs | 30 +- .../Models/PSManagementGroupChildInfo.cs | 11 +- .../Models/PSManagementGroupDetails.cs | 32 - .../Models/PSManagementGroupInfo.cs | 19 +- .../Models/PSManagementGroupInfoProperties.cs | 27 - .../Models/PSManagementGroupProperties.cs | 37 - .../Models/PSParentGroupInfo.cs | 6 +- .../Resource.Designer.cs | 153 + .../Commands.ManagementGroups/Resource.resx | 150 + .../help/Add-AzureRmManagementGroup.md | 147 - .../Add-AzureRmManagementGroupSubscription.md | 96 - .../help/Get-AzureRmManagementGroup.md | 158 - .../help/Remove-AzureRmManagementGroup.md | 88 - ...move-AzureRmManagementGroupSubscription.md | 96 - .../help/Update-AzureRmManagementGroup.md | 129 - .../Commands.ManagementGroups/packages.config | 2 +- .../ManagementGroups/ManagementGroups.sln | 12 + tools/CreateMappings_rules.json | 2 + 31 files changed, 664 insertions(+), 5127 deletions(-) rename src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/{AddAzureRmManagementGroup.cs => NewAzureRmManagementGroup.cs} (52%) rename src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/{AddAzureRmManagementGroupSubscription.cs => NewAzureRmManagementGroupSubscription.cs} (55%) delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.Designer.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.resx delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md diff --git a/setup/azurecmdfiles.wxi b/setup/azurecmdfiles.wxi index 632eab758fc6..b137fa3536d4 100644 --- a/setup/azurecmdfiles.wxi +++ b/setup/azurecmdfiles.wxi @@ -2,4224 +2,256 @@ - - - - - - - - - - - - + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 index cdabe45ddc8c..96cf420456c2 100644 --- a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 +++ b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 @@ -54,7 +54,7 @@ CLRVersion = '4.0' RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; }) # Assemblies that must be loaded prior to importing this module -RequiredAssemblies = '.\Microsoft.Azure.Management.ManagementGroups.dll' +RequiredAssemblies = '.\Microsoft.Azure.Management.ResourceManager.dll' # Script files (.ps1) that are run in the caller's environment prior to importing this module. # ScriptsToProcess = @() @@ -72,7 +72,7 @@ NestedModules = @('.\Microsoft.Azure.Commands.ManagementGroups.dll') FunctionsToExport = @() # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. -CmdletsToExport = 'Get-AzureRmManagementGroup', 'Add-AzureRmManagementGroup', 'Update-AzureRmManagementGroup', 'Remove-AzureRmManagementGroup', 'Add-AzureRmManagementGroupSubscription', 'Remove-AzureRmManagementGroupSubscription' +CmdletsToExport = 'Get-AzureRmManagementGroup', 'New-AzureRmManagementGroup', 'Update-AzureRmManagementGroup', 'Remove-AzureRmManagementGroup', 'New-AzureRmManagementGroupSubscription', 'Remove-AzureRmManagementGroupSubscription' # Variables to export from this module # VariablesToExport = @() diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 90509d4f20f5..67369583d583 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups; -using Microsoft.Azure.Management.ManagementGroups.Models; using Microsoft.Azure.Commands.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs similarity index 52% rename from src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs rename to src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs index 969f8537ce6b..34af29c292ab 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs @@ -1,16 +1,16 @@ using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups; -using Microsoft.Azure.Management.ManagementGroups.Models; using Microsoft.Azure.Commands.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { /// - /// Add-AzureRmManagementGroup Cmdlet + /// New-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - public class AddAzureRmManagementGroup : AzureManagementGroupsCmdletBase + [Cmdlet(VerbsCommon.New, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + public class NewAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] [ValidateNotNullOrEmpty] @@ -26,14 +26,23 @@ public class AddAzureRmManagementGroup : AzureManagementGroupsCmdletBase [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.Force, Position = 3)] + public SwitchParameter Force { get; set; } + public override void ExecuteCmdlet() { try { - CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupName; - var response = ManagementGroupsApiClient.ManagementGroups.Create(createGroupRequest); - WriteObject(new PSManagementGroup(response)); + if (Force.IsPresent || ShouldProcess( + string.Format(Resource.NewManagementGroupShouldProcessTarget, GroupName), + string.Format(Resource.NewManagementGroupShouldProcessAction, GroupName))) + { + CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); + ManagementGroupsApiClient.GroupId = GroupName; + var response = ManagementGroupsApiClient.ManagementGroups.CreateOrUpdate(createGroupRequest); + WriteObject(new PSManagementGroup(response)); + } } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs similarity index 55% rename from src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs rename to src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs index 176cab42279a..997aa86c0b53 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/AddAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs @@ -1,17 +1,18 @@ using System; using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { /// /// Add-AzureRmManagementGroupSubscription Cmdlet /// - [Cmdlet(VerbsCommon.Add, "AzureRmManagementGroupSubscription", + [Cmdlet(VerbsCommon.New, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] - public class AddAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase + public class NewAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] @@ -23,16 +24,23 @@ public class AddAzureRmManagementGroupSubscription : AzureManagementGroupAutoReg [ValidateNotNullOrEmpty] public Guid SubscriptionId { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.Force, Position = 2)] + public SwitchParameter Force { get; set; } + public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); + if (Force.IsPresent || ShouldProcess( + string.Format(Resource.NewManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName), + string.Format(Resource.NewManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) + { + ManagementGroupsApiClient.GroupId = GroupName; + ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); - var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.CreateWithHttpMessagesAsync() - .GetAwaiter().GetResult(); - WriteObject(response.Response.ReasonPhrase); + ManagementGroupsApiClient.ManagementGroupSubscriptions.Create(); + } } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index 0d4aea850ad1..8a82a79d7a81 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -1,6 +1,7 @@ using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; using Newtonsoft.Json; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets @@ -18,14 +19,22 @@ public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase [ValidateNotNullOrEmpty] public string GroupName { get; set; } = null; + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.Force, Position = 1)] + public SwitchParameter Force { get; set; } + public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupName; - var response = ManagementGroupsApiClient.ManagementGroups.DeleteWithHttpMessagesAsync() - .GetAwaiter().GetResult(); - WriteObject(JsonConvert.SerializeObject(response.Response.ReasonPhrase)); + if (Force.IsPresent || ShouldProcess( + string.Format(Resource.RemoveManagementGroupShouldProcessTarget, GroupName), + string.Format(Resource.RemoveManagementGroupShouldProcessAction, GroupName))) + { + ManagementGroupsApiClient.GroupId = GroupName; + + ManagementGroupsApiClient.ManagementGroups.Delete(); + } } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index e12bef542e00..41bf93e56910 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -1,7 +1,8 @@ using System; using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { @@ -23,16 +24,23 @@ public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupAuto [ValidateNotNullOrEmpty] public Guid SubscriptionId { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.Force, Position = 2)] + public SwitchParameter Force { get; set; } + public override void ExecuteCmdlet() { try { - ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); + if (Force.IsPresent || ShouldProcess( + string.Format(Resource.RemoveManagementGroupSubShouldProcessTarget, SubscriptionId,GroupName), + string.Format(Resource.RemoveManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) + { + ManagementGroupsApiClient.GroupId = GroupName; + ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); - var response = ManagementGroupsApiClient.ManagementGroupSubscriptions.DeleteWithHttpMessagesAsync() - .GetAwaiter().GetResult(); - WriteObject(response.Response.ReasonPhrase); + ManagementGroupsApiClient.ManagementGroupSubscriptions.Delete(); + } } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index 913ca42630ef..b38800ef4976 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -1,8 +1,8 @@ using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; -using Microsoft.Azure.Management.ManagementGroups; -using Microsoft.Azure.Management.ManagementGroups.Models; using Microsoft.Azure.Commands.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { @@ -23,16 +23,25 @@ public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + HelpMessage = Constants.HelpMessages.Force, Position = 3)] + public SwitchParameter Force { get; set; } + public override void ExecuteCmdlet() { try { - CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupName; + if (Force.IsPresent || ShouldProcess( + string.Format(Resource.UpdateManagementGroupShouldProcessTarget, GroupName), + string.Format(Resource.UpdateManagementGroupShouldProcessAction, GroupName))) + { + CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); + ManagementGroupsApiClient.GroupId = GroupName; - var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); - WriteObject(new PSManagementGroup(response)); + var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); + WriteObject(new PSManagementGroup(response)); + } } catch (ErrorResponseException ex) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index bada830f2c00..adc1a4b3a93e 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -49,8 +49,8 @@ ..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll True - - ..\packages\Microsoft.Azure.Management.ManagementGroups.1.0.0-preview\lib\net452\Microsoft.Azure.Management.ManagementGroups.dll + + ..\packages\Microsoft.Azure.Management.ResourceManager.1.7.0-preview\lib\net452\Microsoft.Azure.Management.ResourceManager.dll True @@ -117,8 +117,8 @@ - - + + @@ -131,12 +131,14 @@ - - - + + True + True + Resource.resx + @@ -151,17 +153,31 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common + + {8058d403-06e3-4bed-8924-d166ce303961} + Commands.Resources.Rest + AzureRM.ManagementGroups.psd1 PreserveNewest + PreserveNewest + + + + + + ResXFileCodeGenerator + Resource.Designer.cs + + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs index 1a4a4bccdadf..882fd9bdf326 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupsCmdletBase.cs @@ -17,7 +17,7 @@ using Microsoft.Azure.Commands.Common.Authentication; using Microsoft.Azure.Commands.Common.Authentication.Abstractions; using Microsoft.Azure.Commands.ResourceManager.Common; -using Microsoft.Azure.Management.ManagementGroups; +using Microsoft.Azure.Management.ResourceManager; namespace Microsoft.Azure.Commands.ManagementGroups.Common { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs index 320d819d1f07..8cda1d260001 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs @@ -24,13 +24,14 @@ public class ParameterSetNames public class HelpMessages { - public const string SubscriptionId = "Subscription Id"; - public const string GroupId = "Group Id"; - public const string Recurse = "Recurse"; - public const string ParentId = "Parent Id"; - public const string GroupName = "Group Name"; - public const string DisplayName = "Display Name"; - public const string Expand = "Expand"; + public const string SubscriptionId = "Subscription Id of the subscription associated witht the management"; + public const string GroupId = "Management Group Id"; + public const string Recurse = "Recursively list the children of the management group"; + public const string ParentId = "Parent Id of the management group"; + public const string GroupName = "Management Group Id"; + public const string DisplayName = "Display Name of the management group"; + public const string Expand = "Expand the output to list the children of the management group"; + public const string Force = "Force the action and skip confirmations"; } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs index deea4deb09dc..8ebc6547100c 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs @@ -3,8 +3,8 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Common { using System.Collections.Generic; - using Microsoft.Azure.Management.ManagementGroups.Models; using Microsoft.Rest.Azure; + using Microsoft.Azure.Management.ResourceManager.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml index 8f8fd4e253c4..eeb33f84afb0 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml @@ -22,24 +22,6 @@ Name - - - Properties - - - - - - - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - - - - - TenantId @@ -47,24 +29,36 @@ DisplayName + + + + UpdatedTime + + + + UpdatedBy + + + + ParentId - - Details + + ParentDisplayName Children - + - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildrenInfo + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildInfo - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildrenInfo + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildInfo @@ -82,10 +76,6 @@ DisplayName - - - TenantId - Children @@ -95,58 +85,6 @@ - - Microsoft.Azure.Commands.ManagementGroups.Models.PSParentGroupInfo - - Microsoft.Azure.Commands.ManagementGroups.Models.PSParentGroupInfo - - - - - - - - ParentId - - - - DisplayName - - - - - - - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails - - - - - - - - Version - - - - UpdatedTime - - - - UpdatedBy - - - - Parent - - - - - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfo @@ -168,24 +106,6 @@ Name - - - Properties - - - - - - - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties - - Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties - - - - - TenantId @@ -193,11 +113,7 @@ DisplayName - - - - Details - + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs index 2ede1ba61b45..2fb014aa2468 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs @@ -1,4 +1,6 @@ -using Microsoft.Azure.Management.ManagementGroups.Models; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models { @@ -10,7 +12,20 @@ public class PSManagementGroup public string Name { get; private set; } - public PSManagementGroupProperties Properties { get; private set; } + public string TenantId { get; private set; } + + public string DisplayName { get; private set; } + + public System.DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public string ParentId { get; set; } + + public string ParentDisplayName { get; set; } + + public IList Children { get; private set; } + public PSManagementGroup() { @@ -23,7 +38,16 @@ public PSManagementGroup(ManagementGroup managementGroup) Id = managementGroup.Id; Type = managementGroup.Type; Name = managementGroup.Name; - Properties = new PSManagementGroupProperties(managementGroup.Properties); + TenantId = managementGroup.TenantId; + DisplayName = managementGroup.DisplayName; + UpdatedTime = managementGroup.Details.UpdatedTime; + UpdatedBy = managementGroup.Details.UpdatedBy; + ParentId = managementGroup.Details.Parent.ParentId; + ParentDisplayName = managementGroup.Details.Parent.DisplayName; + if (managementGroup.Children != null) + { + this.Children = managementGroup.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); + } } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs index 721d16d3f50d..18ecd77e153c 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs @@ -1,18 +1,14 @@ using System.Collections.Generic; using System.Linq; -using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models { public class PSManagementGroupChildInfo { public string ChildType { get; set; } - - public string ChildId { get; set; } - public string DisplayName { get; set; } - - public System.Guid? TenantId { get; set; } + public string ChildId { get; set; } public IList Children { get; set; } @@ -26,9 +22,8 @@ public PSManagementGroupChildInfo(ManagementGroupChildInfo childInfo) if (childInfo != null) { this.ChildType = childInfo.ChildType; - this.ChildId = childInfo.ChildId; this.DisplayName = childInfo.DisplayName; - this.TenantId = childInfo.TenantId; + this.ChildId = childInfo.ChildId; if (childInfo.Children != null) { this.Children = childInfo.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs deleted file mode 100644 index 0fcb6372a29b..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupDetails.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Microsoft.Azure.Management.ManagementGroups.Models; - -namespace Microsoft.Azure.Commands.ManagementGroups.Models -{ - public class PSManagementGroupDetails - { - public double? Version { get; set; } - - public System.DateTime? UpdatedTime { get; set; } - - public string UpdatedBy { get; set; } - - public PSParentGroupInfo Parent { get; set; } - - public PSManagementGroupDetails() - { - - } - - public PSManagementGroupDetails(ManagementGroupDetails details) - { - if (details != null) - { - this.Version = details.Version; - this.UpdatedTime = details.UpdatedTime; - this.UpdatedBy = details.UpdatedBy; - this.Parent = new PSParentGroupInfo(details.Parent); - } - } - - } -} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs index 4f92924c378c..50337badc0e9 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs @@ -1,4 +1,4 @@ -using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models { @@ -10,20 +10,23 @@ public class PSManagementGroupInfo public string Name { get; private set; } - public PSManagementGroupInfoProperties Properties { get; private set; } + public string TenantId { get; private set; } + + public string DisplayName { get; private set; } public PSManagementGroupInfo() { } - public PSManagementGroupInfo(ManagementGroupInfo managementGroup) + public PSManagementGroupInfo(ManagementGroupInfo managementGroupInfo) { - if (managementGroup != null) + if (managementGroupInfo != null) { - Id = managementGroup.Id; - Type = managementGroup.Type; - Name = managementGroup.Name; - Properties = new PSManagementGroupInfoProperties(managementGroup.Properties); + Id = managementGroupInfo.Id; + Type = managementGroupInfo.Type; + Name = managementGroupInfo.Name; + TenantId = managementGroupInfo.TenantId; + DisplayName = managementGroupInfo.DisplayName; } } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs deleted file mode 100644 index edf7ebe6b953..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfoProperties.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using Microsoft.Azure.Management.ManagementGroups.Models; -namespace Microsoft.Azure.Commands.ManagementGroups.Models -{ - public class PSManagementGroupInfoProperties - { - public Guid? TenantId { get; private set; } - - public string DisplayName { get; private set; } - - public PSManagementGroupDetails Details { get; private set; } - - public PSManagementGroupInfoProperties() - { - - } - - public PSManagementGroupInfoProperties(ManagementGroupInfoProperties managementGroupProperties) - { - if (managementGroupProperties != null) - { - this.TenantId = managementGroupProperties.TenantId; - this.DisplayName = managementGroupProperties.DisplayName; - } - } - } -} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs deleted file mode 100644 index d8df40a80729..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupProperties.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.Azure.Management.ManagementGroups.Models; - -namespace Microsoft.Azure.Commands.ManagementGroups.Models -{ - public class PSManagementGroupProperties - { - public Guid? TenantId { get; private set; } - - public string DisplayName { get; private set; } - - public PSManagementGroupDetails Details { get; private set; } - - public IList Children { get; private set; } - - public PSManagementGroupProperties() - { - - } - - public PSManagementGroupProperties(ManagementGroupProperties managementGroupProperties) - { - if (managementGroupProperties != null) - { - this.TenantId = managementGroupProperties.TenantId; - this.DisplayName = managementGroupProperties.DisplayName; - this.Details = new PSManagementGroupDetails(managementGroupProperties.Details); - if (managementGroupProperties.Children != null) - { - this.Children = managementGroupProperties.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); - } - } - } - } -} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs index 8d4874053079..3763c72055af 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs @@ -1,7 +1,7 @@ -namespace Microsoft.Azure.Commands.ManagementGroups.Models -{ - using Microsoft.Azure.Management.ManagementGroups.Models; +using Microsoft.Azure.Management.ResourceManager.Models; +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ public class PSParentGroupInfo { public string ParentId { get; set; } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.Designer.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.Designer.cs new file mode 100644 index 000000000000..a7b6125dc55a --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.Designer.cs @@ -0,0 +1,153 @@ +//------------------------------------------------------------------------------ +// +// 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.ManagementGroups { + 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 Resource { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resource() { + } + + /// + /// 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.ManagementGroups.Resource", typeof(Resource).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 Are you sure you want to create a new management group named "{0}"?. + /// + internal static string NewManagementGroupShouldProcessAction { + get { + return ResourceManager.GetString("NewManagementGroupShouldProcessAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating management group "{0}". + /// + internal static string NewManagementGroupShouldProcessTarget { + get { + return ResourceManager.GetString("NewManagementGroupShouldProcessTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to add subscription {0} to group "{1}"?. + /// + internal static string NewManagementGroupSubShouldProcessAction { + get { + return ResourceManager.GetString("NewManagementGroupSubShouldProcessAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Adding subscription {0} to group "{1}". + /// + internal static string NewManagementGroupSubShouldProcessTarget { + get { + return ResourceManager.GetString("NewManagementGroupSubShouldProcessTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing management group "{0}". + /// + internal static string RemoveManagementGroupShouldProcessAction { + get { + return ResourceManager.GetString("RemoveManagementGroupShouldProcessAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove management group "{0}"?. + /// + internal static string RemoveManagementGroupShouldProcessTarget { + get { + return ResourceManager.GetString("RemoveManagementGroupShouldProcessTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removing subscription {0} from group "{1}". + /// + internal static string RemoveManagementGroupSubShouldProcessAction { + get { + return ResourceManager.GetString("RemoveManagementGroupSubShouldProcessAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove subscription {0} from group "{1}"?. + /// + internal static string RemoveManagementGroupSubShouldProcessTarget { + get { + return ResourceManager.GetString("RemoveManagementGroupSubShouldProcessTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updating management group "{0}". + /// + internal static string UpdateManagementGroupShouldProcessAction { + get { + return ResourceManager.GetString("UpdateManagementGroupShouldProcessAction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to update management group "{0}"?. + /// + internal static string UpdateManagementGroupShouldProcessTarget { + get { + return ResourceManager.GetString("UpdateManagementGroupShouldProcessTarget", resourceCulture); + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.resx b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.resx new file mode 100644 index 000000000000..1b954d34bc01 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Resource.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Are you sure you want to create a new management group named "{0}"? + + + Creating management group "{0}" + + + Are you sure you want to add subscription {0} to group "{1}"? + + + Adding subscription {0} to group "{1}" + + + Removing management group "{0}" + + + Are you sure you want to remove management group "{0}"? + + + Removing subscription {0} from group "{1}" + + + Are you sure you want to remove subscription {0} from group "{1}"? + + + Updating management group "{0}" + + + Are you sure you want to update management group "{0}"? + + \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md deleted file mode 100644 index b8093552bbd4..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroup.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Add-AzureRmManagementGroup - -## SYNOPSIS -Creates a Management Group - -## SYNTAX - -``` -Add-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] - [-DefaultProfile ] -``` - -## DESCRIPTION -The **Add-AzureRMManagementGroup** cmdlet creates a management group. - -## EXAMPLES - -### Example 1: Create a Management Group -``` -PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroup" - - -Id : /providers/Microsoft.Management/managementGroups/TestGroup -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroup -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - -``` - - -### Example 2: Create a Management Group with a parent -``` -PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroupChild" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroup" - - -Id : /providers/Microsoft.Management/managementGroups/TestGroupChild -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroupChild -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - -``` - - -### Example 3: Create a Management Group with a parent and a display name -``` -PS C:\> Add-AzureRMManagementGroup -GroupName "TestGroupSecondChild" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroup" -DisplayName "Test Group Second Child" - - -Id : /providers/Microsoft.Management/managementGroups/TestGroupSecondChild -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroupSecondChild -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - -``` - - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -DisplayName -Display Name for the Management Group. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -Group Name - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -ParentId -Parent Id - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 2 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### None - - -## OUTPUTS - -### System.String - - -## NOTES - -## RELATED LINKS - -[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) - -[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) - -[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md deleted file mode 100644 index e80146d742ea..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Add-AzureRmManagementGroupSubscription.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Add-AzureRmManagementGroupSubscription - -## SYNOPSIS -Adds a Subscription to a Management Group. - -## SYNTAX - -``` -Add-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] - [-DefaultProfile ] -``` - -## DESCRIPTION -The **Add-AzureRMManagementGroupSubscription** cmdlet adds a Subscription to a Management Group. - -## EXAMPLES - -### Example 1 - Add Subscription to Management Group -``` -PS C:\> Add-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 -OK -``` - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -The GroupName of the Management Group to add the Subscription to. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -SubscriptionId -The SubscriptionId to add to the Management Group. - -```yaml -Type: Guid -Parameter Sets: (All) -Aliases: - -Required: True -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### None - - -## OUTPUTS - -### System.String - - -## NOTES - -## RELATED LINKS - -[Remove-AzureRmManagementGroupSubscription](./Remove-AzureRmManagementGroupSubscription.md) - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md deleted file mode 100644 index 7d3bee18e1d4..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Get-AzureRmManagementGroup - -## SYNOPSIS -Gets Management Group(s) - -## SYNTAX - -``` -Get-AzureRmManagementGroup [[-GroupName] ] [-DefaultProfile ] [-Expand] - [-Recurse] -``` - -## DESCRIPTION -The **Get-AzureRMManagementGroup** cmdlet Gets all or a specific Management Group. - -## EXAMPLES - -### Example 1 - Get all Management Groups -``` -PS C:\> Get-AzureRMManagementGroup - -Id : /providers/Microsoft.Management/managementGroups/TestGroup -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroup -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties - -Id : /providers/Microsoft.Management/managementGroups/TestGroupChild -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroupChild -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupInfoProperties - -``` - - -### Example 2 - Get specific Management Group -``` -PS C:\> Get-AzureRMManagementGroup -GroupName "TestGroup" - - -Id : /providers/Microsoft.Management/managementGroups/TestGroup -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroup -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties - -``` - - -### Example 3 - Get specific Management Group and first level of hierarchy -``` -PS C:\> $group = Get-AzureRMManagementGroup -GroupName "TestGroup" -Expand -PS C:\> $group | Select-Object -ExpandProperty Properties - -TenantId : 2c33d20c-ab29-45d2-8e17-0ac41fffd8e5 -DisplayName : Test Group -Details : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupDetails -Children : {Test Group Second Child, Test Group Third Child, Test Group Fourth Child, Test Group First Child} - -``` - - -### Example 4 - Get specific Management Group and all levels of hiearchy -``` -PS C:\> Get-AzureRMManagementGroup -GroupName "TestGroup" -Expand -Recurse - -``` - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -Expand -Specifies if the Management Group's first level of hierarchy should be retrieved. - -```yaml -Type: SwitchParameter -Parameter Sets: (All) -Aliases: - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -The Group Name of the Management Group to search for. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -Recurse -Specifies if the Management Group's entire hierarchy should be retrieved. Note that **Expand** must be present in order to correctly retrieve the Management Group's hierarchy. - -```yaml -Type: SwitchParameter -Parameter Sets: (All) -Aliases: - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### None - - -## OUTPUTS - -### Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroup - - -## NOTES - -## RELATED LINKS - -[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) - -[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) - -[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md deleted file mode 100644 index 95fec78d7d22..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Remove-AzureRmManagementGroup - -## SYNOPSIS -Removes a Management Group - -## SYNTAX - -``` -Remove-AzureRmManagementGroup [-GroupName] [-DefaultProfile ] -``` - -## DESCRIPTION -The **Remove-AzureRMManagementGroup** cmdlet deletes a Management Group. - -## EXAMPLES - -### Example 1 - Remove a Management Group -``` -PS C:\> Remove-AzureRMManagementGroup -GroupName "TestGroup" - -"OK" - -``` - - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -The Group Name of the Management Group to delete. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - - -## INPUTS - -### None - - -## OUTPUTS - -### System.String - - -## NOTES - -## RELATED LINKS - -[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) - -[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) - -[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md deleted file mode 100644 index 64fe513a7ff5..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Remove-AzureRmManagementGroupSubscription - -## SYNOPSIS -Removes a Subscription from a Management Group. - -## SYNTAX - -``` -Remove-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] - [-DefaultProfile ] -``` - -## DESCRIPTION -The **Remove-AzureRMManagementGroupSubscription** cmdlet removes a Subscription from a Management Group. - -## EXAMPLES - -### Example 1 - Remove Subscription from Management Group -``` -PS C:\> Remove-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 -OK -``` - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -The GroupName of the Management Group to add the Subscription to. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -SubscriptionId -The SubscriptionId to remove from the Management Group. - -```yaml -Type: Guid -Parameter Sets: (All) -Aliases: - -Required: True -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### None - - -## OUTPUTS - -### System.String - - -## NOTES - -## RELATED LINKS - -[Get-AzureRmManagementGroupSubscription](./Get-AzureRmManagementGroupSubscription.md) - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md deleted file mode 100644 index d39c81d044d8..000000000000 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml -Module Name: AzureRM.ManagementGroups -online version: -schema: 2.0.0 ---- - -# Update-AzureRmManagementGroup - -## SYNOPSIS -Updates a Management Group - -## SYNTAX - -``` -Update-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] - [-DefaultProfile ] -``` - -## DESCRIPTION -The **Update-AzureRMManagementGroup** cmdlet updates the **ParentId** or **DisplayName** for a Management Group. - -## EXAMPLES - -### Example 1 - Update Management Group DisplayName -``` -PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -DisplayName "Adjusted Test Group Display Name" - -Id : /providers/Microsoft.Management/managementGroups/TestGroup -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroup -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties -``` - -### Example 2 - Update Management Group ParentId -``` -PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroupParent" - -Id : /providers/Microsoft.Management/managementGroups/TestGroup -Type : /providers/Microsoft.Management/managementGroups -Name : TestGroup -Properties : Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupProperties -``` - -## PARAMETERS - -### -DefaultProfile -The credentials, account, tenant, and subscription used for communication with azure. - -```yaml -Type: IAzureContextContainer -Parameter Sets: (All) -Aliases: AzureRmContext, AzureCredential - -Required: False -Position: Named -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -DisplayName -The new DisplayName - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 1 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -GroupName -The GroupName of the Management Group to update. - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: True -Position: 0 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### -ParentId -The new ParentId - -```yaml -Type: String -Parameter Sets: (All) -Aliases: - -Required: False -Position: 2 -Default value: None -Accept pipeline input: False -Accept wildcard characters: False -``` - -### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). - -## INPUTS - -### None - - -## OUTPUTS - -### System.String - - -## NOTES - -## RELATED LINKS - -[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) - -[Add-AzureRmManagementGroup](./Add-AzureRmManagementGroup.md) - -[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config index 11bbf5a4f4a4..a79869a20acf 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config @@ -4,7 +4,7 @@ - + diff --git a/src/ResourceManager/ManagementGroups/ManagementGroups.sln b/src/ResourceManager/ManagementGroups/ManagementGroups.sln index 4508d9e430b0..993ea53dd911 100644 --- a/src/ResourceManager/ManagementGroups/ManagementGroups.sln +++ b/src/ResourceManager/ManagementGroups/ManagementGroups.sln @@ -23,6 +23,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManager.Co 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.Resources", "..\Resources\Commands.Resources\Commands.Resources.csproj", "{E1F5201D-6067-430E-B303-4E367652991B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources.Rest", "..\Resources\Commands.ResourceManager\Cmdlets\Commands.Resources.Rest.csproj", "{8058D403-06E3-4BED-8924-D166CE303961}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -69,6 +73,14 @@ Global {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 + {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 + {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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/tools/CreateMappings_rules.json b/tools/CreateMappings_rules.json index d5544a2ee176..4c27d5532414 100644 --- a/tools/CreateMappings_rules.json +++ b/tools/CreateMappings_rules.json @@ -127,5 +127,7 @@ { "regex": "AD", "group": "Resources", "alias": "Active Directory" }, { "regex": "Resources", "group": "Resources", "alias": "Resources" }, + { "regex": "ManagementGroups", "alias": "Management Groups"}, + { "regex": "LocationBasedServices", "alias": "Location Based Services" } ] From c831a329bb122d18b0822e926dedcbf5a5a36142 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Thu, 1 Feb 2018 05:01:13 -0800 Subject: [PATCH 16/33] Adding Tests and minor changes to cmdlets --- .../Commands.ManagementGroups.Test.csproj | 254 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 35 +++ .../GetAzureRmManagementGroupTests.cs | 47 ++++ .../GetAzureRmManagementGroupTests.ps1 | 141 ++++++++++ .../GroupSubscriptionOperationsTests.cs | 32 +++ .../GroupSubscriptionOperationsTests.ps1 | 30 +++ .../NewAzureRmManagementGroupTests.cs | 46 ++++ .../NewAzureRmManagementGroupTests.ps1 | 98 +++++++ .../RemoveAzureRmManagementGroupTests.cs | 25 ++ .../RemoveAzureRmManagementGroupTests.ps1 | 26 ++ .../ScenarioTests/TestController.cs | 173 ++++++++++++ .../UpdateAzureRmManagementGroupTests.cs | 46 ++++ .../UpdateAzureRmManagementGroupTests.ps1 | 102 +++++++ .../TestGetManagementGroup.json | 86 ++++++ .../TestGetManagementGroupWithExpand.json | 86 ++++++ ...etManagementGroupWithExpandAndRecurse.json | 86 ++++++ .../TestListManagementGroups.json | 86 ++++++ .../TestNewManagementGroupSubscription.json | 77 ++++++ ...TestRemoveManagementGroupSubscription.json | 77 ++++++ .../TestNewManagementGroup.json | 92 +++++++ ...TestNewManagementGroupWithDisplayName.json | 92 +++++++ ...gementGroupWithDisplayNameAndParentId.json | 92 +++++++ .../TestNewManagementGroupWithParentId.json | 92 +++++++ .../TestRemoveManagementGroup.json | 80 ++++++ .../TestUpdateManagementGroup.json | 92 +++++++ ...tUpdateManagementGroupWithDisplayName.json | 92 +++++++ ...gementGroupWithDisplayNameAndParentId.json | 92 +++++++ ...TestUpdateManagementGroupWithParentId.json | 92 +++++++ .../packages.config | 30 +++ .../Cmdlets/GetAzureRmManagementGroup.cs | 17 +- .../Cmdlets/NewAzureRmManagementGroup.cs | 5 +- .../NewAzureRmManagementGroupSubscription.cs | 7 +- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 8 +- ...emoveAzureRmManagementGroupSubscription.cs | 7 +- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 8 +- .../Commands.ManagementGroups.csproj | 5 +- ...trationAndAutoRegisterDelegatingHandler.cs | 1 - ...re.Commands.ManagementGroups.Format.ps1xml | 50 ++++ .../Models/PSManagementGroup.cs | 15 +- .../Models/PSManagementGroupNoChildren.cs | 59 ++++ .../Properties/AssemblyInfo.cs | 1 - .../help/Get-AzureRmManagementGroup.md | 223 +++++++++++++++ .../help/New-AzureRmManagementGroup.md | 201 ++++++++++++++ .../New-AzureRmManagementGroupSubscription.md | 136 ++++++++++ .../help/Remove-AzureRmManagementGroup.md | 121 +++++++++ ...move-AzureRmManagementGroupSubscription.md | 136 ++++++++++ .../help/Update-AzureRmManagementGroup.md | 180 +++++++++++++ .../ManagementGroups/ManagementGroups.sln | 34 +++ 48 files changed, 3576 insertions(+), 37 deletions(-) create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.ps1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.ps1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.ps1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.ps1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.ps1 create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroup.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpand.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpandAndRecurse.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestListManagementGroups.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewManagementGroupSubscription.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestRemoveManagementGroupSubscription.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroup.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayName.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayNameAndParentId.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithParentId.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.RemoveAzureRmManagementGroupTests/TestRemoveManagementGroup.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroup.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayName.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayNameAndParentId.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithParentId.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/packages.config create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroupSubscription.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj new file mode 100644 index 000000000000..2e30d638ffa5 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj @@ -0,0 +1,254 @@ + + + + + + Debug + AnyCPU + {B0671436-C487-4CD4-AF06-28B4BE57D9E6} + Library + Properties + Commands.ManagementGroups.Test + Commands.ManagementGroups.Test + v4.5.2 + 512 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Hyak.Common.1.0.3\lib\net45\Hyak.Common.dll + True + + + ..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll + True + + + ..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + True + + + ..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll + True + + + ..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + True + + + ..\packages\Microsoft.Azure.Management.ResourceManager.1.7.0-preview\lib\net452\Microsoft.Azure.Management.ResourceManager.dll + True + + + ..\packages\Microsoft.Azure.Management.Resources.2.20.0-preview\lib\net40\Microsoft.Azure.ResourceManager.dll + True + + + ..\packages\Microsoft.Azure.Test.Framework.1.0.6179.26854-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + True + + + ..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll + True + + + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + True + + + ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.9-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + True + + + ..\packages\Microsoft.Rest.ClientRuntime.Azure.TestFramework.1.5.1-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.TestFramework.dll + True + + + ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll + True + + + ..\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 + True + + + ..\packages\Microsoft.WindowsAzure.Management.4.0.1\lib\net40\Microsoft.WindowsAzure.Management.dll + True + + + ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + True + + + + + False + C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll + + + + ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll + True + + + ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll + True + + + + + + + + + + ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll + True + + + ..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll + True + + + ..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll + True + + + ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll + True + + + + + + + + + + + + + + {70527617-7598-4aef-b5bd-db9186b8184b} + Commands.Common.Authentication.Abstractions + + + {d3804b64-c0d3-48f8-82ec-1f632f833c9e} + Commands.Common.Authentication + + + {5ee72c53-1720-4309-b54b-5fb79703195f} + Commands.Common + + + {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} + Commands.ResourceManager.Common + + + {3436a126-edc9-4060-8952-9a1be34cdd95} + Commands.ScenarioTests.ResourceManager.Common + + + {8058d403-06e3-4bed-8924-d166ce303961} + Commands.Resources.Rest + + + {119c7b00-03e7-481d-a74f-cf6ce3920cb8} + Commands.ManagementGroups + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..b240668a549b --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +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("Commands.ManagementGroups.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Commands.ManagementGroups.Test")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[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("b0671436-c487-4cd4-af06-28b4be57d9e6")] + +// 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/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs new file mode 100644 index 000000000000..55ff7a49a8db --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs @@ -0,0 +1,47 @@ +using Microsoft.Azure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Xunit; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class GetAzureRmManagementGroupTests + { + private readonly Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor _logger; + + public GetAzureRmManagementGroupTests(Xunit.Abstractions.ITestOutputHelper output) + { + _logger = new Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor(output); + Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(_logger); + TestExecutionHelpers.SetUpSessionAndProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestListManagementGroups() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-ListManagementGroups"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetManagementGroup() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-GetManagementGroup"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetManagementGroupWithExpand() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-GetManagementGroupWithExpand"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetManagementGroupWithExpandAndRecurse() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-GetManagementGroupWithExpandAndRecurse"); + } + + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.ps1 b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.ps1 new file mode 100644 index 000000000000..f6bbc4739260 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.ps1 @@ -0,0 +1,141 @@ +# ---------------------------------------------------------------------------------- +# +# 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 +Test Get-AzureRmManagementGroup +#> + +function Test-ListManagementGroups +{ + $response = Get-AzureRmManagementGroup + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedGroupCount = 8 + + $expectedIdForGroup2 = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedNameForGroup2 = "testGroup123" + $expectedDisplayNameForGroup2 = "TestGroup123" + + Assert-NotNull $response + + Assert-AreEqual $response.Count $expectedGroupCount + Assert-AreEqual $response[0].TenantId $expectedTenantId + Assert-AreEqual $response[0].Type $expectedType + + Assert-AreEqual $response[1].TenantId $expectedTenantId + Assert-AreEqual $response[1].Type $expectedType + Assert-AreEqual $response[1].Id $expectedIdForGroup2 + Assert-AreEqual $response[1].Name $expectedNameForGroup2 + Assert-AreEqual $response[1].DisplayName $expectedDisplayNameForGroup2 +} + +function Test-GetManagementGroup +{ + $response = Get-AzureRmManagementGroup -GroupName testGroup123 + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedName = "testGroup123" + $expectedDisplayName = "TestGroup123" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedParentDisplayName = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + + Assert-NotNull $response + Assert-Null $response.Children + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + +function Test-GetManagementGroupWithExpand +{ + $response = Get-AzureRmManagementGroup -GroupName testGroup123 -Expand + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedName = "testGroup123" + $expectedDisplayName = "TestGroup123" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedParentDisplayName = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + + $expectedChild0Id = "/providers/Microsoft.Management/managementGroups/testGroup123Child1" + $expectedChild0DisplayName = "TestGroup123->Child1" + + $expectedChild1Id = "/subscriptions/394ae65d-9e71-4462-930f-3332dedf845c" + $expectedChild1DisplayName = "Pay-As-You-Go" + + + Assert-NotNull $response + Assert-NotNull $response.Children + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName + + Assert-AreEqual $response.Children[0].ChildId $expectedChild0Id + Assert-AreEqual $response.Children[0].DisplayName $expectedChild0DisplayName + + Assert-AreEqual $response.Children[1].ChildId $expectedChild1Id + Assert-AreEqual $response.Children[1].DisplayName $expectedChild1DisplayName +} + +function Test-GetManagementGroupWithExpandAndRecurse +{ + $response = Get-AzureRmManagementGroup -GroupName testGroup123 -Expand -Recurse + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedName = "testGroup123" + $expectedDisplayName = "TestGroup123" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedParentDisplayName = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + + $expectedChild0Id = "/providers/Microsoft.Management/managementGroups/testGroup123Child1" + $expectedChild0DisplayName = "TestGroup123->Child1" + + $expectedChild0Child0Id = "/providers/Microsoft.Management/managementGroups/testGroup123Child1Child1" + $expectedChild0Child0DisplayName = "TestGroup123->Child1->Child1" + + + Assert-NotNull $response + Assert-NotNull $response.Children + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName + + Assert-AreEqual $response.Children[0].ChildId $expectedChild0Id + Assert-AreEqual $response.Children[0].DisplayName $expectedChild0DisplayName + + Assert-AreEqual $response.Children[0].Children[0].ChildId $expectedChild0Child0Id + Assert-AreEqual $response.Children[0].Children[0].DisplayName $expectedChild0Child0DisplayName +} + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs new file mode 100644 index 000000000000..0e632403a109 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs @@ -0,0 +1,32 @@ +using Microsoft.Azure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Xunit; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class GroupSubscriptionOperationsTests + { + private readonly Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor _logger; + + public GroupSubscriptionOperationsTests(Xunit.Abstractions.ITestOutputHelper output) + { + _logger = new Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor(output); + Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(_logger); + TestExecutionHelpers.SetUpSessionAndProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewManagementGroupSubscription() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-NewManagementGroupSubscription"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestRemoveManagementGroupSubscription() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-RemoveManagementGroupSubscription"); + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.ps1 b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.ps1 new file mode 100644 index 000000000000..d42daf78e6e7 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.ps1 @@ -0,0 +1,30 @@ +# ---------------------------------------------------------------------------------- +# +# Copyright Microsoft Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ---------------------------------------------------------------------------------- + +<# +.SYNOPSIS +Test GroupSubscriptionOperations +#> + +function Test-NewManagementGroupSubscription +{ + $response = New-AzureRmManagementGroupSubscription -GroupName testGroup123 -SubscriptionId 8158c3e6-0c47-4d68-af4c-d521343aa3f8 + Assert-Null $response +} + +function Test-RemoveManagementGroupSubscription +{ + $response = Remove-AzureRmManagementGroupSubscription -GroupName testGroup123 -SubscriptionId 8158c3e6-0c47-4d68-af4c-d521343aa3f8 + Assert-Null $response +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs new file mode 100644 index 000000000000..b8cea8791f09 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs @@ -0,0 +1,46 @@ +using Microsoft.Azure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Xunit; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class NewAzureRmManagementGroupTests + { + private readonly Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor _logger; + + public NewAzureRmManagementGroupTests(Xunit.Abstractions.ITestOutputHelper output) + { + _logger = new Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor(output); + Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(_logger); + TestExecutionHelpers.SetUpSessionAndProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewManagementGroup() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-NewManagementGroup"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewManagementGroupWithDisplayName() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-NewManagementGroupWithDisplayName"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewManagementGroupWithParentId() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-NewManagementGroupWithParentId"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewManagementGroupWithDisplayNameAndParentId() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-NewManagementGroupWithDisplayNameAndParentId"); + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.ps1 b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.ps1 new file mode 100644 index 000000000000..ed7d49cb0563 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.ps1 @@ -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. +# ---------------------------------------------------------------------------------- + +<# +.SYNOPSIS +Test New-AzureRmManagementGroup +#> + +function Test-NewManagementGroup +{ + $response = New-AzureRmManagementGroup -GroupName TestPSNewGroup4 + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup4" + $expectedName = "TestPSNewGroup4" + $expectedDisplayName = "TestPSNewGroup4" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-Null $response.ParentId + Assert-Null $response.ParentDisplayName +} + +function Test-NewManagementGroupWithDisplayName +{ + $response = New-AzureRmManagementGroup -GroupName TestPSNewGroup1 -DisplayName TestNewGrp1DisplayName + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup1" + $expectedName = "TestPSNewGroup1" + $expectedDisplayName = "TestNewGrp1DisplayName" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-Null $response.ParentId + Assert-Null $response.ParentDisplayName +} + +function Test-NewManagementGroupWithParentId +{ + $response = New-AzureRmManagementGroup -GroupName TestPSNewGroup2 -ParentId /providers/Microsoft.Management/managementGroups/testGroup123 + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup2" + $expectedName = "TestPSNewGroup2" + $expectedDisplayName = "TestPSNewGroup2" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedParentDisplayName = "TestGroup123" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + +function Test-NewManagementGroupWithDisplayNameAndParentId +{ + $response = New-AzureRmManagementGroup -GroupName TestPSNewGroup3 -DisplayName TestNewGrp3DisplayName -ParentId /providers/Microsoft.Management/managementGroups/testGroup123 + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup3" + $expectedName = "TestPSNewGroup3" + $expectedDisplayName = "TestNewGrp3DisplayName" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedParentDisplayName = "TestGroup123" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs new file mode 100644 index 000000000000..ddf22988460f --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs @@ -0,0 +1,25 @@ +using Microsoft.Azure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Xunit; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class RemoveAzureRmManagementGroupTests + { + private readonly Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor _logger; + + public RemoveAzureRmManagementGroupTests(Xunit.Abstractions.ITestOutputHelper output) + { + _logger = new Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor(output); + Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(_logger); + TestExecutionHelpers.SetUpSessionAndProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestRemoveManagementGroup() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-RemoveManagementGroup"); + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.ps1 b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.ps1 new file mode 100644 index 000000000000..408f58361ae5 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.ps1 @@ -0,0 +1,26 @@ +# ---------------------------------------------------------------------------------- +# +# 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 +Test Remove-AzureRmManagementGroup +#> + +function Test-RemoveManagementGroup +{ + $response = Remove-AzureRmManagementGroup -GroupName TestPSNewGroup3 + + Assert-Null $response +} + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs new file mode 100644 index 000000000000..fe3a54f7eb22 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs @@ -0,0 +1,173 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Azure.Commands.Common.Authentication; +using Microsoft.Azure.Gallery; +using Microsoft.Azure.Management.Authorization; +using Microsoft.Azure.Management.ResourceManager; +using Microsoft.Azure.Test; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; +using ResourceManagementClient = Microsoft.Azure.Management.Resources.ResourceManagementClient; +using SubscriptionClient = Microsoft.Azure.Subscriptions.SubscriptionClient; +using TestBase = Microsoft.Azure.Test.TestBase; +using TestEnvironmentFactory = Microsoft.Rest.ClientRuntime.Azure.TestFramework.TestEnvironmentFactory; +using TestUtilities = Microsoft.Azure.Test.TestUtilities; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class TestController : RMTestBase + { + private CSMTestEnvironmentFactory _csmTestFactory; + + private readonly EnvironmentSetupHelper _helper; + + public Microsoft.Azure.Management.Resources.ResourceManagementClient ResourceManagementClient { get; private set; } + + public Microsoft.Azure.Subscriptions.SubscriptionClient SubscriptionClient { get; private set; } + + public GalleryClient GalleryClient { get; private set; } + + public AuthorizationManagementClient AuthorizationManagementClient { get; private set; } + + public ManagementGroupsAPIClient ManagementGroupsApiClient { get; private set; } + + public static TestController NewInstance + { + get + { + return new TestController(); + } + } + + protected TestController() + { + _helper = new EnvironmentSetupHelper(); + } + + protected void SetupManagementClients(MockContext context) + { + ResourceManagementClient = GetResourceManagementClient(); + SubscriptionClient = GetSubscriptionClient(); + GalleryClient = GetGalleryClient(); + AuthorizationManagementClient = GetAuthorizationManagementClient(); + ManagementGroupsApiClient = GetManagementGroupsApiClient(context); + + _helper.SetupManagementClients( + ManagementGroupsApiClient, + ResourceManagementClient, + SubscriptionClient, + GalleryClient, + AuthorizationManagementClient); + } + + public void RunPowerShellTest(Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor logger, params string[] scripts) + { + var callingClassType = TestUtilities.GetCallingClass(2); + var mockName = TestUtilities.GetCurrentMethodName(2); + + _helper.TracingInterceptor = logger; + RunPsTestWorkflow( + () => scripts, + // no custom initializer + null, + // no custom cleanup + null, + callingClassType, + mockName); + } + + public void RunPsTestWorkflow( + Func scriptBuilder, + Action initialize, + Action cleanup, + string callingClassType, + string mockName) + { + + var providers = new Dictionary(); + providers.Add("Microsoft.Resources", null); + providers.Add("Microsoft.Features", null); + providers.Add("Microsoft.Authorization", null); + providers.Add("Microsoft.Compute", null); + + var providersToIgnore = new Dictionary(); + providersToIgnore.Add("Microsoft.Azure.Management.Resources.ResourceManagementClient", "2016-02-01"); + HttpMockServer.Matcher = new PermissiveRecordMatcherWithApiExclusion(true, providers, providersToIgnore); + + HttpMockServer.RecordsDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SessionRecords"); + + using (var context = MockContext.Start(callingClassType, mockName)) + { + + _csmTestFactory = new CSMTestEnvironmentFactory(); + + if (initialize != null) + { + initialize(_csmTestFactory); + } + + SetupManagementClients(context); + + _helper.SetupEnvironment(AzureModule.AzureResourceManager); + + var callingClassName = callingClassType + .Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries) + .Last(); + + _helper.SetupModules(AzureModule.AzureResourceManager, + _helper.RMProfileModule, + @"AzureRM.ManagementGroups.psd1", + "ScenarioTests\\" + callingClassName + ".ps1"); + try + { + if (scriptBuilder != null) + { + var psScripts = scriptBuilder(); + + if (psScripts != null) + { + _helper.RunPowerShellTest(psScripts); + } + } + } + finally + { + if (cleanup != null) + { + cleanup(); + } + } + } + } + + + protected ResourceManagementClient GetResourceManagementClient() + { + return TestBase.GetServiceClient(_csmTestFactory); + } + + protected AuthorizationManagementClient GetAuthorizationManagementClient() + { + return TestBase.GetServiceClient(_csmTestFactory); + } + + protected SubscriptionClient GetSubscriptionClient() + { + return TestBase.GetServiceClient(_csmTestFactory); + } + + protected GalleryClient GetGalleryClient() + { + return TestBase.GetServiceClient(_csmTestFactory); + } + + protected ManagementGroupsAPIClient GetManagementGroupsApiClient(MockContext context) + { + return context.GetServiceClient(TestEnvironmentFactory.GetTestEnvironment()); + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs new file mode 100644 index 000000000000..78cd25beddf9 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs @@ -0,0 +1,46 @@ +using Microsoft.Azure.Commands.ScenarioTest; +using Microsoft.WindowsAzure.Commands.ScenarioTest; +using Xunit; + +namespace Commands.ManagementGroups.Test.ScenarioTests +{ + public class UpdateAzureRmManagementGroupTests + { + private readonly Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor _logger; + + public UpdateAzureRmManagementGroupTests(Xunit.Abstractions.ITestOutputHelper output) + { + _logger = new Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor(output); + Microsoft.Azure.ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(_logger); + TestExecutionHelpers.SetUpSessionAndProfile(); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestUpdateManagementGroup() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-UpdateManagementGroup"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestUpdateManagementGroupWithDisplayName() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-UpdateManagementGroupWithDisplayName"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestUpdateManagementGroupWithParentId() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-UpdateManagementGroupWithParentId"); + } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestUpdateManagementGroupWithDisplayNameAndParentId() + { + TestController.NewInstance.RunPowerShellTest(_logger, @"Test-UpdateManagementGroupWithDisplayNameAndParentId"); + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.ps1 b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.ps1 new file mode 100644 index 000000000000..9b108bafde54 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.ps1 @@ -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. +# ---------------------------------------------------------------------------------- + +<# +.SYNOPSIS +Test Update-AzureRmManagementGroup +#> + +function Test-UpdateManagementGroup +{ + $response = Update-AzureRmManagementGroup -GroupName TestPSNewGroup3 + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup3" + $expectedName = "TestPSNewGroup3" + $expectedDisplayName = "TestPSNewGroup3" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedParentDisplayName = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + +function Test-UpdateManagementGroupWithDisplayName +{ + $response = Update-AzureRmManagementGroup -GroupName TestPSNewGroup2 -DisplayName TestNewGrp2DisplayName + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup2" + $expectedName = "TestPSNewGroup2" + $expectedDisplayName = "TestNewGrp2DisplayName" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedParentDisplayName = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + +function Test-UpdateManagementGroupWithParentId +{ + $response = Update-AzureRmManagementGroup -GroupName TestPSNewGroup1 -ParentId /providers/Microsoft.Management/managementGroups/testGroup123 + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup1" + $expectedName = "TestPSNewGroup1" + $expectedDisplayName = "TestPSNewGroup1" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedParentDisplayName = "TestGroup123" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + +function Test-UpdateManagementGroupWithDisplayNameAndParentId +{ + $response = Update-AzureRmManagementGroup -GroupName TestPSNewGroup4 -DisplayName TestNewGrp4DisplayName -ParentId /providers/Microsoft.Management/managementGroups/testGroup123 + + $expectedTenantId = "6b2064b9-34bd-46e6-9092-52f2dd5f7fc0" + $expectedType = "/providers/Microsoft.Management/managementGroups" + $expectedId = "/providers/Microsoft.Management/managementGroups/TestPSNewGroup4" + $expectedName = "TestPSNewGroup4" + $expectedDisplayName = "TestNewGrp4DisplayName" + $expectedParentId = "/providers/Microsoft.Management/managementGroups/testGroup123" + $expectedParentDisplayName = "TestGroup123" + + Assert-AreEqual $response.TenantId $expectedTenantId + Assert-AreEqual $response.Type $expectedType + Assert-AreEqual $response.Id $expectedId + Assert-AreEqual $response.Name $expectedName + Assert-AreEqual $response.DisplayName $expectedDisplayName + Assert-AreEqual $response.ParentId $expectedParentId + Assert-AreEqual $response.ParentDisplayName $expectedParentDisplayName +} + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroup.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroup.json new file mode 100644 index 000000000000..b22825ea2f20 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroup.json @@ -0,0 +1,86 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/testGroup123?api-version=2017-11-01-preview&$recurse=false", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL3Rlc3RHcm91cDEyMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXcmJHJlY3Vyc2U9ZmFsc2U=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "c6dec386-9904-4b26-89e2-d5bab302e09d" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-01-30T08:31:44.3076091Z\",\r\n \"updatedBy\": \"64360beb-ffb4-43a8-9314-01aa34db95a9\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "527" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14982" + ], + "x-ms-request-id": [ + "westus:397ce8dd-7577-4081-83c9-45714e5b0b06" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "6de07308-562f-47cf-9136-5778bc36be7c" + ], + "x-ms-correlation-request-id": [ + "dadbd193-7905-4760-a485-c70bcd1e5c02" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095230Z:dadbd193-7905-4760-a485-c70bcd1e5c02" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:52:30 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpand.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpand.json new file mode 100644 index 000000000000..f666fe828414 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpand.json @@ -0,0 +1,86 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/testGroup123?api-version=2017-11-01-preview&$expand=children&$recurse=false", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL3Rlc3RHcm91cDEyMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXcmJGV4cGFuZD1jaGlsZHJlbiYkcmVjdXJzZT1mYWxzZQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "29a6a819-20ec-45f9-b318-a95bdcb9068c" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-01-30T08:31:44.3076091Z\",\r\n \"updatedBy\": \"64360beb-ffb4-43a8-9314-01aa34db95a9\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n },\r\n \"children\": [\r\n {\r\n \"childType\": \"/managementGroup\",\r\n \"childId\": \"/providers/Microsoft.Management/managementGroups/testGroup123Child1\",\r\n \"displayName\": \"TestGroup123->Child1\"\r\n },\r\n {\r\n \"childType\": \"/subscription\",\r\n \"childId\": \"/subscriptions/394ae65d-9e71-4462-930f-3332dedf845c\",\r\n \"displayName\": \"Pay-As-You-Go\"\r\n }\r\n ]\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "814" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14979" + ], + "x-ms-request-id": [ + "westus:d45c4962-8622-42fe-8f81-4ce097e39564" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "f515e438-450e-479d-8297-f318b9e80a74" + ], + "x-ms-correlation-request-id": [ + "1a055ce4-f7fb-45ca-af1a-e91ceb8c79e9" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095235Z:1a055ce4-f7fb-45ca-af1a-e91ceb8c79e9" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:52:35 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpandAndRecurse.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpandAndRecurse.json new file mode 100644 index 000000000000..a76b61edb7d6 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestGetManagementGroupWithExpandAndRecurse.json @@ -0,0 +1,86 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/testGroup123?api-version=2017-11-01-preview&$expand=children&$recurse=true", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL3Rlc3RHcm91cDEyMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXcmJGV4cGFuZD1jaGlsZHJlbiYkcmVjdXJzZT10cnVl", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "abd054e4-e4ad-464c-8e58-3ce8e8387fed" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-01-30T08:31:44.3076091Z\",\r\n \"updatedBy\": \"64360beb-ffb4-43a8-9314-01aa34db95a9\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n },\r\n \"children\": [\r\n {\r\n \"childType\": \"/managementGroup\",\r\n \"childId\": \"/providers/Microsoft.Management/managementGroups/testGroup123Child1\",\r\n \"displayName\": \"TestGroup123->Child1\",\r\n \"children\": [\r\n {\r\n \"childType\": \"/managementGroup\",\r\n \"childId\": \"/providers/Microsoft.Management/managementGroups/testGroup123Child1Child1\",\r\n \"displayName\": \"TestGroup123->Child1->Child1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"childType\": \"/subscription\",\r\n \"childId\": \"/subscriptions/394ae65d-9e71-4462-930f-3332dedf845c\",\r\n \"displayName\": \"Pay-As-You-Go\"\r\n }\r\n ]\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "991" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14982" + ], + "x-ms-request-id": [ + "westus:d9ad4ebf-da8c-4cde-a80c-e1ca25f0b83b" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "1b222759-4e88-4f9a-9bf6-44d442ea3fe6" + ], + "x-ms-correlation-request-id": [ + "5939f1e2-51d5-4416-9282-89ddda7dc78c" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095224Z:5939f1e2-51d5-4416-9282-89ddda7dc78c" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:52:23 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestListManagementGroups.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestListManagementGroups.json new file mode 100644 index 000000000000..e162fa350a73 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestListManagementGroups.json @@ -0,0 +1,86 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzP2FwaS12ZXJzaW9uPTIwMTctMTEtMDEtcHJldmlldw==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f54b27fd-fe0e-410b-897c-8fd6ed3c72a4" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123Child1\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123Child1\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123->Child1\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testGroup123Child1Child1\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testGroup123Child1Child1\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestGroup123->Child1->Child1\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSGrp\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSGrp\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"testPSGrp\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSGrp1\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSGrp1\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSGrp1\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/testrand\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"testrand\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"testrand\"\r\n }\r\n },\r\n {\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGrp\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGrp\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSNewGrp\"\r\n }\r\n }\r\n ],\r\n \"@nextLink\": null\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "2093" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-reads": [ + "14985" + ], + "x-ms-request-id": [ + "westus:43de9e7e-9590-4392-a39c-a63ea3774820" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "8788e796-1929-4367-81f9-ec6edfb677d5" + ], + "x-ms-correlation-request-id": [ + "b3e871d3-04c5-44a4-968b-ee53bb5a12b6" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095217Z:b3e871d3-04c5-44a4-968b-ee53bb5a12b6" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:52:16 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewManagementGroupSubscription.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewManagementGroupSubscription.json new file mode 100644 index 000000000000..458760a6e8f9 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewManagementGroupSubscription.json @@ -0,0 +1,77 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/testGroup123/subscriptions/8158c3e6-0c47-4d68-af4c-d521343aa3f8?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL3Rlc3RHcm91cDEyMy9zdWJzY3JpcHRpb25zLzgxNThjM2U2LTBjNDctNGQ2OC1hZjRjLWQ1MjEzNDNhYTNmOD9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PUT", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "13645c9d-6336-4c35-98ae-5a5965ba7601" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "westus:8dd79418-2e55-442e-af2e-88ab8bacbc0e" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "384c81dd-f7a4-4a3f-90f5-02e886e4b6c8" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1194" + ], + "x-ms-correlation-request-id": [ + "2963ee39-17ec-47ee-a15e-6232627b859d" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T104117Z:2963ee39-17ec-47ee-a15e-6232627b859d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:41:17 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 204 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestRemoveManagementGroupSubscription.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestRemoveManagementGroupSubscription.json new file mode 100644 index 000000000000..dcb409612341 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestRemoveManagementGroupSubscription.json @@ -0,0 +1,77 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/testGroup123/subscriptions/8158c3e6-0c47-4d68-af4c-d521343aa3f8?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL3Rlc3RHcm91cDEyMy9zdWJzY3JpcHRpb25zLzgxNThjM2U2LTBjNDctNGQ2OC1hZjRjLWQ1MjEzNDNhYTNmOD9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "3e709d4c-b853-4e70-87d0-a30f79963f85" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "westus:63bcf1cc-35cc-441b-85e7-21a8e588ab47" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "93aa8839-2cf0-4a49-83bd-ad5b5140c48c" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1196" + ], + "x-ms-correlation-request-id": [ + "52acf8c5-b7ba-43ba-b8d0-bad620d6a99b" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T104140Z:52acf8c5-b7ba-43ba-b8d0-bad620d6a99b" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:41:40 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 204 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroup.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroup.json new file mode 100644 index 000000000000..a289ce367dc7 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroup.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup4?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwND9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PUT", + "RequestBody": "{}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ], + "x-ms-client-request-id": [ + "09b14713-c5bc-447f-a062-94e8b5ddc674" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup4\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup4\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSNewGroup4\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-02-01T09:57:52.3518482Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\"\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "373" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1198" + ], + "x-ms-request-id": [ + "westus:a4feaf50-aed5-44cf-93a7-8c8144e2beb0" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "f7f15881-7d63-45ea-b972-01c81e68fd94" + ], + "x-ms-correlation-request-id": [ + "90fea793-caf0-4c1f-8883-919669ddb193" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095755Z:90fea793-caf0-4c1f-8883-919669ddb193" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:57:55 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayName.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayName.json new file mode 100644 index 000000000000..bb2484aea616 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayName.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup1?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMT9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"displayName\": \"TestNewGrp1DisplayName\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "47" + ], + "x-ms-client-request-id": [ + "5e6fed5e-cb21-455b-a3a7-3bd7c5b03ebb" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup1\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup1\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestNewGrp1DisplayName\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-02-01T09:58:29.0736378Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\"\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "380" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1198" + ], + "x-ms-request-id": [ + "westus:5969b1be-204e-408d-84a0-95754a87f094" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "fc6ef41b-c13d-49e9-b397-48135f94a972" + ], + "x-ms-correlation-request-id": [ + "fbfc0cfa-b094-4778-adab-8f3e4665627d" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T095832Z:fbfc0cfa-b094-4778-adab-8f3e4665627d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 09:58:32 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayNameAndParentId.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayNameAndParentId.json new file mode 100644 index 000000000000..34a6295e29bf --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithDisplayNameAndParentId.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup3?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"displayName\": \"TestNewGrp3DisplayName\",\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "127" + ], + "x-ms-client-request-id": [ + "dc5efb44-5c49-4be7-9f8c-2f7118c7f7db" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup3\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup3\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestNewGrp3DisplayName\",\r\n \"details\": {\r\n \"version\": 4,\r\n \"updatedTime\": \"2018-02-01T10:03:07.3015456Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"displayName\": \"TestGroup123\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "495" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1195" + ], + "x-ms-request-id": [ + "westus:ead6f77e-83a9-4e2c-a3bd-c113ddd0f4d7" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "cbf94226-ea05-489f-9bbc-4b6990ce3eba" + ], + "x-ms-correlation-request-id": [ + "fbbdda9c-5c7b-49a1-83a4-3f38688ecdba" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T100309Z:fbbdda9c-5c7b-49a1-83a4-3f38688ecdba" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:03:09 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithParentId.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithParentId.json new file mode 100644 index 000000000000..dfdf3a2a3274 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.NewAzureRmManagementGroupTests/TestNewManagementGroupWithParentId.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup2?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMj9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "83" + ], + "x-ms-client-request-id": [ + "ebb65e8f-a530-40c7-8d30-dba4cd902686" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup2\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup2\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSNewGroup2\",\r\n \"details\": {\r\n \"version\": 1,\r\n \"updatedTime\": \"2018-02-01T10:03:37.1137827Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"displayName\": \"TestGroup123\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "488" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1198" + ], + "x-ms-request-id": [ + "westus:a30e5149-8e0f-4c5a-9333-1226eea3a3ce" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "7bc0448c-ee40-4517-8259-5f1215f3ca62" + ], + "x-ms-correlation-request-id": [ + "fee34fc2-5a0f-4b6e-ae44-a40c4a180447" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T100339Z:fee34fc2-5a0f-4b6e-ae44-a40c4a180447" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:03:39 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.RemoveAzureRmManagementGroupTests/TestRemoveManagementGroup.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.RemoveAzureRmManagementGroupTests/TestRemoveManagementGroup.json new file mode 100644 index 000000000000..b5cb846fdefe --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.RemoveAzureRmManagementGroupTests/TestRemoveManagementGroup.json @@ -0,0 +1,80 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup3?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "5fc3440d-fb9b-4177-85e3-3f5f4d6c5075" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "", + "ResponseHeaders": { + "Content-Length": [ + "0" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "westus:1c87af9b-4bc5-43f5-9e36-4555f891fed8" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "0220ebbc-fdbe-4e84-a30b-a1f6468a1004" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1197" + ], + "x-ms-correlation-request-id": [ + "13347f19-8a9c-4ace-b5df-8897fbcc7f21" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T102341Z:13347f19-8a9c-4ace-b5df-8897fbcc7f21" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:23:41 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroup.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroup.json new file mode 100644 index 000000000000..404fa2a8cbcb --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroup.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup3?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMz9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PATCH", + "RequestBody": "{}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ], + "x-ms-client-request-id": [ + "fb305cdb-2322-44ba-accd-620ee0eadb72" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup3\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup3\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSNewGroup3\",\r\n \"details\": {\r\n \"version\": 5,\r\n \"updatedTime\": \"2018-02-01T10:15:57.998046Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "535" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1198" + ], + "x-ms-request-id": [ + "westus:23a4ef9a-5c37-4f37-be29-cc235cd2c295" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "b3993941-5f6b-46f7-a19a-29733caf0c5c" + ], + "x-ms-correlation-request-id": [ + "8357d1c4-7b8c-4669-9352-6403ee43f34d" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T101826Z:8357d1c4-7b8c-4669-9352-6403ee43f34d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:18:26 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayName.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayName.json new file mode 100644 index 000000000000..b03327ffd624 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayName.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup2?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMj9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"displayName\": \"TestNewGrp2DisplayName\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "47" + ], + "x-ms-client-request-id": [ + "84bf1663-49ee-4864-b275-05553b8ba843" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup2\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup2\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestNewGrp2DisplayName\",\r\n \"details\": {\r\n \"version\": 2,\r\n \"updatedTime\": \"2018-02-01T10:15:43.6975663Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "543" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1196" + ], + "x-ms-request-id": [ + "westus:6f56873e-c942-42cc-9bd2-c5f5750f0b88" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "1f9a9fc1-c42c-4ef9-befd-a002ac0971c6" + ], + "x-ms-correlation-request-id": [ + "915b3c81-cdeb-4d95-9bb7-1b83d2f40ca5" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T101812Z:915b3c81-cdeb-4d95-9bb7-1b83d2f40ca5" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:18:12 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayNameAndParentId.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayNameAndParentId.json new file mode 100644 index 000000000000..3ca9502d146c --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithDisplayNameAndParentId.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup4?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwND9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"displayName\": \"TestNewGrp4DisplayName\",\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "127" + ], + "x-ms-client-request-id": [ + "7a64e6e4-409f-4970-9408-c2aa32e0236f" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup4\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup4\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestNewGrp4DisplayName\",\r\n \"details\": {\r\n \"version\": 2,\r\n \"updatedTime\": \"2018-02-01T10:15:50.756409Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"displayName\": \"TestGroup123\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "494" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1195" + ], + "x-ms-request-id": [ + "westus:465cf2b0-39d0-4ba2-a3b9-03f571623b78" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "d6d0ecd7-1b7c-4f98-8625-7d22febbe28e" + ], + "x-ms-correlation-request-id": [ + "afe82869-f704-4fd5-9897-b52d019db394" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T101819Z:afe82869-f704-4fd5-9897-b52d019db394" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:18:19 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithParentId.json b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithParentId.json new file mode 100644 index 000000000000..abd48cbbe321 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroupWithParentId.json @@ -0,0 +1,92 @@ +{ + "Entries": [ + { + "RequestUri": "/providers/Microsoft.Management/managementGroups/TestPSNewGroup1?api-version=2017-11-01-preview", + "EncodedRequestUri": "L3Byb3ZpZGVycy9NaWNyb3NvZnQuTWFuYWdlbWVudC9tYW5hZ2VtZW50R3JvdXBzL1Rlc3RQU05ld0dyb3VwMT9hcGktdmVyc2lvbj0yMDE3LTExLTAxLXByZXZpZXc=", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\"\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "83" + ], + "x-ms-client-request-id": [ + "b19fc2bb-c5e4-46b2-a77c-7d781cfb2e08" + ], + "Cache-Control": [ + "no-cache" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.7.2600.0", + "OSName/Windows10Enterprise", + "OSVersion/6.3.16299", + "Microsoft.Azure.Management.ResourceManager.ManagementGroupsAPIClient/1.7.0.0" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/providers/Microsoft.Management/managementGroups/TestPSNewGroup1\",\r\n \"type\": \"/providers/Microsoft.Management/managementGroups\",\r\n \"name\": \"TestPSNewGroup1\",\r\n \"properties\": {\r\n \"tenantId\": \"6b2064b9-34bd-46e6-9092-52f2dd5f7fc0\",\r\n \"displayName\": \"TestPSNewGroup1\",\r\n \"details\": {\r\n \"version\": 2,\r\n \"updatedTime\": \"2018-02-01T10:15:35.2540572Z\",\r\n \"updatedBy\": \"8b8f2464-6ad0-4327-b9da-5cc8ac2c650d\",\r\n \"parent\": {\r\n \"parentId\": \"/providers/Microsoft.Management/managementGroups/testGroup123\",\r\n \"displayName\": \"TestGroup123\"\r\n }\r\n }\r\n }\r\n}", + "ResponseHeaders": { + "Content-Length": [ + "488" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Pragma": [ + "no-cache" + ], + "Vary": [ + "Accept-Encoding" + ], + "x-ms-ratelimit-remaining-tenant-writes": [ + "1197" + ], + "x-ms-request-id": [ + "westus:a7cb2a79-1e64-4b11-abcc-7f9d570c434a" + ], + "x-ba-restapi": [ + "1.0.3.483" + ], + "request-id": [ + "397a7a0c-b415-4829-bec8-4b49717a5287" + ], + "x-ms-correlation-request-id": [ + "4dfac777-58da-4eb8-bd96-1354c1a8c187" + ], + "x-ms-routing-request-id": [ + "CENTRALUS:20180201T101804Z:4dfac777-58da-4eb8-bd96-1354c1a8c187" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Cache-Control": [ + "no-cache" + ], + "Date": [ + "Thu, 01 Feb 2018 10:18:04 GMT" + ], + "Server": [ + "Microsoft-IIS/8.5" + ], + "X-AspNet-Version": [ + "4.0.30319" + ], + "X-Powered-By": [ + "ASP.NET" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "394ae65d-9e71-4462-930f-3332dedf845c" + } +} \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/packages.config b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/packages.config new file mode 100644 index 000000000000..0f0d45bf25b2 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/packages.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index 67369583d583..f63254b8ce7d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.Management.Automation; +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Commands.ManagementGroups.Models; using Microsoft.Azure.Management.ResourceManager; @@ -12,7 +11,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// /// Get-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase { /// @@ -35,9 +34,15 @@ public override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(GroupName)) { - ManagementGroupsApiClient.GroupId = GroupName; - var response = ManagementGroupsApiClient.ManagementGroups.Get(Expand.IsPresent?"children":null, Recurse.IsPresent); - WriteObject(new PSManagementGroup(response)); + var response = ManagementGroupsApiClient.ManagementGroups.Get(GroupName, Expand.IsPresent?"children":null, Recurse.IsPresent); + if (!Expand.IsPresent) + { + WriteObject(new PSManagementGroupNoChildren(response)); + } + else + { + WriteObject(new PSManagementGroup(response)); + } } else { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs index 34af29c292ab..8d4d1e138779 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs @@ -39,9 +39,8 @@ public override void ExecuteCmdlet() string.Format(Resource.NewManagementGroupShouldProcessAction, GroupName))) { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupName; - var response = ManagementGroupsApiClient.ManagementGroups.CreateOrUpdate(createGroupRequest); - WriteObject(new PSManagementGroup(response)); + var response = ManagementGroupsApiClient.ManagementGroups.CreateOrUpdate(GroupName, createGroupRequest); + WriteObject(new PSManagementGroupNoChildren(response)); } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs index 997aa86c0b53..e38d878bfc3f 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.New, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class NewAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -36,10 +36,7 @@ public override void ExecuteCmdlet() string.Format(Resource.NewManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName), string.Format(Resource.NewManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) { - ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); - - ManagementGroupsApiClient.ManagementGroupSubscriptions.Create(); + ManagementGroupsApiClient.ManagementGroupSubscriptions.Create(GroupName, SubscriptionId.ToString()); } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index 8a82a79d7a81..cdf0ab4cbe14 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -2,7 +2,6 @@ using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ResourceManager; using Microsoft.Azure.Management.ResourceManager.Models; -using Newtonsoft.Json; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { @@ -11,7 +10,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -25,15 +24,14 @@ public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase public override void ExecuteCmdlet() { + try { if (Force.IsPresent || ShouldProcess( string.Format(Resource.RemoveManagementGroupShouldProcessTarget, GroupName), string.Format(Resource.RemoveManagementGroupShouldProcessAction, GroupName))) { - ManagementGroupsApiClient.GroupId = GroupName; - - ManagementGroupsApiClient.ManagementGroups.Delete(); + ManagementGroupsApiClient.ManagementGroups.Delete(GroupName); } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 41bf93e56910..2076068dca03 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -11,7 +11,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -36,10 +36,7 @@ public override void ExecuteCmdlet() string.Format(Resource.RemoveManagementGroupSubShouldProcessTarget, SubscriptionId,GroupName), string.Format(Resource.RemoveManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) { - ManagementGroupsApiClient.GroupId = GroupName; - ManagementGroupsApiClient.SubscriptionId = SubscriptionId.ToString(); - - ManagementGroupsApiClient.ManagementGroupSubscriptions.Delete(); + ManagementGroupsApiClient.ManagementGroupSubscriptions.Delete(GroupName, SubscriptionId.ToString()); } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index b38800ef4976..5c9049cae2c1 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -6,7 +6,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { - [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = false, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] @@ -36,10 +36,8 @@ public override void ExecuteCmdlet() string.Format(Resource.UpdateManagementGroupShouldProcessAction, GroupName))) { CreateGroupRequest createGroupRequest = new CreateGroupRequest(DisplayName, ParentId); - ManagementGroupsApiClient.GroupId = GroupName; - - var response = ManagementGroupsApiClient.ManagementGroups.Update(createGroupRequest); - WriteObject(new PSManagementGroup(response)); + var response = ManagementGroupsApiClient.ManagementGroups.Update(GroupName, createGroupRequest); + WriteObject(new PSManagementGroupNoChildren(response)); } } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index adc1a4b3a93e..5e2c5320d64a 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -132,6 +132,7 @@ + @@ -153,10 +154,6 @@ {3819d8a7-c62c-4c47-8ddd-0332d9ce1252} Commands.ResourceManager.Common - - {8058d403-06e3-4bed-8924-d166ce303961} - Commands.Resources.Rest - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs index 98a408336d59..88f8a3cbe1f3 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs @@ -1,7 +1,6 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Common { using System; - using System.Collections.Generic; using System.Net.Http; using System.Threading; using System.Threading.Tasks; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml index eeb33f84afb0..0f0ce55cc6f3 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Microsoft.Azure.Commands.ManagementGroups.Format.ps1xml @@ -55,6 +55,56 @@ + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupNoChildren + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupNoChildren + + + + + + + + Id + + + + Type + + + + Name + + + + TenantId + + + + DisplayName + + + + UpdatedTime + + + + UpdatedBy + + + + ParentId + + + + ParentDisplayName + + + + + + Microsoft.Azure.Commands.ManagementGroups.Models.PSManagementGroupChildInfo diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs index 2fb014aa2468..c178ad8b231f 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs @@ -42,8 +42,19 @@ public PSManagementGroup(ManagementGroup managementGroup) DisplayName = managementGroup.DisplayName; UpdatedTime = managementGroup.Details.UpdatedTime; UpdatedBy = managementGroup.Details.UpdatedBy; - ParentId = managementGroup.Details.Parent.ParentId; - ParentDisplayName = managementGroup.Details.Parent.DisplayName; + + if (managementGroup.Details.Parent != null) + { + if (managementGroup.Details.Parent.ParentId != null) + { + ParentId = managementGroup.Details.Parent.ParentId; + } + if (managementGroup.Details.Parent.DisplayName != null) + { + ParentDisplayName = managementGroup.Details.Parent.DisplayName; + } + } + if (managementGroup.Children != null) { this.Children = managementGroup.Children.Select(child => new PSManagementGroupChildInfo(child)).ToList(); diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs new file mode 100644 index 000000000000..6a65266518ba --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs @@ -0,0 +1,59 @@ +using System.Collections.Generic; +using System.Linq; +using Microsoft.Azure.Management.ResourceManager.Models; + +namespace Microsoft.Azure.Commands.ManagementGroups.Models +{ + public class PSManagementGroupNoChildren + { + public string Id { get; private set; } + + public string Type { get; private set; } + + public string Name { get; private set; } + + public string TenantId { get; private set; } + + public string DisplayName { get; private set; } + + public System.DateTime? UpdatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public string ParentId { get; set; } + + public string ParentDisplayName { get; set; } + + + + public PSManagementGroupNoChildren() + { + } + + public PSManagementGroupNoChildren(ManagementGroup managementGroup) + { + if (managementGroup != null) + { + Id = managementGroup.Id; + Type = managementGroup.Type; + Name = managementGroup.Name; + TenantId = managementGroup.TenantId; + DisplayName = managementGroup.DisplayName; + UpdatedTime = managementGroup.Details.UpdatedTime; + UpdatedBy = managementGroup.Details.UpdatedBy; + + if (managementGroup.Details.Parent != null) + { + if (managementGroup.Details.Parent.ParentId != null) + { + ParentId = managementGroup.Details.Parent.ParentId; + } + if (managementGroup.Details.Parent.DisplayName != null) + { + ParentDisplayName = managementGroup.Details.Parent.DisplayName; + } + } + } + } + } +} diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs index 1ebabc8e8ac9..36e9ae1f4c11 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md new file mode 100644 index 000000000000..a4effaa6c46b --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Get-AzureRmManagementGroup.md @@ -0,0 +1,223 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Get-AzureRmManagementGroup + +## SYNOPSIS +Gets Management Group(s) + +## SYNTAX + +``` +Get-AzureRmManagementGroup [[-GroupName] ] [-DefaultProfile ] [-Expand] + [-Recurse] [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The Get-AzureRMManagementGroup cmdlet Gets all or a specific Management Group. + +## EXAMPLES + +### Example 1: Get all Management Groups +``` +PS C:\> Get-AzureRmManagementGroup + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupDisplayName + +Id : /providers/Microsoft.Management/managementGroups/TestGroupChild +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupChild +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupChildDisplayName + +``` + +### Example 2: Get specific Management Group +``` +PS C:\> Get-AzureRmManagementGroup -GroupName TestGroup + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupDisplayName +UpdatedTime : 2/1/2018 11:16:12 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/TestGroupParent +ParentDisplayName : + +``` + +### Example 3: Get specific Management Group and first level of hierarchy +``` +PS C:\> $reponse = Get-AzureRmManagementGroup -GroupName TestGroupParent -Expand +PS C:\> $response + +Id : /providers/Microsoft.Management/managementGroups/TestGroupParent +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupParent +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupParent +UpdatedTime : 2/1/2018 11:15:46 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +ParentDisplayName : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +Children : {TestGroup1DisplayName, TestGroup2DisplayName} + +PS C:\> $response.Children[0] + +ChildType : /managementGroup +ChildId : /providers/Microsoft.Management/managementGroups/TestGroup1 +DisplayName : TestGroup1DisplayName +Children : + +``` +With the `Expand` flag, one can navigate through the `Children` array and get details for each child. For example, `Children[0]` will give details for the group with display name `TestGroup1DisplayName`. + +### Example 4: Get specific Management Group and all levels of hiearchy +``` +PS C:\> $response = Get-AzureRmManagementGroup -GroupName TestGroupParent -Expand +PS C:\> $response + +Id : /providers/Microsoft.Management/managementGroups/TestGroupParent +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroupParent +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupParent +UpdatedTime : 2/1/2018 11:15:46 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +ParentDisplayName : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +Children : {TestGroup1DisplayName, TestGroup2DisplayName} + +PS C:\> $response.Children[0] + +ChildType : /managementGroup +ChildId : /providers/Microsoft.Management/managementGroups/TestGroup1 +DisplayName : TestGroup1DisplayName +Children : {TestRecurseChild} + +PS C:\> $response.Children[0].Children[0] + +ChildType : /managementGroup +ChildId : /providers/Microsoft.Management/managementGroups/TestRecurseChild +DisplayName : TestRecurseChild +Children : + +``` + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Expand +Expand the output to list the children of the management group + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Recurse +Recursively list the children of the management group + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md new file mode 100644 index 000000000000..dd331a1aff24 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md @@ -0,0 +1,201 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# New-AzureRmManagementGroup + +## SYNOPSIS +Creates a Management Group + +## SYNTAX + +``` +New-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The **Add-AzureRMManagementGroup** cmdlet creates a management group. + +## EXAMPLES + +### Example 1: Create a Management Group +``` +PS C:\> New-AzureRmManagementGroup -GroupName "TestGroup" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroup +UpdatedTime : 2/1/2018 11:06:27 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : +ParentDisplayName : + +``` +Creation of a new group with `DisplayName` and `ParentId` set to `null`. The `DisplayName` will be same as the `GroupName` and the parent of the group will be the tenant. + +### Example 2: Create a Management Group with a parent +``` +PS C:\> New-AzureRmManagementGroup -GroupName "TestGroup" -DisplayName "TestGroupDisplayName" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroup +UpdatedTime : 2/1/2018 11:06:27 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : +ParentDisplayName : + +``` +In this case, the parent of the group will be the tenant and the `DisplayName` will be set to the value given. + +### Example 3: Create a Management Group with a parent and a display name +``` +PS C:\> New-AzureRmManagementGroup -GroupName "TestGroup" -DisplayName "TestGroupDisplayName" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroupParent" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroupDisplayName +UpdatedTime : 2/1/2018 11:16:12 AM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/TestGroupParent +ParentDisplayName : TestGroupParent + +``` + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +Display Name of the management group + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Force the action and skip confirmations + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ParentId +Parent Id of the management group + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + +[Remove-AzureRMManagementGroup](./Remove-AzureRMManagementGroup.md) + +[Update-AzureRmManagementGroup](./Update-AzureRmManagementGroup.md) + +[Get-AzureRmManagementGroup](./Get-AzureRmManagementGroup.md) \ No newline at end of file diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroupSubscription.md new file mode 100644 index 000000000000..345dc83b0333 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroupSubscription.md @@ -0,0 +1,136 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# New-AzureRmManagementGroupSubscription + +## SYNOPSIS +Adds a Subscription to a Management Group. + +## SYNTAX + +``` +New-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The **New-AzureRMManagementGroupSubscription** cmdlet adds a Subscription to a Management Group. + +## EXAMPLES + +### Example 1: Add Subscription to a Management Group +``` +PS C:\> Add-AzureRMManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 +``` + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Force the action and skip confirmations + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Subscription Id of the subscription associated witht the management + +```yaml +Type: Guid +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md new file mode 100644 index 000000000000..8a9318213399 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroup.md @@ -0,0 +1,121 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Remove-AzureRmManagementGroup + +## SYNOPSIS +Removes a Management Group + +## SYNTAX + +``` +Remove-AzureRmManagementGroup [-GroupName] [-Force] [-DefaultProfile ] + [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The **Remove-AzureRmManagementGroup** cmdlet deletes a Management Group. + +## EXAMPLES + +### Example 1 - Remove a Management Group +``` +PS C:\> Remove-AzureRmManagementGroup -GroupName "TestGroup" +``` + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Force the action and skip confirmations + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md new file mode 100644 index 000000000000..a31f58970b8a --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Remove-AzureRmManagementGroupSubscription.md @@ -0,0 +1,136 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Remove-AzureRmManagementGroupSubscription + +## SYNOPSIS +Removes a Subscription from a Management Group. + +## SYNTAX + +``` +Remove-AzureRmManagementGroupSubscription [-GroupName] [-SubscriptionId] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The **Remove-AzureRmManagementGroupSubscription** cmdlet removes a Subscription from a Management Group. + +## EXAMPLES + +### Example 1 - Remove Subscription from a Management Group +``` +PS C:\> Remove-AzureRmManagementGroupSubscription -GroupName "TestGroup" -SubscriptionId 2120692d-35c3-44c8-81f5-631fa7351726 +``` + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Force the action and skip confirmations + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +Subscription Id of the subscription associated witht the management + +```yaml +Type: Guid +Parameter Sets: (All) +Aliases: + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md new file mode 100644 index 000000000000..8a45970b2d78 --- /dev/null +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/Update-AzureRmManagementGroup.md @@ -0,0 +1,180 @@ +--- +external help file: Microsoft.Azure.Commands.ManagementGroups.dll-Help.xml +Module Name: AzureRM.ManagementGroups +online version: +schema: 2.0.0 +--- + +# Update-AzureRmManagementGroup + +## SYNOPSIS +Updates a Management Group + +## SYNTAX + +``` +Update-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-ParentId] ] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] +``` + +## DESCRIPTION +The **Update-AzureRMManagementGroup** cmdlet updates the **ParentId** or **DisplayName** for a Management Group. + +## EXAMPLES + +### Example 1: Update Management Group DisplayName +``` +PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -DisplayName "New Display Name" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : New Display Name +UpdatedTime : 2/1/2018 12:03:37 PM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +ParentDisplayName : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 + +``` + +### Example 2: Update Management Group ParentId +``` +PS C:\> Update-AzureRMManagementGroup -Group "TestGroup" -ParentId "/providers/Microsoft.Management/managementGroups/TestGroupParent" + +Id : /providers/Microsoft.Management/managementGroups/TestGroup +Type : /providers/Microsoft.Management/managementGroups +Name : TestGroup +TenantId : 6b2064b9-34bd-46e6-9092-52f2dd5f7fc0 +DisplayName : TestGroup +UpdatedTime : 2/1/2018 12:03:37 PM +UpdatedBy : 64360beb-ffb4-43a8-9314-01aa34db95a9 +ParentId : /providers/Microsoft.Management/managementGroups/TestGroupParent +ParentDisplayName : TestGroupParent + +``` + + + +## PARAMETERS + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: IAzureContextContainer +Parameter Sets: (All) +Aliases: AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DisplayName +Display Name of the management group + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Force +Force the action and skip confirmations + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: 3 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -GroupName +Management Group Id + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ParentId +Parent Id of the management group + +```yaml +Type: String +Parameter Sets: (All) +Aliases: + +Required: False +Position: 2 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +## INPUTS + +### None + + +## OUTPUTS + +### System.String + + +## NOTES + +## RELATED LINKS + diff --git a/src/ResourceManager/ManagementGroups/ManagementGroups.sln b/src/ResourceManager/ManagementGroups/ManagementGroups.sln index 993ea53dd911..e16c502a98ef 100644 --- a/src/ResourceManager/ManagementGroups/ManagementGroups.sln +++ b/src/ResourceManager/ManagementGroups/ManagementGroups.sln @@ -23,10 +23,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ResourceManager.Co 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("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{8C4827CD-E3F0-466B-85AE-7185ED1CC7EC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ManagementGroups.Test", "Commands.ManagementGroups.Test\Commands.ManagementGroups.Test.csproj", "{B0671436-C487-4CD4-AF06-28B4BE57D9E6}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources", "..\Resources\Commands.Resources\Commands.Resources.csproj", "{E1F5201D-6067-430E-B303-4E367652991B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Resources.Rest", "..\Resources\Commands.ResourceManager\Cmdlets\Commands.Resources.Rest.csproj", "{8058D403-06E3-4BED-8924-D166CE303961}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ScenarioTests.ResourceManager.Common", "..\Common\Commands.ScenarioTests.ResourceManager.Common\Commands.ScenarioTests.ResourceManager.Common.csproj", "{3436A126-EDC9-4060-8952-9A1BE34CDD95}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.ServiceManagement.Common", "..\..\ServiceManagement\Common\Commands.ServiceManagement.Common\Commands.ServiceManagement.Common.csproj", "{CFF09E81-1E31-444E-B4D4-A21E946C29E2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commands.Tags", "..\Tags\Commands.Tags\Commands.Tags.csproj", "{2493A8F7-1949-4F29-8D53-9D459046C3B8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -73,6 +83,10 @@ Global {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 + {B0671436-C487-4CD4-AF06-28B4BE57D9E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B0671436-C487-4CD4-AF06-28B4BE57D9E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B0671436-C487-4CD4-AF06-28B4BE57D9E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B0671436-C487-4CD4-AF06-28B4BE57D9E6}.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 @@ -81,8 +95,28 @@ Global {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 + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3436A126-EDC9-4060-8952-9A1BE34CDD95}.Release|Any CPU.Build.0 = Release|Any CPU + {CFF09E81-1E31-444E-B4D4-A21E946C29E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CFF09E81-1E31-444E-B4D4-A21E946C29E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CFF09E81-1E31-444E-B4D4-A21E946C29E2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CFF09E81-1E31-444E-B4D4-A21E946C29E2}.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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {B0671436-C487-4CD4-AF06-28B4BE57D9E6} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + {E1F5201D-6067-430E-B303-4E367652991B} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + {8058D403-06E3-4BED-8924-D166CE303961} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + {3436A126-EDC9-4060-8952-9A1BE34CDD95} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + {CFF09E81-1E31-444E-B4D4-A21E946C29E2} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + {2493A8F7-1949-4F29-8D53-9D459046C3B8} = {8C4827CD-E3F0-466B-85AE-7185ED1CC7EC} + EndGlobalSection EndGlobal From 398ce3e89d499398589a726db432204ddb6a2492 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Thu, 1 Feb 2018 12:19:20 -0800 Subject: [PATCH 17/33] Adding license headers --- .../GetAzureRmManagementGroupTests.cs | 16 +++++++++++++++- .../GroupSubscriptionOperationsTests.cs | 16 +++++++++++++++- .../NewAzureRmManagementGroupTests.cs | 16 +++++++++++++++- .../RemoveAzureRmManagementGroupTests.cs | 16 +++++++++++++++- .../ScenarioTests/TestController.cs | 16 +++++++++++++++- .../UpdateAzureRmManagementGroupTests.cs | 16 +++++++++++++++- .../Cmdlets/GetAzureRmManagementGroup.cs | 18 ++++++++++++++++-- .../Cmdlets/NewAzureRmManagementGroup.cs | 16 +++++++++++++++- .../NewAzureRmManagementGroupSubscription.cs | 16 +++++++++++++++- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 16 +++++++++++++++- ...RemoveAzureRmManagementGroupSubscription.cs | 16 +++++++++++++++- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 16 +++++++++++++++- ...ureManagementGroupAutoRegisterCmdletBase.cs | 16 +++++++++++++++- ...eckRegistrationAndAutoRegisterCmdletBase.cs | 16 +++++++++++++++- ...strationAndAutoRegisterDelegatingHandler.cs | 16 +++++++++++++++- .../Common/Utility.cs | 16 +++++++++++++++- .../Models/PSManagementGroup.cs | 16 +++++++++++++++- .../Models/PSManagementGroupChildInfo.cs | 16 +++++++++++++++- .../Models/PSManagementGroupInfo.cs | 16 +++++++++++++++- .../Models/PSManagementGroupNoChildren.cs | 16 ++++++++++++++-- .../Models/PSParentGroupInfo.cs | 16 +++++++++++++++- .../help/New-AzureRmManagementGroup.md | 2 +- 22 files changed, 316 insertions(+), 24 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs index 55ff7a49a8db..92eff9b04d6d 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GetAzureRmManagementGroupTests.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Commands.ScenarioTest; +// ---------------------------------------------------------------------------------- +// +// 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.ScenarioTest; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs index 0e632403a109..d5ea56280bf6 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/GroupSubscriptionOperationsTests.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Commands.ScenarioTest; +// ---------------------------------------------------------------------------------- +// +// 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.ScenarioTest; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs index b8cea8791f09..102daf48bb4a 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/NewAzureRmManagementGroupTests.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Commands.ScenarioTest; +// ---------------------------------------------------------------------------------- +// +// 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.ScenarioTest; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs index ddf22988460f..ba66013d2a38 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/RemoveAzureRmManagementGroupTests.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Commands.ScenarioTest; +// ---------------------------------------------------------------------------------- +// +// 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.ScenarioTest; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs index fe3a54f7eb22..326d61d09c63 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/TestController.cs @@ -1,4 +1,18 @@ -using System; +// ---------------------------------------------------------------------------------- +// +// 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; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs index 78cd25beddf9..99377631282a 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/ScenarioTests/UpdateAzureRmManagementGroupTests.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Commands.ScenarioTest; +// ---------------------------------------------------------------------------------- +// +// 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.ScenarioTest; using Microsoft.WindowsAzure.Commands.ScenarioTest; using Xunit; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index f63254b8ce7d..da1379b2b254 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -1,8 +1,22 @@ -using System.Management.Automation; +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Commands.ManagementGroups.Models; using Microsoft.Azure.Management.ResourceManager; -using Microsoft.Azure.Management.ResourceManager.Models; +using Microsoft.Azure.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs index 8d4d1e138779..9b981f9b2a96 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs @@ -1,4 +1,18 @@ -using System.Management.Automation; +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Commands.ManagementGroups.Models; using Microsoft.Azure.Management.ResourceManager; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs index e38d878bfc3f..723c17cccd65 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs @@ -1,4 +1,18 @@ -using System; +// ---------------------------------------------------------------------------------- +// +// 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.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ResourceManager; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index cdf0ab4cbe14..ebaeb65aa090 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -1,4 +1,18 @@ -using System.Management.Automation; +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ResourceManager; using Microsoft.Azure.Management.ResourceManager.Models; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 2076068dca03..191b6a7df146 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -1,4 +1,18 @@ -using System; +// ---------------------------------------------------------------------------------- +// +// 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.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Management.ResourceManager; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index 5c9049cae2c1..8abf37a460e8 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -1,4 +1,18 @@ -using System.Management.Automation; +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Management.Automation; using Microsoft.Azure.Commands.ManagementGroups.Common; using Microsoft.Azure.Commands.ManagementGroups.Models; using Microsoft.Azure.Management.ResourceManager; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs index 868f7f7fd612..ee185c381ba3 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzureManagementGroupAutoRegisterCmdletBase.cs @@ -1,4 +1,18 @@ -namespace Microsoft.Azure.Commands.ManagementGroups.Common +// ---------------------------------------------------------------------------------- +// +// 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.ManagementGroups.Common { public abstract class AzureManagementGroupAutoRegisterCmdletBase : AzurePrecheckRegistrationAndAutoRegisterCmdletBase { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs index 01883132cfbf..0deafad5e2e7 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterCmdletBase.cs @@ -1,4 +1,18 @@ -namespace Microsoft.Azure.Commands.ManagementGroups.Common +// ---------------------------------------------------------------------------------- +// +// 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.ManagementGroups.Common { using Microsoft.Azure.Commands.Common.Authentication; using Microsoft.Azure.Commands.Common.Authentication.Abstractions; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs index 88f8a3cbe1f3..be32346b5934 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/AzurePrecheckRegistrationAndAutoRegisterDelegatingHandler.cs @@ -1,4 +1,18 @@ -namespace Microsoft.Azure.Commands.ManagementGroups.Common +// ---------------------------------------------------------------------------------- +// +// 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.ManagementGroups.Common { using System; using System.Net.Http; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs index 8ebc6547100c..686706adef60 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs @@ -1,4 +1,18 @@ -using System; +// ---------------------------------------------------------------------------------- +// +// 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; namespace Microsoft.Azure.Commands.ManagementGroups.Common { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs index c178ad8b231f..0eba9b13e263 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroup.cs @@ -1,4 +1,18 @@ -using System.Collections.Generic; +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Management.ResourceManager.Models; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs index 18ecd77e153c..6f3ddb2bcb4c 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupChildInfo.cs @@ -1,4 +1,18 @@ -using System.Collections.Generic; +// ---------------------------------------------------------------------------------- +// +// 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 Microsoft.Azure.Management.ResourceManager.Models; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs index 50337badc0e9..e3c08466386b 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupInfo.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Management.ResourceManager.Models; +// ---------------------------------------------------------------------------------- +// +// 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.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs index 6a65266518ba..a0aa2cfdfd4b 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSManagementGroupNoChildren.cs @@ -1,5 +1,17 @@ -using System.Collections.Generic; -using System.Linq; +// ---------------------------------------------------------------------------------- +// +// 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.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs index 3763c72055af..2833b1085432 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Models/PSParentGroupInfo.cs @@ -1,4 +1,18 @@ -using Microsoft.Azure.Management.ResourceManager.Models; +// ---------------------------------------------------------------------------------- +// +// 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.Management.ResourceManager.Models; namespace Microsoft.Azure.Commands.ManagementGroups.Models { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md index dd331a1aff24..282d7954bdd8 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/help/New-AzureRmManagementGroup.md @@ -18,7 +18,7 @@ New-AzureRmManagementGroup [-GroupName] [[-DisplayName] ] [[-Pa ``` ## DESCRIPTION -The **Add-AzureRMManagementGroup** cmdlet creates a management group. +The **New-AzureRMManagementGroup** cmdlet creates a management group. ## EXAMPLES From abf440910128a515ba1e1bae9d29faef5ef416d5 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Thu, 1 Feb 2018 16:09:48 -0800 Subject: [PATCH 18/33] Made changes suggested in the PR --- .../Properties/AssemblyInfo.cs | 4 +- .../Cmdlets/GetAzureRmManagementGroup.cs | 8 +-- .../Cmdlets/NewAzureRmManagementGroup.cs | 12 ++-- .../NewAzureRmManagementGroupSubscription.cs | 14 ++-- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 14 ++-- ...emoveAzureRmManagementGroupSubscription.cs | 15 ++-- .../Cmdlets/UpdateAzureRmManagementGroup.cs | 12 ++-- .../Commands.ManagementGroups.csproj | 72 ++----------------- .../Common/Constants.cs | 2 + .../Common/Utility.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../Commands.ManagementGroups/packages.config | 14 ---- 12 files changed, 52 insertions(+), 123 deletions(-) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs index b240668a549b..688eea1b78b5 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // 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")] +[assembly: AssemblyVersion("0.0.1")] +[assembly: AssemblyFileVersion("0.0.1")] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs index da1379b2b254..2248cac0acfb 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/GetAzureRmManagementGroup.cs @@ -25,20 +25,20 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// /// Get-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.Get,"AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.ListParameterSet, SupportsShouldProcess = true), OutputType(typeof(PSManagementGroupInfo), typeof(PSManagementGroupNoChildren))] public class GetAzureRmManagementGroup : AzureManagementGroupsCmdletBase { /// /// Get-AzureRmManagementGroup Cmdlet /// - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] + [Parameter(ParameterSetName = Constants.ParameterSetNames.GetParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] public string GroupName { get; set; } - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + [Parameter(ParameterSetName = Constants.ParameterSetNames.GetParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.Expand)] public SwitchParameter Expand; - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, + [Parameter(ParameterSetName = Constants.ParameterSetNames.GetParameterSet, Mandatory = false, HelpMessage = Constants.HelpMessages.Recurse)] public SwitchParameter Recurse; diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs index 9b981f9b2a96..4acf633b67c3 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroup.cs @@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// /// New-AzureRmManagementGroup Cmdlet /// - [Cmdlet(VerbsCommon.New, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + [Cmdlet(VerbsCommon.New, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true), OutputType(typeof(PSManagementGroupNoChildren))] public class NewAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] @@ -31,24 +31,20 @@ public class NewAzureRmManagementGroup : AzureManagementGroupsCmdletBase public string GroupName { get; set; } [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.DisplayName, Position = 1)] + HelpMessage = Constants.HelpMessages.DisplayName)] [ValidateNotNullOrEmpty] public string DisplayName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.ParentId, Position = 2)] + HelpMessage = Constants.HelpMessages.ParentId)] [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.Force, Position = 3)] - public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() { try { - if (Force.IsPresent || ShouldProcess( + if (ShouldProcess( string.Format(Resource.NewManagementGroupShouldProcessTarget, GroupName), string.Format(Resource.NewManagementGroupShouldProcessAction, GroupName))) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs index 723c17cccd65..7668bd255008 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/NewAzureRmManagementGroupSubscription.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.New, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true), OutputType(typeof(bool))] public class NewAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -38,19 +38,23 @@ public class NewAzureRmManagementGroupSubscription : AzureManagementGroupAutoReg [ValidateNotNullOrEmpty] public Guid SubscriptionId { get; set; } - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.Force, Position = 2)] - public SwitchParameter Force { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false)] + public SwitchParameter PassThru { get; set; } public override void ExecuteCmdlet() { try { - if (Force.IsPresent || ShouldProcess( + if (ShouldProcess( string.Format(Resource.NewManagementGroupSubShouldProcessTarget, SubscriptionId, GroupName), string.Format(Resource.NewManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) { ManagementGroupsApiClient.ManagementGroupSubscriptions.Create(GroupName, SubscriptionId.ToString()); + + if (PassThru.IsPresent) + { + WriteObject(true); + } } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs index ebaeb65aa090..f0f8383c1a8c 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroup.cs @@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true), OutputType(typeof(bool))] public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -32,20 +32,24 @@ public class RemoveAzureRmManagementGroup : AzureManagementGroupsCmdletBase [ValidateNotNullOrEmpty] public string GroupName { get; set; } = null; - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.Force, Position = 1)] - public SwitchParameter Force { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false)] + public SwitchParameter PassThru { get; set; } public override void ExecuteCmdlet() { try { - if (Force.IsPresent || ShouldProcess( + if (ShouldProcess( string.Format(Resource.RemoveManagementGroupShouldProcessTarget, GroupName), string.Format(Resource.RemoveManagementGroupShouldProcessAction, GroupName))) { ManagementGroupsApiClient.ManagementGroups.Delete(GroupName); + + if (PassThru.IsPresent) + { + WriteObject(true); + } } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs index 191b6a7df146..84a3b36cfd48 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/RemoveAzureRmManagementGroupSubscription.cs @@ -25,7 +25,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets /// [Cmdlet(VerbsCommon.Remove, "AzureRmManagementGroupSubscription", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, - SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + SupportsShouldProcess = true), OutputType(typeof(bool))] public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupAutoRegisterCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, @@ -38,19 +38,24 @@ public class RemoveAzureRmManagementGroupSubscription : AzureManagementGroupAuto [ValidateNotNullOrEmpty] public Guid SubscriptionId { get; set; } - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.Force, Position = 2)] - public SwitchParameter Force { get; set; } + [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false)] + public SwitchParameter PassThru { get; set; } + public override void ExecuteCmdlet() { try { - if (Force.IsPresent || ShouldProcess( + if (ShouldProcess( string.Format(Resource.RemoveManagementGroupSubShouldProcessTarget, SubscriptionId,GroupName), string.Format(Resource.RemoveManagementGroupSubShouldProcessAction, SubscriptionId, GroupName))) { ManagementGroupsApiClient.ManagementGroupSubscriptions.Delete(GroupName, SubscriptionId.ToString()); + + if (PassThru.IsPresent) + { + WriteObject(true); + } } } catch (ErrorResponseException ex) diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs index 8abf37a460e8..3a1117416b46 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Cmdlets/UpdateAzureRmManagementGroup.cs @@ -20,7 +20,7 @@ namespace Microsoft.Azure.Commands.ManagementGroups.Cmdlets { - [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium), OutputType(typeof(string))] + [Cmdlet("Update", "AzureRmManagementGroup", DefaultParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, SupportsShouldProcess = true), OutputType(typeof(PSManagementGroupNoChildren))] public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase { [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = true, HelpMessage = Constants.HelpMessages.GroupName, Position = 0)] @@ -28,24 +28,20 @@ public class UpdateAzureRmManagementGroup : AzureManagementGroupsCmdletBase public string GroupName { get; set; } [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.DisplayName, Position = 1)] + HelpMessage = Constants.HelpMessages.DisplayName)] [ValidateNotNullOrEmpty] public string DisplayName { get; set; } = null; [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.ParentId, Position = 2)] + HelpMessage = Constants.HelpMessages.ParentId)] [ValidateNotNullOrEmpty] public string ParentId { get; set; } = null; - [Parameter(ParameterSetName = Constants.ParameterSetNames.GroupOperationsParameterSet, Mandatory = false, - HelpMessage = Constants.HelpMessages.Force, Position = 3)] - public SwitchParameter Force { get; set; } - public override void ExecuteCmdlet() { try { - if (Force.IsPresent || ShouldProcess( + if (ShouldProcess( string.Format(Resource.UpdateManagementGroupShouldProcessTarget, GroupName), string.Format(Resource.UpdateManagementGroupShouldProcessAction, GroupName))) { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj index 5e2c5320d64a..932e770568de 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Commands.ManagementGroups.csproj @@ -33,38 +33,10 @@ 4 - - ..\packages\Hyak.Common.1.0.2\lib\net45\Hyak.Common.dll - True - - - ..\packages\Microsoft.Azure.Common.2.0.4\lib\net45\Microsoft.Azure.Common.dll - True - - - ..\packages\Microsoft.Azure.Common.2.0.4\lib\net45\Microsoft.Azure.Common.NetFramework.dll - True - - - ..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - True - ..\packages\Microsoft.Azure.Management.ResourceManager.1.7.0-preview\lib\net452\Microsoft.Azure.Management.ResourceManager.dll True - - ..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll - True - - - ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll - True - - - ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll - True - ..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll True @@ -73,26 +45,6 @@ ..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll True - - ..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.6-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll - True - - - ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll - True - - - ..\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 - True - - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True - @@ -100,21 +52,7 @@ C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0__31bf3856ad364e35\System.Management.Automation.dll - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - True - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - True - - - - - - - @@ -160,11 +98,12 @@ AzureRM.ManagementGroups.psd1 PreserveNewest - PreserveNewest - + + Designer + @@ -176,11 +115,8 @@ + - - - - diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs index 8cda1d260001..bfccd7e25069 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Constants.cs @@ -18,6 +18,8 @@ class Constants { public class ParameterSetNames { + public const string GetParameterSet = "GetOperation"; + public const string ListParameterSet = "ListOperation"; public const string GroupOperationsParameterSet = "GroupOperations"; public const string SubscriptionOperationsParameterSet = "SubscriptionOperations"; } diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs index 686706adef60..a8dcc6840ecb 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Common/Utility.cs @@ -13,14 +13,14 @@ // ---------------------------------------------------------------------------------- using System; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace Microsoft.Azure.Commands.ManagementGroups.Common { using System.Collections.Generic; using Microsoft.Rest.Azure; using Microsoft.Azure.Management.ResourceManager.Models; - using Newtonsoft.Json; - using Newtonsoft.Json.Linq; static class Utility { diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs index 36e9ae1f4c11..a9d0a4ac65ee 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // 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")] +[assembly: AssemblyVersion("0.0.1")] +[assembly: AssemblyFileVersion("0.0.1")] diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config index a79869a20acf..3fa9b6f29c12 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups/packages.config @@ -1,18 +1,4 @@  - - - - - - - - - - - - - - \ No newline at end of file From 32cf9787bb73f1fe1733988ca7106eeea6812a70 Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Thu, 1 Feb 2018 16:15:33 -0800 Subject: [PATCH 19/33] Pull in changes, add nuget package to local feed --- .../AzureRM.ManagementGroups.psd1 | 2 +- ...agement.ResourceManager.1.7.0-preview.nupkg | Bin 0 -> 504201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 tools/LocalFeed/Microsoft.Azure.Management.ResourceManager.1.7.0-preview.nupkg diff --git a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 index 96cf420456c2..0d0de6766344 100644 --- a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 +++ b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 @@ -51,7 +51,7 @@ CLRVersion = '4.0' # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module -RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.0.0'; }) +RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.2.0'; }) # Assemblies that must be loaded prior to importing this module RequiredAssemblies = '.\Microsoft.Azure.Management.ResourceManager.dll' diff --git a/tools/LocalFeed/Microsoft.Azure.Management.ResourceManager.1.7.0-preview.nupkg b/tools/LocalFeed/Microsoft.Azure.Management.ResourceManager.1.7.0-preview.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..db6d9516fcb0218cf7a929c478ed88f5ea40e9b6 GIT binary patch literal 504201 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 z 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�|mntR+wd-&iQ`7js5e9RUj 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

dfTBXUD=@?>*u>NpsAe-Ye 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%0A$M}I?A}HqTDBd6v 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 C4Q6@( literal 0 HcmV?d00001 From d8269d77af2d62594e25a8f73cf66eb31779409d Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Fri, 2 Feb 2018 00:36:55 -0800 Subject: [PATCH 20/33] Fix for the failing Jenkins build --- .../Commands.ManagementGroups.Test.csproj | 117 +++++++++--------- .../Commands.ManagementGroups.csproj | 14 +-- .../ManagementGroups/NuGet.Config | 6 + 3 files changed, 65 insertions(+), 72 deletions(-) create mode 100644 src/ResourceManager/ManagementGroups/NuGet.Config diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj index 2e30d638ffa5..1109ac54f1b8 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj @@ -1,6 +1,7 @@  - + + Debug @@ -34,84 +35,84 @@ - ..\packages\Hyak.Common.1.0.3\lib\net45\Hyak.Common.dll - True + ..\..\..\packages\Hyak.Common.1.0.3\lib\net45\Hyak.Common.dll + False - ..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - True + ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll + False - ..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - True + ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll + False - ..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - True + ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll + False - ..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll - True + ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll + False - ..\packages\Microsoft.Azure.Management.ResourceManager.1.7.0-preview\lib\net452\Microsoft.Azure.Management.ResourceManager.dll - True + ..\..\..\packages\Microsoft.Azure.Management.ResourceManager.1.7.0-preview\lib\net452\Microsoft.Azure.Management.ResourceManager.dll + False - ..\packages\Microsoft.Azure.Management.Resources.2.20.0-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - True + ..\..\..\packages\Microsoft.Azure.Management.Resources.2.20.0-preview\lib\net40\Microsoft.Azure.ResourceManager.dll + False - ..\packages\Microsoft.Azure.Test.Framework.1.0.6179.26854-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll - True + ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.6179.26854-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll + False - ..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll - True + ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll + False - ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll - True + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll + False - ..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll - True + ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll + False - ..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll - True + ..\..\..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll + False - ..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll - True + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll + False - ..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.9-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll - True + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.9-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll + False - ..\packages\Microsoft.Rest.ClientRuntime.Azure.TestFramework.1.5.1-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.TestFramework.dll - True + ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.TestFramework.1.5.1-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.TestFramework.dll + False - ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll - True + ..\..\..\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.dll + False - ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll - True + ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + False - ..\packages\Microsoft.WindowsAzure.Management.4.0.1\lib\net40\Microsoft.WindowsAzure.Management.dll - True + ..\..\..\packages\Microsoft.WindowsAzure.Management.4.0.1\lib\net40\Microsoft.WindowsAzure.Management.dll + False - ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll - True + ..\..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + False @@ -121,12 +122,12 @@ - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - True + ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll + False - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - True + ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll + False @@ -136,20 +137,20 @@ - ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll - True + ..\..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll + False - ..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll - True + ..\..\..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll + False - ..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll - True + ..\..\..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll + False - ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll - True + ..\..\..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll + False @@ -192,7 +193,6 @@ - PreserveNewest @@ -233,17 +233,14 @@ - - - - - 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}. - + + + EZ-)Qe6pdD2nRc1(c=A-Jl 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

dfTBXUD=@?>*u>NpsAe-Ye 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%0A$M}I?A}HqTDBd6v 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 C4Q6@( From aef5cbaa2e60047b00cbc39a56801cef51e5db8a Mon Sep 17 00:00:00 2001 From: Raj Shah Date: Tue, 13 Feb 2018 17:22:40 -0800 Subject: [PATCH 25/33] sdk update, new test, comments on the PR --- TestMappings.json | 3 + .../AzureRM.ManagementGroups.psd1 | 7 +- .../Commands.ManagementGroups.Test.csproj | 130 ++-- .../GetAzureRmManagementGroupTests.cs | 7 - .../GetAzureRmManagementGroupTests.ps1 | 107 ++- .../GroupSubscriptionOperationsTests.cs | 11 +- .../GroupSubscriptionOperationsTests.ps1 | 19 +- .../NewAzureRmManagementGroupTests.ps1 | 66 +- .../RemoveAzureRmManagementGroupTests.ps1 | 3 +- .../UpdateAzureRmManagementGroupTests.cs | 7 - .../UpdateAzureRmManagementGroupTests.ps1 | 72 +- .../TestGetManagementGroup.json | 353 ++++++++- .../TestGetManagementGroupWithExpand.json | 515 ++++++++++++- ...etManagementGroupWithExpandAndRecurse.json | 677 +++++++++++++++++- .../TestListManagementGroups.json | 86 --- .../TestNewManagementGroupSubscription.json | 77 -- ...tNewRemoveManagementGroupSubscription.json | 314 ++++++++ ...TestRemoveManagementGroupSubscription.json | 77 -- .../TestNewManagementGroup.json | 104 ++- ...TestNewManagementGroupWithDisplayName.json | 108 ++- ...gementGroupWithDisplayNameAndParentId.json | 270 ++++++- .../TestNewManagementGroupWithParentId.json | 270 ++++++- .../TestRemoveManagementGroup.json | 112 ++- .../TestUpdateManagementGroup.json | 92 --- ...tUpdateManagementGroupWithDisplayName.json | 195 ++++- ...gementGroupWithDisplayNameAndParentId.json | 357 ++++++++- ...TestUpdateManagementGroupWithParentId.json | 357 ++++++++- .../packages.config | 13 +- .../Cmdlets/GetAzureRmManagementGroup.cs | 2 +- .../Cmdlets/RemoveAzureRmManagementGroup.cs | 21 + .../Cmdlets/UpdateAzureRmManagementGroup.cs | 27 + .../Commands.ManagementGroups.csproj | 15 +- .../Common/Constants.cs | 3 + .../Commands.ManagementGroups/packages.config | 3 - ...ement.ManagementGroups.1.0.0-preview.nupkg | Bin 62326 -> 0 bytes 35 files changed, 3747 insertions(+), 733 deletions(-) delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GetAzureRmManagementGroupTests/TestListManagementGroups.json delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewManagementGroupSubscription.json create mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestNewRemoveManagementGroupSubscription.json delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.GroupSubscriptionOperationsTests/TestRemoveManagementGroupSubscription.json delete mode 100644 src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/SessionRecords/Commands.ManagementGroups.Test.ScenarioTests.UpdateAzureRmManagementGroupTests/TestUpdateManagementGroup.json delete mode 100644 tools/LocalFeed/Microsoft.Azure.Management.ManagementGroups.1.0.0-preview.nupkg diff --git a/TestMappings.json b/TestMappings.json index 52a46c1e23dd..3519034321bd 100644 --- a/TestMappings.json +++ b/TestMappings.json @@ -104,6 +104,9 @@ ".\\src\\ResourceManager\\MarketplaceOrdering\\Commands.MarketplaceOrdering.Test\\bin\\Debug\\Microsoft.Azure.Commands.MarketplaceOrdering.Test.dll" ], "src/ResourceManager/Media/": [], + "src/ResourceManager/ManagementGroups/": [ + ".\\src\\ResourceManager\\ManagementGroups\\Commands.ManagementGroups.Test\\bin\\Debug\\Microsoft.Azure.Commands.ManagementGroups.Test.dll" + ], "src/ResourceManager/Network/": [ ".\\src\\ResourceManager\\Compute\\Commands.Compute.Test\\bin\\Debug\\Microsoft.Azure.Commands.Compute.Test.dll", ".\\src\\ResourceManager\\Network\\Commands.Network.Test\\bin\\Debug\\Microsoft.Azure.Commands.Network.Test.dll", diff --git a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 index 0d0de6766344..8ec05d55cb4d 100644 --- a/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 +++ b/src/ResourceManager/ManagementGroups/AzureRM.ManagementGroups.psd1 @@ -54,7 +54,7 @@ CLRVersion = '4.0' RequiredModules = @(@{ModuleName = 'AzureRM.Profile'; ModuleVersion = '4.2.0'; }) # Assemblies that must be loaded prior to importing this module -RequiredAssemblies = '.\Microsoft.Azure.Management.ResourceManager.dll' +RequiredAssemblies = '.\Microsoft.Azure.Management.ManagementGroups.dll' # Script files (.ps1) that are run in the caller's environment prior to importing this module. # ScriptsToProcess = @() @@ -107,11 +107,12 @@ PrivateData = @{ # IconUri = '' # ReleaseNotes of this module - ReleaseNotes = '* Add support for online help - - Run Get-Help with the -Online parameter to open the online help in your default Internet browser' + ReleaseNotes = 'First Preview Release of MangementGroups Powershell' # External dependent modules of this module # ExternalModuleDependencies = '' + + Prerelease = 'preview' } # End of PSData hashtable diff --git a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj index be3fc23e0a22..8e47eb8a94b1 100644 --- a/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj +++ b/src/ResourceManager/ManagementGroups/Commands.ManagementGroups.Test/Commands.ManagementGroups.Test.csproj @@ -1,6 +1,6 @@  - + @@ -36,83 +36,83 @@ ..\..\..\packages\Hyak.Common.1.0.3\lib\net45\Hyak.Common.dll - False + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.dll - False + True ..\..\..\packages\Microsoft.Azure.Common.2.1.0\lib\net45\Microsoft.Azure.Common.NetFramework.dll - False + True ..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll - False + True ..\..\..\packages\Microsoft.Azure.Management.Authorization.1.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll - False + True - + ..\..\..\packages\Microsoft.Azure.Management.ManagementGroups.1.0.0-preview\lib\net452\Microsoft.Azure.Management.ManagementGroups.dll True ..\..\..\packages\Microsoft.Azure.Management.Resources.2.20.0-preview\lib\net40\Microsoft.Azure.ResourceManager.dll - False + True ..\..\..\packages\Microsoft.Azure.Test.Framework.1.0.6179.26854-prerelease\lib\net45\Microsoft.Azure.Test.Framework.dll - False + True ..\..\..\packages\Microsoft.Azure.Test.HttpRecorder.1.8.1\lib\net452\Microsoft.Azure.Test.HttpRecorder.dll - False + True ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll - False + True ..\..\..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.2.28.3\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll - False + True ..\..\..\packages\Microsoft.Rest.ClientRuntime.2.3.10\lib\net452\Microsoft.Rest.ClientRuntime.dll - False + True ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.3.3.10\lib\net452\Microsoft.Rest.ClientRuntime.Azure.dll - False + True ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.Authentication.2.2.9-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.Authentication.dll - False + True ..\..\..\packages\Microsoft.Rest.ClientRuntime.Azure.TestFramework.1.5.1-preview\lib\net45\Microsoft.Rest.ClientRuntime.Azure.TestFramework.dll - False + True ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll - False + True ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll - False + True ..\..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll - False + True ..\..\..\packages\Microsoft.WindowsAzure.Management.4.0.1\lib\net40\Microsoft.WindowsAzure.Management.dll - False + True ..\..\..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll - False + True @@ -123,11 +123,11 @@ ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - False + True ..\..\..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - False + True @@ -137,20 +137,20 @@ - ..\..\..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll - False + ..\..\..\packages\xunit.abstractions.2.0.1\lib\net35\xunit.abstractions.dll + True - - ..\..\..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll - False + + ..\..\..\packages\xunit.assert.2.3.1\lib\netstandard1.1\xunit.assert.dll + True - - ..\..\..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll - False + + ..\..\..\packages\xunit.extensibility.core.2.3.1\lib\netstandard1.1\xunit.core.dll + True - - ..\..\..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll - False + + ..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\net452\xunit.execution.desktop.dll + True @@ -209,25 +209,49 @@ PreserveNewest - - - - - - - - - - - - - - - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + @@ -237,10 +261,16 @@ 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}. - + + + + + + +

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�|mntR+wd-&iQ`7js5e9RUj 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