Skip to content

Commit e0d784a

Browse files
matyang222Lei Jin
authored andcommitted
fix
1 parent f5899ca commit e0d784a

File tree

4 files changed

+74
-5
lines changed

4 files changed

+74
-5
lines changed

src/Network/Network/Generated/LoadBalancer/NewAzureRMLoadBalancerCommand.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,14 +247,32 @@ public override void Execute()
247247
}
248248
}
249249

250+
List<string> resourceIds = new List<string>();
251+
Dictionary<string, List<string>> auxAuthHeader = null;
252+
253+
// Get aux token for each gateway lb references
254+
foreach (FrontendIPConfiguration frontend in vLoadBalancerModel.FrontendIPConfigurations)
255+
{
256+
if (frontend.GatewayLoadBalancer != null)
257+
{
258+
//Get the aux header for the remote vnet
259+
resourceIds.Add(frontend.GatewayLoadBalancer.Id);
260+
var auxHeaderDictionary = GetAuxilaryAuthHeaderFromResourceIds(resourceIds);
261+
if (auxHeaderDictionary != null && auxHeaderDictionary.Count > 0)
262+
{
263+
auxAuthHeader = new Dictionary<string, List<string>>(auxHeaderDictionary);
264+
}
265+
}
266+
}
267+
250268
ConfirmAction(
251269
Force.IsPresent,
252270
string.Format(Properties.Resources.OverwritingResource, Name),
253271
Properties.Resources.CreatingResourceMessage,
254272
Name,
255273
() =>
256274
{
257-
this.NetworkClient.NetworkManagementClient.LoadBalancers.CreateOrUpdate(this.ResourceGroupName, this.Name, vLoadBalancerModel);
275+
this.NetworkClient.NetworkManagementClient.LoadBalancers.CreateOrUpdateWithHttpMessagesAsync(this.ResourceGroupName, this.Name, vLoadBalancerModel, auxAuthHeader);
258276
var getLoadBalancer = this.NetworkClient.NetworkManagementClient.LoadBalancers.Get(this.ResourceGroupName, this.Name);
259277
var psLoadBalancer = NetworkResourceManagerProfile.Mapper.Map<PSLoadBalancer>(getLoadBalancer);
260278
psLoadBalancer.ResourceGroupName = this.ResourceGroupName;

src/Network/Network/Generated/LoadBalancer/SetAzureRMLoadBalancerCommand.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,26 @@ public override void Execute()
128128
var vLoadBalancerModel = NetworkResourceManagerProfile.Mapper.Map<MNM.LoadBalancer>(this.LoadBalancer);
129129
vLoadBalancerModel.Tags = TagsConversionHelper.CreateTagDictionary(this.LoadBalancer.Tag, validate: true);
130130

131+
List<string> resourceIds = new List<string>();
132+
Dictionary<string, List<string>> auxAuthHeader = null;
133+
134+
// Get aux token for each gateway lb references
135+
foreach (FrontendIPConfiguration frontend in vLoadBalancerModel.FrontendIPConfigurations)
136+
{
137+
if (frontend.GatewayLoadBalancer != null)
138+
{
139+
//Get the aux header for the remote vnet
140+
resourceIds.Add(frontend.GatewayLoadBalancer.Id);
141+
var auxHeaderDictionary = GetAuxilaryAuthHeaderFromResourceIds(resourceIds);
142+
if (auxHeaderDictionary != null && auxHeaderDictionary.Count > 0)
143+
{
144+
auxAuthHeader = new Dictionary<string, List<string>>(auxHeaderDictionary);
145+
}
146+
}
147+
}
148+
131149
// Execute the PUT LoadBalancer call
132-
this.NetworkClient.NetworkManagementClient.LoadBalancers.CreateOrUpdate(this.LoadBalancer.ResourceGroupName, this.LoadBalancer.Name, vLoadBalancerModel);
150+
this.NetworkClient.NetworkManagementClient.LoadBalancers.CreateOrUpdateWithHttpMessagesAsync(this.LoadBalancer.ResourceGroupName, this.LoadBalancer.Name, vLoadBalancerModel, auxAuthHeader);
133151

134152
var getLoadBalancer = this.NetworkClient.NetworkManagementClient.LoadBalancers.Get(this.LoadBalancer.ResourceGroupName, this.LoadBalancer.Name);
135153
var psLoadBalancer = NetworkResourceManagerProfile.Mapper.Map<PSLoadBalancer>(getLoadBalancer);

src/Network/Network/NetworkInterface/NewAzureNetworkInterfaceCommand.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,13 +437,31 @@ private PSNetworkInterface CreateNetworkInterface()
437437
networkInterface.NetworkSecurityGroup.Id = this.NetworkSecurityGroupId;
438438
}
439439

440+
List<string> resourceIds = new List<string>();
441+
Dictionary<string, List<string>> auxAuthHeader = null;
442+
443+
// Get aux token for each gateway lb references
444+
foreach (var ipConfiguration in networkInterface.IpConfigurations)
445+
{
446+
if (ipConfiguration.GatewayLoadBalancer != null)
447+
{
448+
//Get the aux header for the remote vnet
449+
resourceIds.Add(ipConfiguration.GatewayLoadBalancer.Id);
450+
var auxHeaderDictionary = GetAuxilaryAuthHeaderFromResourceIds(resourceIds);
451+
if (auxHeaderDictionary != null && auxHeaderDictionary.Count > 0)
452+
{
453+
auxAuthHeader = new Dictionary<string, List<string>>(auxHeaderDictionary);
454+
}
455+
}
456+
}
457+
440458
var networkInterfaceModel = NetworkResourceManagerProfile.Mapper.Map<MNM.NetworkInterface>(networkInterface);
441459

442460
this.NullifyApplicationSecurityGroupIfAbsent(networkInterfaceModel);
443461

444462
networkInterfaceModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true);
445463

