Skip to content

Commit 5f432c8

Browse files
committed
Adding DnsZone Partner to New-SqlInstance cmdlet
1 parent 6d4cc55 commit 5f432c8

File tree

7 files changed

+45
-4
lines changed

7 files changed

+45
-4
lines changed

src/Sql/Sql.Test/ScenarioTests/ManagedInstanceCrudScenarioTests.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,12 @@ function Test-CreateManagedInstance
6868
$edition = "GeneralPurpose"
6969
$computeGeneration = "Gen4"
7070
$managedInstanceName = Get-ManagedInstanceName
71+
$dnsZonePartner = $managedInstance1.ResourceId
7172

7273
# With edition and computeGeneration specified
7374
$job = New-AzSqlInstance -ResourceGroupName $rg.ResourceGroupName -Name $managedInstanceName `
7475
-Location $rg.Location -AdministratorCredential $credentials -SubnetId $subnetId `
75-
-LicenseType $licenseType -StorageSizeInGB $storageSizeInGB -Vcore $vCore -Edition $edition -ComputeGeneration $computeGeneration -AsJob
76+
-LicenseType $licenseType -StorageSizeInGB $storageSizeInGB -Vcore $vCore -Edition $edition -ComputeGeneration $computeGeneration -DnsZonePartner $dnsZonePartner -AsJob
7677
$job | Wait-Job
7778
$managedInstance1 = $job.Output
7879

src/Sql/Sql/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* Add DnsZonePartner Parameter for New-AzureSqlInstance cmdlet to support AutoDr for Managed Instance.
2122

2223
## Version 1.9.0
2324
* Replace dependency on Monitor SDK with common code

src/Sql/Sql/ManagedInstance/Cmdlet/NewAzureSqlManagedInstance.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@ public class NewAzureSqlManagedInstance : ManagedInstanceCmdletBase
213213
HelpMessage = "Generate and assign an Azure Active Directory Identity for this instance for use with key management services like Azure KeyVault.")]
214214
public SwitchParameter AssignIdentity { get; set; }
215215

216+
/// <summary>
217+
/// Gets or sets the managed instance compute generation
218+
/// </summary>
219+
[Parameter(Mandatory = false,
220+
HelpMessage = "The Dns Zone Partner Resource ID for the Sql Azure Managed Instance.")]
221+
public string DnsZonePartner { get; set; }
222+
216223
/// <summary>
217224
/// Gets or sets whether or not to run this cmdlet in the background as a job
218225
/// </summary>
@@ -293,6 +300,7 @@ public override void ExecuteCmdlet()
293300
PublicDataEndpointEnabled = this.PublicDataEndpointEnabled,
294301
ProxyOverride = this.ProxyOverride,
295302
TimezoneId = this.TimezoneId,
303+
DnsZonePartner = this.DnsZonePartner
296304
});
297305
return newEntity;
298306
}

src/Sql/Sql/ManagedInstance/Model/AzureSqlManagedInstanceModel.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,5 +114,15 @@ public class AzureSqlManagedInstanceModel
114114
/// </summary>
115115
public string TimezoneId { get; set; }
116116

117+
118+
/// <summary>
119+
/// Gets or sets the resource id of the dns zone partner of the managed instance
120+
/// </summary>
121+
public string DnsZonePartner { get; set; }
122+
123+
/// <summary>
124+
/// Gets or sets the dns zone of the managed instance
125+
/// </summary>
126+
public string DnsZone { get; set; }
117127
}
118128
}

src/Sql/Sql/ManagedInstance/Services/AzureSqlManagedInstanceAdapter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public AzureSqlManagedInstanceModel UpsertManagedInstance(AzureSqlManagedInstanc
112112
PublicDataEndpointEnabled = model.PublicDataEndpointEnabled,
113113
ProxyOverride = model.ProxyOverride,
114114
TimezoneId = model.TimezoneId,
115+
DnsZonePartner = model.DnsZonePartner,
115116
});
116117

117118
return CreateManagedInstanceModelFromResponse(resp);
@@ -183,6 +184,7 @@ private static AzureSqlManagedInstanceModel CreateManagedInstanceModelFromRespon
183184
managedInstance.PublicDataEndpointEnabled = resp.PublicDataEndpointEnabled;
184185
managedInstance.ProxyOverride = resp.ProxyOverride;
185186
managedInstance.TimezoneId = resp.TimezoneId;
187+
managedInstance.DnsZone = resp.DnsZone;
186188

187189
Management.Internal.Resources.Models.Sku sku = new Management.Internal.Resources.Models.Sku();
188190
sku.Name = resp.Sku.Name;

