Skip to content

Commit 5dfe415

Browse files
committed
more work with bugbash fixes
1 parent 19febbc commit 5dfe415

21 files changed

+221
-182
lines changed

src/Resources/ResourceManager/Components/ResourceIdentifier.cs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -93,25 +93,6 @@ public static ResourceIdentifier FromResourceGroupIdentifier(string resourceGrou
9393
return new ResourceIdentifier();
9494
}
9595

96-
public static ResourceIdentifier FromManagementGroupResourceIdentifier(string managementGroupResourceId)
97-
{
98-
if (!string.IsNullOrEmpty(managementGroupResourceId))
99-
{
100-
string[] tokens = managementGroupResourceId.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
101-
if (tokens.Length != 8)
102-
{
103-
throw new ArgumentException(ProjectResources.InvalidFormatOfResourceGroupId, "resourceGroupId");
104-
}
105-
return new ResourceIdentifier
106-
{
107-
Subscription = tokens[1],
108-
ResourceGroupName = tokens[3],
109-
};
110-
}
111-
112-
return new ResourceIdentifier();
113-
}
114-
11596
public static string GetProviderFromResourceType(string resourceType)
11697
{
11798
if (resourceType == null)

src/Resources/ResourceManager/Implementation/DeploymentStacks/ExportAzManagmentGroupDeploymentStackTemplate.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
1717
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Components;
1818
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkClient;
1919
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels;
20-
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.DeploymentStacks;
2120
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Utilities;
2221
using Microsoft.WindowsAzure.Commands.Utilities.Common;
2322
using Newtonsoft.Json.Linq;
@@ -34,7 +33,7 @@ public class ExportAzManagementGroupDeploymentStackTemplate : DeploymentStacksCm
3433
internal const string ExportByNameAndManagementGroupIdParameterSetName = "ExportByNameAndManagmentGroupId";
3534

3635
[Alias("Id")]
37-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
36+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
3837
HelpMessage = "ResourceId of the DeploymentStack to get")]
3938
[ValidateNotNullOrEmpty]
4039
public string ResourceId { get; set; }
@@ -64,7 +63,8 @@ protected override void OnProcessRecord()
6463
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6564
if (ManagementGroupId == null || Name == null)
6665
{
67-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
66+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
67+
"/providers/Microsoft.Management/managementGroups/<managementgroupid>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
6868
}
6969
WriteObject(DeploymentStacksSdkClient.ExportManagementGroupDeploymentStack(ManagementGroupId, Name), true);
7070
break;

src/Resources/ResourceManager/Implementation/DeploymentStacks/ExportAzResourceGroupDeploymentStackTemplate.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
1616
{
1717
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Components;
18-
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.DeploymentStacks;
18+
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels;
1919
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Utilities;
2020
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
2121
using Microsoft.WindowsAzure.Commands.Utilities.Common;
@@ -33,7 +33,7 @@ public class ExportAzResourceGroupDeploymentStackTemplate : DeploymentStacksCmdl
3333
internal const string ExportByNameAndResourceGroupNameParameterSetName = "ExportByNameAndResourceGroupName";
3434

3535
[Alias("Id")]
36-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
36+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
3737
HelpMessage = "ResourceId of the DeploymentStack to get")]
3838
[ValidateNotNullOrEmpty]
3939
public string ResourceId { get; set; }
@@ -61,11 +61,12 @@ protected override void OnProcessRecord()
6161
switch (ParameterSetName)
6262
{
6363
case ExportByResourceIdParameterSetName:
64-
ResourceGroupName = ResourceIdUtility.GetManagementGroupId(ResourceId);
64+
ResourceGroupName = ResourceIdUtility.GetResourceGroupName(ResourceId);
6565
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6666
if (ResourceGroupName == null || Name == null)
6767
{
68-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
68+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
69+
"/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
6970
}
7071
WriteObject(DeploymentStacksSdkClient.ExportResourceGroupDeploymentStack(ResourceGroupName, Name), true);
7172
break;

src/Resources/ResourceManager/Implementation/DeploymentStacks/ExportAzSubscriptionDeploymentStackTemplate.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
1717

1818
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Components;
1919
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels;
20-
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.DeploymentStacks;
2120
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Utilities;
2221
using Microsoft.WindowsAzure.Commands.Utilities.Common;
2322
using Newtonsoft.Json;
@@ -35,7 +34,7 @@ public class ExportAzSubscriptionDeploymentStackTemplate : DeploymentStacksCmdle
3534
internal const string ExportByNameParameterSetName = "ExportByName";
3635

3736
[Alias("Id")]
38-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
37+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
3938
HelpMessage = "ResourceId of the DeploymentStack to get")]
4039
[ValidateNotNullOrEmpty]
4140
public string ResourceId { get; set; }
@@ -59,7 +58,8 @@ protected override void OnProcessRecord()
5958
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6059
if (Name == null)
6160
{
62-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
61+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
62+
"/subscriptions/<subid>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
6363
}
6464
WriteObject(DeploymentStacksSdkClient.ExportSubscriptionDeploymentStack(Name), true);
6565
break;

