Skip to content

Commit 9a4299c

Browse files
Addressing comments
Addressing comments Addressing comments Addressing comments Addressing comments
1 parent 32c499f commit 9a4299c

27 files changed

+189
-231
lines changed

src/PrivateDns/PrivateDns.Test/ScenarioTests/LinkTests.ps1

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function Test-LinkCrud
4343
Assert-AreEqual $retrievedLink.ProvisioningState "Succeeded"
4444
Assert-Null $retrievedLink.Type
4545

46-
$updatedLink = Set-AzPrivateDnsVirtualNetworkLink -ZoneName $createdLink.ZoneName -ResourceGroupName $createdLink.ResourceGroupName -Name $createdLink.Name -Tag @{tag1="value1";tag2="value2"}
46+
$updatedLink = Update-AzPrivateDnsVirtualNetworkLink -ZoneName $createdLink.ZoneName -ResourceGroupName $createdLink.ResourceGroupName -Name $createdLink.Name -Tag @{tag1="value1";tag2="value2"}
4747

4848
Assert-NotNull $updatedLink
4949
Assert-NotNull $updatedLink.Etag
@@ -106,7 +106,7 @@ function Test-LinkCrudWithPiping
106106
Assert-AreEqual $retrievedLink.ProvisioningState "Succeeded"
107107
Assert-Null $retrievedLink.Type
108108

109-
$updatedLink = $createdLink | Set-AzPrivateDnsVirtualNetworkLink -Tag @{tag1="value1";tag2="value2"}
109+
$updatedLink = $createdLink | Update-AzPrivateDnsVirtualNetworkLink -Tag @{tag1="value1";tag2="value2"}
110110

111111
Assert-NotNull $updatedLink
112112
Assert-NotNull $updatedLink.Etag
@@ -175,11 +175,11 @@ function Test-UpdateLinkRegistrationStatusWithPiping
175175
$createdLink = Create-VirtualNetworkLink $false
176176

177177
$createdLink.RegistrationEnabled = $true
178-
$updatedLink = $createdLink | Set-AzPrivateDnsVirtualNetworkLink
178+
$updatedLink = $createdLink | Update-AzPrivateDnsVirtualNetworkLink
179179
Assert-AreEqual $updatedLink.RegistrationEnabled $true
180180

181181
$updatedLink.RegistrationEnabled = $false
182-
$reUpdatedLink = $updatedLink | Set-AzPrivateDnsVirtualNetworkLink
182+
$reUpdatedLink = $updatedLink | Update-AzPrivateDnsVirtualNetworkLink
183183
Assert-AreEqual $updatedLink.RegistrationEnabled $false
184184

185185
Remove-AzResourceGroup -Name $createdLink.ResourceGroupName -Force
@@ -192,7 +192,7 @@ Test link update with resource Id
192192
function Test-UpdateLinkRegistrationStatusWithResourceId
193193
{
194194
$createdLink = Create-VirtualNetworkLink $false
195-
$updatedLink = Set-AzPrivateDnsVirtualNetworkLink -ResourceId $createdLink.ResourceId -EnableRegistration -Tag @{}
195+
$updatedLink = Update-AzPrivateDnsVirtualNetworkLink -ResourceId $createdLink.ResourceId -IsRegistrationEnabled $true -Tag @{}
196196

197197
Assert-AreEqual $updatedLink.RegistrationEnabled $true
198198
Assert-AreEqual 0 $updatedLink.Tags.Count
@@ -226,7 +226,7 @@ function Test-UpdateLinkWithEtagMismatchThrow
226226
$createdLink.RegistrationEnabled = $true
227227
$createdLink.Etag = "gibberish"
228228

229-
Assert-ThrowsLike { $createdLink | Set-AzPrivateDnsVirtualNetworkLink } "*(etag mismatch)*"
229+
Assert-ThrowsLike { $createdLink | Update-AzPrivateDnsVirtualNetworkLink } "*(etag mismatch)*"
230230

231231
Remove-AzResourceGroup -Name $createdLink.ResourceGroupName -Force
232232
}
@@ -243,7 +243,7 @@ function Test-UpdateLinkWithEtagMismatchOverwrite
243243
$createdLink.RegistrationEnabled = $true
244244
$createdLink.Etag = "gibberish"
245245