446-
this.NetworkInterfaceClient.CreateOrUpdate(this.ResourceGroupName, this.Name, networkInterfaceModel);
464+
this.NetworkInterfaceClient.CreateOrUpdateWithHttpMessagesAsync(this.ResourceGroupName, this.Name, networkInterfaceModel, auxAuthHeader);
447465

448466
var getNetworkInterface = this.GetNetworkInterface(this.ResourceGroupName, this.Name);
449467

src/Network/Network/NetworkInterface/SetAzureNetworkInterfaceCommand.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using Microsoft.Azure.Commands.ResourceManager.Common.Tags;
1818
using Microsoft.Azure.Management.Network;
1919
using System;
20+
using System.Collections.Generic;
2021
using System.Management.Automation;
2122
using MNM = Microsoft.Azure.Management.Network.Models;
2223

@@ -43,14 +44,28 @@ public override void Execute()
4344
throw new ArgumentException(Microsoft.Azure.Commands.Network.Properties.Resources.ResourceNotFound);
4445
}
4546

46-
// Verify if PublicIpAddress is empty
47+
List<string> resourceIds = new List<string>();
48+
Dictionary<string, List<string>> auxAuthHeader = null;
49+
4750
foreach (var ipconfig in NetworkInterface.IpConfigurations)
4851
{
52+
// Verify if PublicIpAddress is empty
4953
if (ipconfig.PublicIpAddress != null &&
5054
string.IsNullOrEmpty(ipconfig.PublicIpAddress.Id))
5155
{
5256
ipconfig.PublicIpAddress = null;
5357
}
58+
59+
if (ipconfig.GatewayLoadBalancer != null)
60+
{
61+
//Get the aux header for the remote vnet
62+
resourceIds.Add(ipconfig.GatewayLoadBalancer.Id);
63+
var auxHeaderDictionary = GetAuxilaryAuthHeaderFromResourceIds(resourceIds);
64+
if (auxHeaderDictionary != null && auxHeaderDictionary.Count > 0)
65+
{
66+
auxAuthHeader = new Dictionary<string, List<string>>(auxHeaderDictionary);
67+
}
68+
}
5469
}
5570

5671
// Map to the sdk object
@@ -60,7 +75,7 @@ public override void Execute()
6075

6176
networkInterfaceModel.Tags = TagsConversionHelper.CreateTagDictionary(this.NetworkInterface.Tag, validate: true);
6277

63-
this.NetworkInterfaceClient.CreateOrUpdate(this.NetworkInterface.ResourceGroupName, this.NetworkInterface.Name, networkInterfaceModel);
78+
this.NetworkInterfaceClient.CreateOrUpdateWithHttpMessagesAsync(this.NetworkInterface.ResourceGroupName, this.NetworkInterface.Name, networkInterfaceModel, auxAuthHeader);
6479

6580
var getNetworkInterface = this.GetNetworkInterface(this.NetworkInterface.ResourceGroupName, this.NetworkInterface.Name);
6681
WriteObject(getNetworkInterface);

0 commit comments

Comments
 (0)