src/Resources/ResourceManager/Implementation/DeploymentStacks/GetAzManagementGroupDeploymentStack.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2222
using System.Text;
2323

2424
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ManagementGroupDeploymentStack",
25-
DefaultParameterSetName = GetAzManagementGroupDeploymentStack.ListByManagementGroupIdParameterSetName), OutputType(typeof(PSDeploymentStack))]
25+
DefaultParameterSetName = ListByManagementGroupIdParameterSetName), OutputType(typeof(PSDeploymentStack))]
2626
public class GetAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
2727
{
2828
#region Cmdlet Parameters and Parameter Set Definitions
@@ -32,7 +32,7 @@ public class GetAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
3232
internal const string ListByManagementGroupIdParameterSetName = "ListByManagmentGroupId";
3333

3434
[Alias("StackName")]
35-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
35+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
3636
HelpMessage = "The name of the DeploymentStack to get")]
3737
[ValidateNotNullOrEmpty]
3838
public string Name { get; set; }
@@ -45,7 +45,7 @@ public class GetAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
4545

4646
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByManagementGroupIdParameterSetName,
4747
HelpMessage = "The id of the ManagementGroup where the DeploymentStack is deployed")]
48-
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
48+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
4949
HelpMessage = "The id of the ManagementGroup where the DeploymentStack is deployed")]
5050
[ValidateNotNullOrEmpty]
5151
public string ManagementGroupId { get; set; }
@@ -66,7 +66,8 @@ protected override void OnProcessRecord()
6666
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6767
if (ManagementGroupId == null || Name == null)
6868
{
69-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
69+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
70+
"/providers/Microsoft.Management/managementGroups/<managementgroupid>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
7071
}
7172
WriteObject(DeploymentStacksSdkClient.GetManagementGroupDeploymentStack(ManagementGroupId, Name), true);
7273
break;

src/Resources/ResourceManager/Implementation/DeploymentStacks/GetAzResourceGroupDeploymentStack.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2323
using System.Text;
2424

2525
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStack",
26-
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListByResourceGroupNameParameterSetName), OutputType(typeof(PSDeploymentStack))]
26+
DefaultParameterSetName = ListByResourceGroupNameParameterSetName), OutputType(typeof(PSDeploymentStack))]
2727
public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
2828
{
2929

@@ -41,14 +41,14 @@ public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
4141

4242
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByResourceGroupNameParameterSetName,
4343
HelpMessage = "The id of the ResourceGroup where the DeploymentStack is deployed")]
44-
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackNameParameterSetName,
44+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackNameParameterSetName,
4545
HelpMessage = "The id of the ResourceGroup where the DeploymentStack is deployed")]
4646
[ResourceGroupCompleter]
4747
[ValidateNotNullOrEmpty]
4848
public string ResourceGroupName { get; set; }
4949

5050
[Alias("StackName")]
51-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackNameParameterSetName,
51+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackNameParameterSetName,
5252
HelpMessage = "The name of the DeploymentStack to get")]
5353
[ValidateNotNullOrEmpty]
5454
public string Name { get; set; }
@@ -67,7 +67,8 @@ protected override void OnProcessRecord()
6767
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6868
if (ResourceGroupName == null || Name == null)
6969
{
70-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
70+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
71+
"/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
7172
}
7273
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStack(ResourceGroupName, Name), true);
7374
break;

src/Resources/ResourceManager/Implementation/DeploymentStacks/GetAzSubscriptionDeploymentStack.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2222
using System.Text;
2323

