Skip to content

Commit caebb5c

Browse files
committed
Merge branch 'DeploymentStacks' of https://github.com/Xynoclafe/azure-powershell into DeploymentStacks
2 parents da36bc2 + 2996019 commit caebb5c

File tree

1 file changed

+50
-5
lines changed

1 file changed

+50
-5
lines changed

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

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,67 @@
1414

1515
namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
1616
{
17+
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.Components;
1718
using Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels;
1819
using System;
1920
using System.Collections.Generic;
2021
using System.Management.Automation;
2122
using System.Text;
2223

23-
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStack",
24-
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListDeploymentStack), OutputType(typeof(PSDeploymentStack))]
24+
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "DeploymentStack",
25+
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListParameterSetName), OutputType(typeof(PSDeploymentStack))]
2526
public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
2627
{
27-
#region Cmdlet Parameters and Parameter Set Definitions
28+
internal const string ListParameterSetName = "ListDeploymentStacks";
29+
30+
internal const string GetByResourceIdParameterSetName = "GetDeploymentStackByResourceId";
31+
internal const string GetByResourceGroupNameParameterSetName = "GetDeploymentStacksByResourceGroupName";
32+
internal const string GetByDeploymentStackName = "GetDeploymentStackByStackName";
33+
34+
[Alias("Id")]
35+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName)]
36+
[ValidateNotNullOrEmpty]
37+
public string ResourceId { get; set; }
38+
39+
[Alias("ResourceGroupName")]
40+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
41+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
42+
[ValidateNotNullOrEmpty]
43+
public string ResourceGroupName { get; set; }
44+
45+
[Alias("StackName")]
46+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
47+
[ValidateNotNullOrEmpty]
48+
public string StackName { get; set; }
49+
50+
public override void ExecuteCmdlet()
51+
{
52+
try
53+
{
54+
switch (ParameterSetName)
55+
{
56+
case GetByResourceIdParameterSetName:
57+
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStack(ResourceIdUtility.GetResourceGroupName(ResourceId), ResourceIdUtility.GetDeploymentName(ResourceId)));
58+
break;
59+
case GetByResourceGroupNameParameterSetName:
60+
WriteObject(DeploymentStacksSdkClient.ListResourceGroupDeploymentStack(ResourceGroupName));
61+
break;
62+
case GetByDeploymentStackName:
63+
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStack(ResourceGroupName, StackName));
64+
break;
65+
default:
66+
throw new PSInvalidOperationException();
67+
}
68+
}
69+
catch (Exception ex)
70+
{
71+
WriteExceptionError(ex);
72+
}
73+
74+
}
2875

29-
internal const string ListDeploymentStack = "ListDeploymentStack";
3076

3177

32-
#endregion
3378

3479
}
3580
}

0 commit comments

Comments
 (0)