Skip to content

Commit 4edbb08

Browse files
pass custom headers for cross tenant hubvnet conn
1 parent af7ddf4 commit 4edbb08

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

src/Network/Network/Cortex/HubVnetConnection/NewAzureRmHubVirtualNetworkConnectionCommand.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ public class NewHubVirtualNetworkConnectionCommand : HubVnetConnectionBaseCmdlet
137137
public override void Execute()
138138
{
139139
base.Execute();
140-
140+
Dictionary<string, List<string>> auxAuthHeader = null;
141+
141142
if (ParameterSetName.Contains(CortexParameterSetNames.ByVirtualHubObject))
142143
{
143144
this.ResourceGroupName = this.ParentObject.ResourceGroupName;
@@ -182,6 +183,14 @@ public override void Execute()
182183
parentVirtualHub.VirtualNetworkConnections = new List<PSHubVirtualNetworkConnection>();
183184
}
184185

186+
List<string> resourceIds = new List<string>();
187+
resourceIds.Add(hubVnetConnection.RemoteVirtualNetwork.Id);
188+
var auxHeaderDictionary = GetAuxilaryAuthHeaderFromResourceIds(resourceIds);
189+
if (auxHeaderDictionary != null && auxHeaderDictionary.Count > 0)
190+
{
191+
auxAuthHeader = new Dictionary<string, List<string>>(auxHeaderDictionary);
192+
}
193+
185194
parentVirtualHub.VirtualNetworkConnections.Add(hubVnetConnection);
186195

187196
ConfirmAction(
@@ -190,6 +199,7 @@ public override void Execute()
190199
() =>
191200
{
192201
WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name));
202+
this.VirtualHubClient.CreateOrUpdateWithHttpMessagesAsync(this.ResourceGroupName, this.ParentResourceName, )
193203
this.CreateOrUpdateVirtualHub(this.ResourceGroupName, this.ParentResourceName, parentVirtualHub, parentVirtualHub.Tag);
194204
var createdVirtualHub = this.GetVirtualHub(this.ResourceGroupName, this.ParentResourceName);
195205

src/Network/Network/Cortex/VirtualHub/VirtualHubBaseCmdlet.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,26 @@ public bool IsVirtualHubPresent(string resourceGroupName, string name)
7171
return psVirtualHub == null ? false : true;
7272
}
7373

74-
public PSVirtualHub CreateOrUpdateVirtualHub(string resourceGroupName, string virtualHubName, PSVirtualHub virtualHub, Hashtable tags)
74+
public PSVirtualHub CreateOrUpdateVirtualHub(string resourceGroupName, string virtualHubName, PSVirtualHub virtualHub, Hashtable tags, Dictionary<string, List<string>> customHeaders = null)
7575
{
7676
var virtualHubModel = NetworkResourceManagerProfile.Mapper.Map<MNM.VirtualHub>(virtualHub);
7777
virtualHubModel.Location = virtualHub.Location;
7878
virtualHubModel.Tags = TagsConversionHelper.CreateTagDictionary(tags, validate: true);
79+
MNM.VirtualHub virtualHubCreatedOrUpdated;
80+
81+
if (customHeaders == null)
82+
{
83+
virtualHubCreatedOrUpdated = this.VirtualHubClient.CreateOrUpdate(resourceGroupName, virtualHubName, virtualHubModel);
84+
}
85+
else
86+
{
87+
// Execute the create call and pass the custom headers.
88+
using (var _result = this.VirtualHubClient.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, virtualHubName, virtualHubModel, customHeaders).GetAwaiter().GetResult())
89+
{
90+
virtualHubCreatedOrUpdated = _result.Body;
91+
}
92+
}
7993

80-
var virtualHubCreatedOrUpdated = this.VirtualHubClient.CreateOrUpdate(resourceGroupName, virtualHubName, virtualHubModel);
8194
PSVirtualHub hubToReturn = this.ToPsVirtualHub(virtualHubCreatedOrUpdated);
8295
hubToReturn.ResourceGroupName = resourceGroupName;
8396

0 commit comments

Comments
 (0)