Skip to content

Commit f389059

Browse files
committed
Implementing rest of stacks commands and tests
1 parent dfaf63f commit f389059

File tree

41 files changed

+985
-1180
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+985
-1180
lines changed

NuGet.Config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<packageSources>
4-
<clear />
4+
<clear/>
55
<!-- Do not add any additional feeds if new packages are needed they need to come from nuget.org or our azure-sdk-for-net DevOps feed -->
66
<add key="local-feed" value="tools/LocalFeed" />
77
<add key="azure-powershell" value="https://pkgs.dev.azure.com/azclitools/public/_packaging/azure-powershell/nuget/v3/index.json" />

src/Accounts/Accounts/Accounts.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
<PropertyGroup>
44
<PsModuleName>Accounts</PsModuleName>
5-
<Configurations>Debug;Release;Powershell</Configurations>
65
</PropertyGroup>
76

87
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.props" />

src/Accounts/Authentication.ResourceManager/Authentication.ResourceManager.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
<PropertyGroup>
44
<PsModuleName>Accounts</PsModuleName>
5-
<Configurations>Debug;Release;Powershell</Configurations>
65
</PropertyGroup>
76

87
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.props" />

src/Accounts/Authentication/Authentication.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
<PropertyGroup>
44
<PsModuleName>Accounts</PsModuleName>
5-
<Configurations>Debug;Release;Powershell</Configurations>
65
</PropertyGroup>
76

87
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.props" />

src/Accounts/Authenticators/Authenticators.csproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,13 @@
88
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
99
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
1010
<OutputPath>bin\$(Configuration)</OutputPath>
11-
<Configurations>Debug;Release;Powershell</Configurations>
1211
</PropertyGroup>
1312

1413
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
1514
<DelaySign>false</DelaySign>
1615
<DefineConstants>TRACE;DEBUG;NETSTANDARD</DefineConstants>
1716
</PropertyGroup>
1817

19-
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Powershell|AnyCPU'">
20-
<DelaySign>false</DelaySign>
21-
<DefineConstants>TRACE;DEBUG;NETSTANDARD</DefineConstants>
22-
</PropertyGroup>
23-
2418
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
2519
<SignAssembly>true</SignAssembly>
2620
<DelaySign>true</DelaySign>

src/Monitor/Monitor/Monitor.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
<PropertyGroup>
44
<PsModuleName>Monitor</PsModuleName>
5-
<Configurations>Debug;Release;Powershell</Configurations>
65
</PropertyGroup>
76

87
<Import Project="$(MSBuildThisFileDirectory)..\..\Az.props" />

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

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,28 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2525
using System.Management.Automation;
2626

2727
[Cmdlet("Export", Common.AzureRMConstants.AzureRMPrefix + "ManagementGroupDeploymentStackTemplate",
28-
DefaultParameterSetName = ExportByName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
28+
DefaultParameterSetName = ExportByNameAndManagementGroupIdParameterSetName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
2929
public class ExportAzManagementGroupDeploymentStackTemplate : DeploymentStacksCmdletBase
3030
{
3131
#region Cmdlet Parameters and Parameter Set Definitions
3232

33-
internal const string ExportByResourceId = "ExportByResourceId";
34-
internal const string ExportByName = "ExportByName";
33+
internal const string ExportByResourceIdParameterSetName = "ExportByResourceId";
34+
internal const string ExportByNameAndManagementGroupIdParameterSetName = "ExportByNameAndManagmentGroupId";
3535

3636
[Alias("Id")]
37-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceId)]
37+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
38+
HelpMessage = "ResourceId of the DeploymentStack to get")]
3839
[ValidateNotNullOrEmpty]
3940
public string ResourceId { get; set; }
4041

4142
[Alias("StackName")]
42-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByName)]
43+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByNameAndManagementGroupIdParameterSetName,
44+
HelpMessage = "The name of the DeploymentStack to get")]
4345
[ValidateNotNullOrEmpty]
4446
public string Name { get; set; }
4547

46-
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByName)]
48+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByNameAndManagementGroupIdParameterSetName,
49+
HelpMessage = "The id of the ManagementGroup where the DeploymentStack is deployed")]
4750
[ValidateNotNullOrEmpty]
4851
public string ManagementGroupId { get; set; }
4952

