Skip to content

Commit d902ce1

Browse files
author
Harsh Patel
committed
Finished GetAzResourceGroupDeploymentStackSnapshot [Needs further testing]
1 parent caebb5c commit d902ce1

File tree

2 files changed

+52
-3
lines changed

2 files changed

+52
-3
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2121
using System.Management.Automation;
2222
using System.Text;
2323

24-
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "DeploymentStack",
24+
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStack",
2525
DefaultParameterSetName = GetAzResourceGroupDeploymentStack.ListParameterSetName), OutputType(typeof(PSDeploymentStack))]
2626
public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
2727
{
@@ -36,13 +36,11 @@ public class GetAzResourceGroupDeploymentStack : DeploymentStacksCmdletBase
3636
[ValidateNotNullOrEmpty]
3737
public string ResourceId { get; set; }
3838

39-
[Alias("ResourceGroupName")]
4039
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
4140
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
4241
[ValidateNotNullOrEmpty]
4342
public string ResourceGroupName { get; set; }
4443

45-
[Alias("StackName")]
4644
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
4745
[ValidateNotNullOrEmpty]
4846
public string StackName { get; set; }

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

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
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;
@@ -28,6 +29,56 @@ public class GetAzResourceGroupDeploymentStackSnapshot : DeploymentStacksCmdletB
2829

2930
internal const string ListDeploymentStack = "ListDeploymentStack";
3031

32+
internal const string GetByResourceIdParameterSetName = "GetDeploymentStackByResourceId";
33+
internal const string GetByResourceGroupNameParameterSetName = "GetDeploymentStacksByResourceGroupName";
34+
internal const string GetByDeploymentStackName = "GetDeploymentStackByStackName";
35+
36+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName)]
37+
[ValidateNotNullOrEmpty]
38+
public string ResourceId { get; set; }
39+
40+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
41+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
42+
[ValidateNotNullOrEmpty]
43+
public string ResourceGroupName { get; set; }
44+
45+
46+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
47+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceGroupNameParameterSetName)]
48+
[ValidateNotNullOrEmpty]
49+
public string StackName { get; set; }
50+
51+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName)]
52+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByDeploymentStackName)]
53+
[ValidateNotNullOrEmpty]
54+
public string SnapshotName { get; set; }
55+
56+
57+
public override void ExecuteCmdlet()
58+
{
59+
try
60+
{
61+
switch (ParameterSetName)
62+
{
63+
case GetByResourceIdParameterSetName:
64+
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStackSnapshot(ResourceIdUtility.GetResourceGroupName(ResourceId), ResourceIdUtility.GetDeploymentName(ResourceId), SnapshotName));
65+
break;
66+
case GetByResourceGroupNameParameterSetName:
67+
WriteObject(DeploymentStacksSdkClient.ListResourceGroupDeploymentStackSnapshot(ResourceGroupName, StackName));
68+
break;
69+
case GetByDeploymentStackName:
70+
WriteObject(DeploymentStacksSdkClient.GetResourceGroupDeploymentStackSnapshot(ResourceGroupName, StackName, SnapshotName));
71+
break;
72+
default:
73+
throw new PSInvalidOperationException();
74+
}
75+
}
76+
catch (Exception ex)
77+
{
78+
WriteExceptionError(ex);
79+
}
80+
}
81+
3182

3283
#endregion
3384

0 commit comments

Comments
 (0)