2424
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "SubscriptionDeploymentStack",
25-
DefaultParameterSetName = GetAzSubscriptionDeploymentStack.ListParameterSetname), OutputType(typeof(PSDeploymentStack))]
25+
DefaultParameterSetName = ListParameterSetname), OutputType(typeof(PSDeploymentStack))]
2626
public class GetAzSubscriptionDeploymentStack : DeploymentStacksCmdletBase
2727
{
2828
#region Cmdlet Parameters and Parameter Set Definitions
@@ -32,7 +32,7 @@ public class GetAzSubscriptionDeploymentStack : DeploymentStacksCmdletBase
3232
internal const string ListParameterSetname = "ListDeploymentStacks";
3333

3434
[Alias("StackName")]
35-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByStackNameParameterSetname,
35+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByStackNameParameterSetname,
3636
HelpMessage = "The name of the DeploymentStack to get")]
3737
[ValidateNotNullOrEmpty]
3838
public string Name { get; set; }
@@ -61,9 +61,10 @@ protected override void OnProcessRecord()
6161
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
6262
if (Name == null)
6363
{
64-
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
64+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form. Should be in form " +
65+
"/subscriptions/<subid>/providers/Microsoft.Resources/deploymentStacks/<stackname>");
6566
}
66-
WriteObject(DeploymentStacksSdkClient.GetSubscriptionDeploymentStack(ResourceIdUtility.GetResourceName(Name)), true);
67+
WriteObject(DeploymentStacksSdkClient.GetSubscriptionDeploymentStack(Name), true);
6768
break;
6869
case ListParameterSetname:
6970
WriteObject(DeploymentStacksSdkClient.ListSubscriptionDeploymentStack(), true);

src/Resources/ResourceManager/Implementation/DeploymentStacks/NewAzManagementGroupDeploymentStack.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2727
using ProjectResources = Microsoft.Azure.Commands.ResourceManager.Cmdlets.Properties.Resources;
2828

2929
[Cmdlet("New", Common.AzureRMConstants.AzureRMPrefix + "ManagementGroupDeploymentStack",
30-
SupportsShouldProcess = true, DefaultParameterSetName = NewAzManagementGroupDeploymentStack.ParameterlessTemplateFileParameterSetName), OutputType(typeof(PSDeploymentStack))]
30+
SupportsShouldProcess = true, DefaultParameterSetName = ParameterlessTemplateFileParameterSetName), OutputType(typeof(PSDeploymentStack))]
3131
public class NewAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
3232
{
3333

@@ -136,7 +136,7 @@ public class NewAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
136136
public SwitchParameter DeleteManagementGroups { get; set; }*/
137137

138138
[Parameter(Mandatory = false, HelpMessage = "Mode for DenySettings. Possible values include: 'denyDelete', 'denyWriteAndDelete', and 'none'.")]
139-
public string DenySettingsMode { get; set; }
139+
public PSDenySettingsMode DenySettingsMode { get; set; }
140140

141141
[Parameter(Mandatory = false, HelpMessage = "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted.")]
142142
public string[] DenySettingsExcludedPrincipals { get; set; }
@@ -236,7 +236,7 @@ protected override void OnProcessRecord()
236236
resourceGroupsCleanupAction: shouldDeleteResourceGroups ? "delete" : "detach",
237237
managementGroupsCleanupAction: "detach",
238238
DeploymentSubscriptionId,
239-
DenySettingsMode,
239+
DenySettingsMode.ToString(),
240240
DenySettingsExcludedPrincipals,
241241
DenySettingsExcludedActions,
242242
DenySettingsApplyToChildScopes.IsPresent

src/Resources/ResourceManager/Implementation/DeploymentStacks/NewAzResourceGroupDeploymentStack.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2727
using ProjectResources = Microsoft.Azure.Commands.ResourceManager.Cmdlets.Properties.Resources;
2828

2929
[Cmdlet("New", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStack",
30-
SupportsShouldProcess = true, DefaultParameterSetName = NewAzResourceGroupDeploymentStack.ParameterlessTemplateFileParameterSetName), OutputType(typeof(PSDeploymentStack))]
30+
SupportsShouldProcess = true, DefaultParameterSetName = ParameterlessTemplateFileParameterSetName), OutputType(typeof(PSDeploymentStack))]
3131
public class NewAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
3232
{
3333

@@ -132,7 +132,7 @@ public class NewAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
132132
public SwitchParameter DeleteManagementGroups { get; set; }*/
133133

134134
[Parameter(Mandatory = false, HelpMessage = "Mode for DenySettings. Possible values include: 'denyDelete', 'denyWriteAndDelete', and 'none'.")]
135-
public string DenySettingsMode { get; set; }
135+
public PSDenySettingsMode DenySettingsMode { get; set; }
136136

137137
[Parameter(Mandatory = false, HelpMessage = "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted.")]
138138
public string[] DenySettingsExcludedPrincipals { get; set; }
@@ -226,7 +226,7 @@ protected override void OnProcessRecord()
226226
resourcesCleanupAction: shouldDeleteResources ? "delete" : "detach",
227227
resourceGroupsCleanupAction: shouldDeleteResourceGroups ? "delete" : "detach",
228228
managementGroupsCleanupAction: "detach",
229-
DenySettingsMode,
229+
DenySettingsMode.ToString(),
230230
DenySettingsExcludedPrincipals,
231231
DenySettingsExcludedActions,
232232
DenySettingsApplyToChildScopes.IsPresent

0 commit comments

Comments
 (0)