@@ -56,10 +59,16 @@ protected override void OnProcessRecord()
5659
{
5760
switch (ParameterSetName)
5861
{
59-
case ExportByResourceId:
60-
WriteObject(DeploymentStacksSdkClient.ExportManagementGroupDeploymentStack(ResourceIdUtility.GetManagementGroupId(ResourceId), ResourceIdUtility.GetDeploymentName(ResourceId)), true);
62+
case ExportByResourceIdParameterSetName:
63+
ManagementGroupId = ResourceIdUtility.GetManagementGroupId(ResourceId);
64+
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
65+
if (ManagementGroupId == null || Name == null)
66+
{
67+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
68+
}
69+
WriteObject(DeploymentStacksSdkClient.ExportManagementGroupDeploymentStack(ManagementGroupId, Name), true);
6170
break;
62-
case ExportByName:
71+
case ExportByNameAndManagementGroupIdParameterSetName:
6372
WriteObject(DeploymentStacksSdkClient.ExportManagementGroupDeploymentStack(ManagementGroupId, Name), true);
6473
break;
6574
default:

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

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,28 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2323
using System.Management.Automation;
2424

2525
[Cmdlet("Export", Common.AzureRMConstants.AzureRMPrefix + "ResourceGroupDeploymentStackTemplate",
26-
DefaultParameterSetName = ExportByName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
26+
DefaultParameterSetName = ExportByNameAndResourceGroupNameParameterSetName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
2727
public class ExportAzResourceGroupDeploymentStackTemplate : DeploymentStacksCmdletBase
2828
{
2929
#region Cmdlet Parameters and Parameter Set Definitions
3030

31-
internal const string ExportByResourceId = "ExportByResourceId";
32-
internal const string ExportByName = "ExportByName";
31+
internal const string ExportByResourceIdParameterSetName = "ExportByResourceId";
32+
internal const string ExportByNameAndResourceGroupNameParameterSetName = "ExportByNameAndResourceGroupName";
3333

3434
[Alias("Id")]
35-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceId)]
35+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
36+
HelpMessage = "ResourceId of the DeploymentStack to get")]
3637
[ValidateNotNullOrEmpty]
3738
public string ResourceId { get; set; }
3839

39-
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByName)]
40+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByNameAndResourceGroupNameParameterSetName,
41+
HelpMessage = "The name of the ResourceGroup where the DeploymentStack is deployed")]
4042
[ValidateNotNullOrEmpty]
4143
public string ResourceGroupName { get; set; }
4244

4345
[Alias("StackName")]
44-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByName)]
46+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByNameAndResourceGroupNameParameterSetName,
47+
HelpMessage = "The name of the DeploymentStack to get")]
4548
[ValidateNotNullOrEmpty]
4649
public string Name { get; set; }
4750

@@ -55,10 +58,16 @@ protected override void OnProcessRecord()
5558
{
5659
switch (ParameterSetName)
5760
{
58-
case ExportByResourceId:
59-
WriteObject(DeploymentStacksSdkClient.ExportResourceGroupDeploymentStack(ResourceIdUtility.GetResourceGroupName(ResourceId), ResourceIdUtility.GetDeploymentName(ResourceId)), true);
61+
case ExportByResourceIdParameterSetName:
62+
ResourceGroupName = ResourceIdUtility.GetResourceGroupName(ResourceId);
63+
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
64+
if (ResourceGroupName == null || Name == null)
65+
{
66+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
67+
}
68+
WriteObject(DeploymentStacksSdkClient.ExportResourceGroupDeploymentStack(ResourceGroupName, Name), true);
6069
break;
61-
case ExportByName:
70+
case ExportByNameAndResourceGroupNameParameterSetName:
6271
WriteObject(DeploymentStacksSdkClient.ExportResourceGroupDeploymentStack(ResourceGroupName, Name), true);
6372
break;
6473
default:

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,23 @@ namespace Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation
2626
using System.Management.Automation;
2727

2828
[Cmdlet("Export", Common.AzureRMConstants.AzureRMPrefix + "SubscriptionDeploymentStackTemplate",
29-
DefaultParameterSetName = ExportByName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
29+
DefaultParameterSetName = ExportByNameParameterSetName), OutputType(typeof(PSDeploymentStackTemplateDefinition))]
3030
public class ExportAzSubscriptionDeploymentStackTemplate : DeploymentStacksCmdletBase
3131
{
3232
#region Cmdlet Parameters and Parameter Set Definitions
3333

34-
internal const string ExportByResourceId = "ExportByResourceId";
35-
internal const string ExportByName = "ExportByName";
34+
internal const string ExportByResourceIdParameterSetName = "ExportByResourceId";
35+
internal const string ExportByNameParameterSetName = "ExportByName";
3636

3737
[Alias("Id")]
38-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceId)]
38+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByResourceIdParameterSetName,
39+
HelpMessage = "ResourceId of the DeploymentStack to get")]
3940
[ValidateNotNullOrEmpty]
4041
public string ResourceId { get; set; }
4142

4243
[Alias("StackName")]
43-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByName)]
44+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ExportByNameParameterSetName,
45+
HelpMessage = "The name of the DeploymentStack to get")]
4446
[ValidateNotNullOrEmpty]
4547
public string Name { get; set; }
4648