246-
$updatedLink = $createdLink | Set-AzPrivateDnsVirtualNetworkLink -Overwrite
246+
$updatedLink = $createdLink | Update-AzPrivateDnsVirtualNetworkLink -Overwrite
247247
Assert-AreEqual $updatedLink.RegistrationEnabled $true
248248
Assert-AreEqual $updatedLink.ProvisioningState "Succeeded"
249249

@@ -259,7 +259,7 @@ function Test-UpdateLinkZoneNotExistsThrow
259259
$createdLink = Create-VirtualNetworkLink $false
260260

261261
$message = "*The resource * under resource group * was not found*"
262-
Assert-ThrowsLike { Set-AzPrivateDnsVirtualNetworkLink -ZoneName "nonexistingzone.com" -ResourceGroupName $createdLink.ResourceGroupName -Name $createdLink.Name -Tag @{tag1="value1";tag2="value2"} } $message
262+
Assert-ThrowsLike { Update-AzPrivateDnsVirtualNetworkLink -ZoneName "nonexistingzone.com" -ResourceGroupName $createdLink.ResourceGroupName -Name $createdLink.Name -Tag @{tag1="value1";tag2="value2"} } $message
263263

264264
Remove-AzResourceGroup -Name $createdLink.ResourceGroupName -Force
265265
}
@@ -273,7 +273,7 @@ function Test-UpdateLinkLinkNotExistsThrow
273273
$createdLink = Create-VirtualNetworkLink $false
274274

275275
$message = "*The resource * under resource group * was not found*"
276-
Assert-ThrowsLike { Set-AzPrivateDnsVirtualNetworkLink -ZoneName $createdLink.ZoneName -ResourceGroupName $createdLink.ResourceGroupName -Name "nonexistinglink" -Tag @{tag1="value1";tag2="value2"} } $message
276+
Assert-ThrowsLike { Update-AzPrivateDnsVirtualNetworkLink -ZoneName $createdLink.ZoneName -ResourceGroupName $createdLink.ResourceGroupName -Name "nonexistinglink" -Tag @{tag1="value1";tag2="value2"} } $message
277277

278278
Remove-AzResourceGroup -Name $createdLink.ResourceGroupName -Force
279279
}
@@ -286,7 +286,7 @@ function Test-UpdateLinkWithNoChangesShouldNotThrow
286286
{
287287
$createdLink = Create-VirtualNetworkLink $false
288288

289-
$updatedLink = $createdLink | Set-AzPrivateDnsVirtualNetworkLink
289+
$updatedLink = $createdLink | Update-AzPrivateDnsVirtualNetworkLink
290290
Assert-AreEqual $updatedLink.ProvisioningState "Succeeded"
291291

292292
Remove-AzResourceGroup -Name $createdLink.ResourceGroupName -Force

src/PrivateDns/PrivateDns/Az.PrivateDns.psd1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ FunctionsToExport = @()
7676
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
7777
CmdletsToExport = 'Get-AzPrivateDnsZone', 'Remove-AzPrivateDnsZone',
7878
'Set-AzPrivateDnsZone', 'New-AzPrivateDnsZone', 'Get-AzPrivateDnsVirtualNetworkLink', 'Remove-AzPrivateDnsVirtualNetworkLink',
79-
'Set-AzPrivateDnsVirtualNetworkLink', 'New-AzPrivateDnsVirtualNetworkLink'
79+
'Update-AzPrivateDnsVirtualNetworkLink', 'New-AzPrivateDnsVirtualNetworkLink'
8080

8181
# Variables to export from this module
8282
# VariablesToExport = @()

src/PrivateDns/PrivateDns/Models/PSPrivateDnsLink.cs renamed to src/PrivateDns/PrivateDns/Models/PSPrivateDnsVirtualNetworkLink.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Microsoft.Azure.Commands.PrivateDns.Models
1515

1616
using System.Collections;
1717

18-
public class PSPrivateDnsLink
18+
public class PSPrivateDnsVirtualNetworkLink
1919
{
2020
/// <summary>
2121
/// Gets or sets the name of the virtual network link.
@@ -65,7 +65,7 @@ public class PSPrivateDnsLink
6565

6666
/// <summary>
6767
/// Gets the status of the virtual network link to the Private DNS
68-
/// zone. Possible values are 'InProgress' and 'Done'. This is a
68+
/// zone. Possible values are 'InProgress' and 'Completed'. This is a
6969
/// read-only property and any attempt to set this value will be
7070
/// ignored. Possible values include: 'InProgress', 'Completed'
7171
/// </summary>

src/PrivateDns/PrivateDns/Models/PSPrivateDnsZone.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,27 @@ public class PSPrivateDnsZone
6161
///Gets or sets the max number of records for this zone
6262
/// </summary>
6363
public long? MaxNumberOfRecordSets { get; set; }
64+
65+
/// <summary>
66+
/// Gets or sets the number of records for this zone
67+
/// </summary>
68+
public long? NumberOfVirtualNetworkLinks { get; set; }
69+
70+
/// <summary>
71+
///Gets or sets the max number of records for this zone
72+
/// </summary>
73+
public long? MaxNumberOfVirtualNetworkLinks { get; set; }
74+
75+
/// <summary>
76+
/// Gets or sets the number of records for this zone
77+
/// </summary>
78+
public long? NumberOfVirtualNetworkLinksWithRegistration { get; set; }
79+
80+
/// <summary>
81+
///Gets or sets the max number of records for this zone
82+
/// </summary>
83+
public long? MaxNumberOfVirtualNetworkLinksWithRegistration { get; set; }
84+
85+
6486
}
6587
}

