Skip to content

Commit dc03016

Browse files
committed
Merge branch 'VMScaleSet' into ExpressRoute
2 parents f27667f + 26d6c88 commit dc03016

File tree

2 files changed

+50
-9
lines changed

2 files changed

+50
-9
lines changed

src/ResourceManager/Network/Commands.Network/NetworkInterface/GetAzureNetworkInterfaceCommand.cs

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,29 +31,63 @@ public class GetAzureNetworkInterfaceCommand : NetworkInterfaceBaseCmdlet
3131
ValueFromPipelineByPropertyName = true,
3232
HelpMessage = "The resource name.")]
3333
[ValidateNotNullOrEmpty]
34-
public virtual string Name { get; set; }
34+
public string Name { get; set; }
3535

3636
[Parameter(
3737
Mandatory = false,
3838
ValueFromPipelineByPropertyName = true,
3939
HelpMessage = "The resource group name.")]
4040
[ValidateNotNullOrEmpty]
41-
public virtual string ResourceGroupName { get; set; }
41+
public string ResourceGroupName { get; set; }
42+
43+
[Parameter(
44+
Mandatory = false,
45+
ValueFromPipelineByPropertyName = true,
46+
HelpMessage = "Virtual Machine Scale Set Name.",
47+
ParameterSetName = "ScaleSetNic")]
48+
[ValidateNotNullOrEmpty]
49+
public string VirtualMachineScaleSetName { get; set; }
50+
51+
[Parameter(
52+
Mandatory = false,
53+
ValueFromPipelineByPropertyName = true,
54+
HelpMessage = "Virtual Machine Index.",
55+
ParameterSetName = "ScaleSetNic")]
56+
[ValidateNotNullOrEmpty]
57+
public string VirtualMachineIndex { get; set; }
4258

4359
protected override void ProcessRecord()
4460
{
4561
base.ProcessRecord();
4662

4763
if (!string.IsNullOrEmpty(this.Name))
4864
{
49-
var networkInterface = this.GetNetworkInterface(this.ResourceGroupName, this.Name);
65+
PSNetworkInterface networkInterface;
66+
67+
if (ParameterSetName.Equals("ScaleSetNic"))
68+
{
69+
networkInterface = this.GetScaleSetNetworkInterface(this.ResourceGroupName, this.VirtualMachineScaleSetName, this.VirtualMachineIndex, this.Name);
70+
}
71+
else
72+
{
73+
networkInterface = this.GetNetworkInterface(this.ResourceGroupName, this.Name);
74+
}
5075

5176
WriteObject(networkInterface);
5277
}
5378
else if (!string.IsNullOrEmpty(this.ResourceGroupName))
5479
{
55-
var getNetworkInterfaceResponse = this.NetworkInterfaceClient.List(this.ResourceGroupName);
80+
var getNetworkInterfaceResponse = new MNM.NetworkInterfaceListResponse();
5681

82+
if (ParameterSetName.Equals("ScaleSetNic"))
83+
{
84+
getNetworkInterfaceResponse = this.NetworkInterfaceClient.ListVirtualMachineScaleSetNetworkInterfaces(this.ResourceGroupName, this.VirtualMachineScaleSetName);
85+
}
86+
else
87+
{
88+
getNetworkInterfaceResponse = this.NetworkInterfaceClient.List(this.ResourceGroupName);
89+
}
90+
5791
var psNetworkInterfaces = new List<PSNetworkInterface>();
5892

5993
foreach (var nic in getNetworkInterfaceResponse.NetworkInterfaces)

src/ResourceManager/Network/Commands.Network/NetworkInterface/NetworkInterfaceBaseCmdlet.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,18 @@ public PSNetworkInterface GetNetworkInterface(string resourceGroupName, string n
6363
networkInterface.ResourceGroupName = resourceGroupName;
6464
networkInterface.Tag =
6565
TagsConversionHelper.CreateTagHashtable(getNetworkInterfaceResponse.NetworkInterface.Tags);
66-
67-
if (networkInterface.IpConfigurations[0].PublicIpAddress == null)
68-
{
69-
networkInterface.IpConfigurations[0].PublicIpAddress = new PSResourceId();
70-
}
66+
67+
return networkInterface;
68+
}
69+
70+
public PSNetworkInterface GetScaleSetNetworkInterface(string resourceGroupName, string scaleSetName, string vmIndex, string name)
71+
{
72+
var getNetworkInterfaceResponse = this.NetworkInterfaceClient.GetVirtualMachineScaleSetNetworkInterface(resourceGroupName, scaleSetName, vmIndex, name);
73+
74+
var networkInterface = Mapper.Map<PSNetworkInterface>(getNetworkInterfaceResponse.NetworkInterface);
75+
networkInterface.ResourceGroupName = resourceGroupName;
76+
networkInterface.Tag =
77+
TagsConversionHelper.CreateTagHashtable(getNetworkInterfaceResponse.NetworkInterface.Tags);
7178

7279
return networkInterface;
7380
}

0 commit comments

Comments
 (0)