@@ -53,10 +55,15 @@ protected override void OnProcessRecord()
5355
{
5456
switch (ParameterSetName)
5557
{
56-
case ExportByResourceId:
57-
WriteObject(DeploymentStacksSdkClient.ExportSubscriptionDeploymentStack(ResourceIdUtility.GetResourceGroupName(ResourceId)), true);
58+
case ExportByResourceIdParameterSetName:
59+
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
60+
if (Name == null)
61+
{
62+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
63+
}
64+
WriteObject(DeploymentStacksSdkClient.ExportSubscriptionDeploymentStack(Name), true);
5865
break;
59-
case ExportByName:
66+
case ExportByNameParameterSetName:
6067
WriteObject(DeploymentStacksSdkClient.ExportSubscriptionDeploymentStack(Name), true);
6168
break;
6269
default:

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

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

2424
[Cmdlet("Get", Common.AzureRMConstants.AzureRMPrefix + "ManagementGroupDeploymentStack",
25-
DefaultParameterSetName = GetAzManagementGroupDeploymentStack.ListDeploymentStacksByManagementGroupId), OutputType(typeof(PSDeploymentStack))]
25+
DefaultParameterSetName = GetAzManagementGroupDeploymentStack.ListByManagementGroupIdParameterSetName), OutputType(typeof(PSDeploymentStack))]
2626
public class GetAzManagementGroupDeploymentStack : DeploymentStacksCmdletBase
2727
{
2828
#region Cmdlet Parameters and Parameter Set Definitions
2929

30-
internal const string GetDeploymentStackByResourceId = "GetDeploymentStackByResourceId";
31-
internal const string GetDeploymentStackByManagementGroupIdAndStackName = " GetDeploymentStackByManagementGroupIdAndStackName";
32-
internal const string ListDeploymentStacksByManagementGroupId = "ListDeploymentStacksByManagmentGroupId";
30+
internal const string GetByResourceIdParameterSetName = "GetByResourceId";
31+
internal const string GetByManagementGroupIdAndStackNameParameterSetName = "GetByManagementGroupIdAndStackName";
32+
internal const string ListByManagementGroupIdParameterSetName = "ListByManagmentGroupId";
3333

3434
[Alias("StackName")]
35-
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetDeploymentStackByManagementGroupIdAndStackName,
36-
HelpMessage = "The name of the deploymentStack to get")]
35+
[Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
36+
HelpMessage = "The name of the DeploymentStack to get")]
3737
[ValidateNotNullOrEmpty]
3838
public string Name { get; set; }
3939

4040
[Alias("Id")]
41-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetDeploymentStackByResourceId,
42-
HelpMessage = "ResourceId of the stack to get")]
41+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByResourceIdParameterSetName,
42+
HelpMessage = "ResourceId of the DeploymentStack to get")]
4343
[ValidateNotNullOrEmpty]
4444
public string ResourceId { get; set; }
4545

46-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListDeploymentStacksByManagementGroupId)]
47-
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetDeploymentStackByManagementGroupIdAndStackName)]
46+
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = ListByManagementGroupIdParameterSetName,
47+
HelpMessage = "The id of the ManagementGroup where the DeploymentStack is deployed")]
48+
[Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = GetByManagementGroupIdAndStackNameParameterSetName,
49+
HelpMessage = "The id of the ManagementGroup where the DeploymentStack is deployed")]
4850
[ValidateNotNullOrEmpty]
4951
public string ManagementGroupId { get; set; }
5052

@@ -59,14 +61,19 @@ protected override void OnProcessRecord()
5961
this.GetResourcesClient();
6062
switch (ParameterSetName)
6163
{
62-
case GetDeploymentStackByResourceId:
63-
WriteObject(DeploymentStacksSdkClient.GetManagementGroupDeploymentStack(ResourceIdUtility.GetManagementGroupId(ResourceId),
64-
ResourceIdUtility.GetResourceName(ResourceId)), true);
64+
case GetByResourceIdParameterSetName:
65+
ManagementGroupId = ResourceIdUtility.GetManagementGroupId(ResourceId);
66+
Name = ResourceIdUtility.GetDeploymentName(ResourceId);
67+
if (ManagementGroupId == null || Name == null)
68+
{
69+
throw new PSArgumentException($"Provided Id '{ResourceId}' is not in correct form.");
70+
}
71+
WriteObject(DeploymentStacksSdkClient.GetManagementGroupDeploymentStack(ManagementGroupId, Name), true);
6572
break;
66-
case GetDeploymentStackByManagementGroupIdAndStackName:
73+
case GetByManagementGroupIdAndStackNameParameterSetName:
6774
WriteObject(DeploymentStacksSdkClient.GetManagementGroupDeploymentStack(ManagementGroupId, Name, true));
6875
break;
69-
case ListDeploymentStacksByManagementGroupId:
76+
case ListByManagementGroupIdParameterSetName:
7077
WriteObject(DeploymentStacksSdkClient.ListManagementGroupDeploymentStack(ManagementGroupId), true);
7178
break;
7279
default:

0 commit comments

Comments
 (0)