src/PrivateDns/PrivateDns/Models/PrivateDnsBaseCmdlet.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
namespace Microsoft.Azure.Commands.PrivateDns.Models
1616
{
1717
using Microsoft.Azure.Commands.ResourceManager.Common;
18+
using ProjectResources = Microsoft.Azure.Commands.PrivateDns.Properties.Resources;
1819

1920
public abstract class PrivateDnsBaseCmdlet : AzureRMCmdlet
2021
{
@@ -26,5 +27,13 @@ public PrivateDnsClient PrivateDnsClient
2627

2728
set => _client = value;
2829
}
30+
31+
public string TrimTrailingDotInZoneName(string zoneName)
32+
{
33+
if (!zoneName.EndsWith(".")) return zoneName;
34+
35+
this.WriteWarning(string.Format(ProjectResources.Progress_ModifyingZoneNameTrimDot, zoneName));
36+
return zoneName.TrimEnd('.');
37+
}
2938
}
3039
}

src/PrivateDns/PrivateDns/Models/PrivateDnsClient.cs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,14 @@ private static PSPrivateDnsZone ToPrivateDnsZone(PrivateZone zone)
170170
Tags = TagsConversionHelper.CreateTagHashtable(zone.Tags),
171171
NumberOfRecordSets = zone.NumberOfRecordSets,
172172
MaxNumberOfRecordSets = zone.MaxNumberOfRecordSets,
173+
NumberOfVirtualNetworkLinks = zone.NumberOfVirtualNetworkLinks,
174+
MaxNumberOfVirtualNetworkLinks = zone.MaxNumberOfVirtualNetworkLinks,
175+
NumberOfVirtualNetworkLinksWithRegistration = zone.NumberOfVirtualNetworkLinksWithRegistration,
176+
MaxNumberOfVirtualNetworkLinksWithRegistration = zone.MaxNumberOfVirtualNetworkLinksWithRegistration,
173177
};
174178
}
175179