src/Sql/Sql/help/Get-AzSqlInstance.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ SubnetId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/r
5555
LicenseType : BasePrice
5656
VCores : 8
5757
StorageSizeInGB : 512
58+
DnsZone : ad35cna0mw
5859
```
5960

6061
This command gets information about all instances assigned to the resource group ResourceGroup01.
@@ -76,6 +77,7 @@ SubnetId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/r
7677
LicenseType : BasePrice
7778
VCores : 8
7879
StorageSizeInGB : 512
80+
DnsZone : ad35cna0mw
7981
```
8082

8183
This command gets information about the instance named managedInstance1.
@@ -97,6 +99,7 @@ SubnetId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/r
9799
LicenseType : BasePrice
98100
VCores : 8
99101
StorageSizeInGB : 512
102+
DnsZone : ad35cna0mw
100103
101104
Location : westcentralus
102105
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Sql/managedInstances/managedInstance2
@@ -112,6 +115,7 @@ SubnetId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/r
112115
LicenseType : BasePrice
113116
VCores : 8
114117
StorageSizeInGB : 512
118+
DnsZone : ad35cna0mw
115119
```
116120

117121
This command gets information about all instances assigned to the resource group ResourceGroup01 that start with "managedInstance".

src/Sql/Sql/help/New-AzSqlInstance.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Creates an Azure SQL Database Managed Instance.
1717
New-AzSqlInstance [-Name] <String> [-ResourceGroupName] <String> -AdministratorCredential <PSCredential>
1818
-Location <String> -SubnetId <String> -LicenseType <String> -StorageSizeInGB <Int32> -VCore <Int32>
1919
-Edition <String> -ComputeGeneration <String> [-Collation <String>] [-PublicDataEndpointEnabled]
20-
[-ProxyOverride <String>] [-TimezoneId <String>] [-Tag <Hashtable>] [-AssignIdentity] [-AsJob]
20+
[-ProxyOverride <String>] [-TimezoneId <String>] [-DnsZonePartner <String>] [-Tag <Hashtable>] [-AssignIdentity] [-AsJob]
2121
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
2222
```
2323

@@ -26,7 +26,7 @@ New-AzSqlInstance [-Name] <String> [-ResourceGroupName] <String> -AdministratorC
2626
New-AzSqlInstance [-Name] <String> [-ResourceGroupName] <String> -AdministratorCredential <PSCredential>
2727
-Location <String> -SubnetId <String> -LicenseType <String> -StorageSizeInGB <Int32> -VCore <Int32>
2828
-SkuName <String> [-Collation <String>] [-PublicDataEndpointEnabled] [-ProxyOverride <String>]
29-
[-TimezoneId <String>] [-Tag <Hashtable>] [-AssignIdentity] [-AsJob]
29+
[-TimezoneId <String>] [-DnsZonePartner <String>] [-Tag <Hashtable>] [-AssignIdentity] [-AsJob]
3030
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
3131
```
3232

@@ -37,7 +37,7 @@ The **New-AzSqlInstance** cmdlet creates an Azure SQL Database Managed instance.
3737

3838
### Example 1: Create a new instance
3939
```
40-
PS C:\>New-AzSqlInstance -Name managedInstance1 -ResourceGroupName ResourceGroup01 -Location westcentralus -AdministratorCredential (Get-Credential) -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -SkuName GP_Gen4
40+
PS C:\>New-AzSqlInstance -Name managedInstance1 -ResourceGroupName ResourceGroup01 -Location westcentralus -AdministratorCredential (Get-Credential) -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -SkuName GP_Gen4 -DnsZonePartner "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Sql/managedInstances/partnerServerForDnsZone"
4141
Location : westcentralus
4242
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Sql/managedInstances/managedInstance1
4343
ResourceGroupName : resourcegroup01
@@ -52,6 +52,7 @@ SubnetId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/r
5252
LicenseType : LicenseIncluded
5353
VCores : 16
5454
StorageSizeInGB : 1024
55+
DnsZone : ad35cna0mw
5556
```
5657

5758
This command creates a new instance by using Edition and ComputeGeneration parameters.
@@ -352,6 +353,20 @@ Accept pipeline input: False
352353
Accept wildcard characters: False
353354
```
354355
356+
### -DnsZonePartner
357+
The resource id of the partner Managed Server to inherit DnsZone property from for Managed instance creation
358+
359+
```yaml
360+
Type: String
361+
Parameter Sets: (All)
362+
Aliases:
363+
Required: false
364+
Position: Named
365+
Default value: None
366+
Accept pipeline input: False
367+
Accept wildcard characters: False
368+
```
369+
355370
### -VCore
356371
Determines how much VCore to associate with instance
357372

0 commit comments

Comments
 (0)