176-
public PSPrivateDnsLink CreatePrivateDnsLink(
180+
public PSPrivateDnsVirtualNetworkLink CreatePrivateDnsLink(
177181
string name,
178182
string resourceGroupName,
179183
string zoneName,
@@ -202,7 +206,7 @@ public PSPrivateDnsLink CreatePrivateDnsLink(
202206
return ToPrivateDnsLink(response);
203207
}
204208

205-
public PSPrivateDnsLink UpdatePrivateDnsLink(PSPrivateDnsLink link, bool overwrite)
209+
public PSPrivateDnsVirtualNetworkLink UpdatePrivateDnsLink(PSPrivateDnsVirtualNetworkLink link, bool overwrite)
206210
{
207211
var response = this.PrivateDnsManagementClient.VirtualNetworkLinks.CreateOrUpdate(
208212
link.ResourceGroupName,
@@ -225,7 +229,7 @@ public PSPrivateDnsLink UpdatePrivateDnsLink(PSPrivateDnsLink link, bool overwri
225229
}
226230

227231
public void DeletePrivateDnsLink(
228-
PSPrivateDnsLink link,
232+
PSPrivateDnsVirtualNetworkLink link,
229233
bool overwrite)
230234
{
231235
this.PrivateDnsManagementClient.VirtualNetworkLinks.Delete(
@@ -235,14 +239,14 @@ public void DeletePrivateDnsLink(
235239
ifMatch: overwrite ? "*" : link.Etag);
236240
}
237241

238-
public PSPrivateDnsLink GetPrivateDnsLink(string name, string resourceGroupName, string zoneName)
242+
public PSPrivateDnsVirtualNetworkLink GetPrivateDnsLink(string name, string resourceGroupName, string zoneName)
239243
{
240244
return ToPrivateDnsLink(this.PrivateDnsManagementClient.VirtualNetworkLinks.Get(resourceGroupName, zoneName, name));
241245
}
242246

243-
public List<PSPrivateDnsLink> ListPrivateDnsLinksInZone(string resourceGroupName, string zoneName)
247+
public List<PSPrivateDnsVirtualNetworkLink> ListPrivateDnsLinksInZone(string resourceGroupName, string zoneName)
244248
{
245-
var results = new List<PSPrivateDnsLink>();
249+
var results = new List<PSPrivateDnsVirtualNetworkLink>();
246250
IPage<VirtualNetworkLink> getResponse = null;
247251
do
248252
{
@@ -254,9 +258,9 @@ public List<PSPrivateDnsLink> ListPrivateDnsLinksInZone(string resourceGroupName
254258
return results;
255259
}
256260

257-
public PSPrivateDnsLink GetLinkHandleNonExistentLink(string zoneName, string resourceGroupName, string linkName)
261+
public PSPrivateDnsVirtualNetworkLink GetLinkHandleNonExistentLink(string zoneName, string resourceGroupName, string linkName)
258262
{
259-
PSPrivateDnsLink retrievedLink = null;
263+
PSPrivateDnsVirtualNetworkLink retrievedLink = null;
260264
try
261265
{
262266
retrievedLink = this.GetPrivateDnsLink(linkName, resourceGroupName, zoneName);
@@ -272,11 +276,11 @@ public PSPrivateDnsLink GetLinkHandleNonExistentLink(string zoneName, string res
272276
return retrievedLink;
273277
}
274278

275-
private static PSPrivateDnsLink ToPrivateDnsLink(VirtualNetworkLink link)
279+
private static PSPrivateDnsVirtualNetworkLink ToPrivateDnsLink(VirtualNetworkLink link)
276280
{
277-
PrivateDnsUtils.GetResourceGroupNameZoneNameAndLinkNameFromLinkId(link.Id, out var resourceGroupName, out var zoneName, out var linkName);
281+
PrivateDnsUtils.ParseVirtualNetworkId(link.Id, out var resourceGroupName, out var zoneName, out var linkName);
278282

279-
return new PSPrivateDnsLink()
283+
return new PSPrivateDnsVirtualNetworkLink()
280284
{
281285
Name = link.Name,
282286
ResourceId = link.Id,

src/PrivateDns/PrivateDns/Properties/Resources.Designer.cs

Lines changed: 12 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/PrivateDns/PrivateDns/Properties/Resources.resx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,12 +208,15 @@
208208
<value>Removing virtual network link ...</value>
209209
</data>
210210
<data name="Success_NewVirtualNetworkLink" xml:space="preserve">
211-
<value>Link '{0}' was created in resource group '{1}'. Use Get-AzPrivateDnsVirtualNetworkLink to retrieve details about the created link.</value>
211+
<value>Virtual Network Link '{0}' was created in resource group '{1}'. Use Get-AzPrivateDnsVirtualNetworkLink to retrieve details about the created link.</value>
212212
</data>
213213
<data name="Success_RemoveLink" xml:space="preserve">
214-
<value>Link '{0}' was removed from resource group '{1}'.</value>
214+
<value>Virtual Network Link '{0}' was removed from resource group '{1}'.</value>
215215
</data>
216216
<data name="Warning_InvalidLinkDetailsSpecified" xml:space="preserve">
217-
<value>Invalid Link details specified.</value>
217+
<value>Invalid Virtual Network Link details specified.</value>
218+
</data>
219+
<data name="Progress_ModifyingZoneNameTrimDot" xml:space="preserve">
220+
<value>Modifying Private DNS zone name to remove terminating '.'. Private DNS Zone name used is \"{0}\".</value>
218221
</data>
219222
</root>

src/PrivateDns/PrivateDns/Utilities/PrivateDnsUtils.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public static void GetResourceGroupNameFromResourceId(
2929
resourceGroupName = identifier.ResourceGroupName;
3030
}
3131

32-
public static void GetResourceGroupNameZoneNameAndLinkNameFromLinkId(
32+
public static void ParseVirtualNetworkId(
3333
string resourceId,
3434
out string resourceGroupName,
3535
out string zoneName,

src/PrivateDns/PrivateDns/VirtualNetworkLinks/GetAzurePrivateDnsVirtualNetworkLink.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,41 @@
1010
// ----------------------------------------------------------------------------------
1111

1212

13+
using System;
14+
1315
namespace Microsoft.Azure.Commands.PrivateDns.VirtualNetworkLinks
1416
{
1517
using System.Management.Automation;
1618
using Microsoft.Azure.Commands.PrivateDns.Models;
1719
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
20+
using ProjectResources = Microsoft.Azure.Commands.PrivateDns.Properties.Resources;
1821

1922
/// <summary>
2023
/// Gets one or more existing zones.
2124
/// </summary>
22-
[Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "PrivateDnsVirtualNetworkLink"), OutputType(typeof(PSPrivateDnsLink))]
25+
[Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "PrivateDnsVirtualNetworkLink"), OutputType(typeof(PSPrivateDnsVirtualNetworkLink))]
2326
public class GetAzurePrivateDnsVirtualNetworkLink : PrivateDnsBaseCmdlet
2427
{
25-
[Parameter(Mandatory = true, HelpMessage = "The resource group in which the private zone exists.")]
28+
[Parameter(Mandatory = true, HelpMessage = "The resource group in which the virtual network link and private zone exists.")]
2629
[ResourceGroupCompleter]
2730
[ValidateNotNullOrEmpty]
2831
public string ResourceGroupName { get; set; }
2932

30-
[Parameter(Mandatory = true, HelpMessage = "The full name of the private zone (without a terminating dot).")]
33+
[Parameter(Mandatory = true, HelpMessage = "The full name of the Private DNS zone (without a terminating dot).")]
3134
[ResourceNameCompleter("Microsoft.Network/privateDnsZones", "ResourceGroupName")]
3235
[ValidateNotNullOrEmpty]
3336
public string ZoneName { get; set; }
3437

3538
[Parameter(Mandatory = false, HelpMessage = "The full name of the virtual network link.")]
36-
[ResourceNameCompleter("Microsoft.Network/privateDnsZones/virtualNetworkLinks", "ResourceGroupName","ZoneName")]
39+
[ResourceNameCompleter("Microsoft.Network/privateDnsZones/virtualNetworkLinks", "ResourceGroupName", "ZoneName")]
3740
[ValidateNotNullOrEmpty]
3841
public string Name { get; set; }
3942

4043
public override void ExecuteCmdlet()
4144
{
4245
if (this.Name != null)
4346
{
44-
if (this.ZoneName.EndsWith("."))
45-
{
46-
this.ZoneName = this.ZoneName.TrimEnd('.');
47-
this.WriteWarning(
48-
$"Modifying private zone name to remove terminating '.'. Private Zone name used is \"{this.ZoneName}\".");
49-
}
47+
this.ZoneName = TrimTrailingDotInZoneName(this.ZoneName);
5048

5149
this.WriteObject(this.PrivateDnsClient.GetPrivateDnsLink(this.Name, this.ResourceGroupName, this.ZoneName));
5250
}

0 commit comments

Comments
 (0)