Skip to content

Commit 98667af

Browse files
Samuel AnudeepMaddie Clayton
authored andcommitted
Added -Vault parameter to RecoveryServices.Backup cmdlets (#6327)
* Added -Vault parameter to RecoveryServices.Backup cmdlets * Updating changelog * Updating help files * Updating help * Added test case for Set Vault Context cmdlet usage. * Undoing unwanted changes to tools/AzureRM/AzureRM.psm1 * Using VaultId and VaultLocation instead of Vault. * Fixing test failures * Moved VaultLocation to Restore cmdlet only. * Update Backup-AzureRmRecoveryServicesBackupItem.md * Update Disable-AzureRmRecoveryServicesBackupProtection.md * Update Disable-AzureRmRecoveryServicesBackupRPMountScript.md * Update Wait-AzureRmRecoveryServicesBackupJob.md * Update Unregister-AzureRmRecoveryServicesBackupManagementServer.md * Update Get-AzureRmRecoveryServicesBackupProtectionPolicy.md * Update Enable-AzureRmRecoveryServicesBackupProtection.md * Update Get-AzureRmRecoveryServicesBackupJob.md * Update Get-AzureRmRecoveryServicesBackupContainer.md * Update Unregister-AzureRmRecoveryServicesBackupContainer.md * Update Restore-AzureRmRecoveryServicesBackupItem.md * Update Set-AzureRmRecoveryServicesBackupProtectionPolicy.md * Update Get-AzureRmRecoveryServicesBackupItem.md * Update Get-AzureRmRecoveryServicesBackupJobDetails.md * Update Get-AzureRmRecoveryServicesBackupRPMountScript.md * Update Get-AzureRmRecoveryServicesBackupManagementServer.md * Update Get-AzureRmRecoveryServicesBackupRecoveryPoint.md * Update New-AzureRmRecoveryServicesBackupProtectionPolicy.md * Update Remove-AzureRmRecoveryServicesBackupProtectionPolicy.md * Update Stop-AzureRmRecoveryServicesBackupJob.md
1 parent 0a6370a commit 98667af

File tree

76 files changed

+32320
-517
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+32320
-517
lines changed

src/ResourceManager/RecoveryServices/Commands.RecoveryServices.Backup.Models/CmdletParamEnums.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414

1515
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models
1616
{
17+
public enum VaultParams
18+
{
19+
VaultName,
20+
ResourceGroupName,
21+
VaultLocation,
22+
}
23+
1724
public enum ContainerParams
1825
{
1926
Vault,

src/ResourceManager/RecoveryServices/Commands.RecoveryServices.Backup.Providers/Providers/AzureSqlPsBackupProvider.cs

Lines changed: 54 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
using CmdletModel = Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models;
2525
using RestAzureNS = Microsoft.Rest.Azure;
2626
using ServiceClientModel = Microsoft.Azure.Management.RecoveryServices.Backup.Models;
27-
using System.Net.Http;
2827

2928
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.ProviderModel
3029
{
@@ -70,6 +69,8 @@ public RestAzureNS.AzureOperationResponse EnableProtection()
7069
/// <returns>The job response returned from the service</returns>
7170
public RestAzureNS.AzureOperationResponse DisableProtection()
7271
{
72+
string vaultName = (string)ProviderData[VaultParams.VaultName];
73+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
7374
bool deleteBackupData = (bool)ProviderData[ItemParams.DeleteBackupData];
7475

7576
ItemBase itemBase = (ItemBase)ProviderData[ItemParams.Item];
@@ -84,8 +85,10 @@ public RestAzureNS.AzureOperationResponse DisableProtection()
8485
if (deleteBackupData)
8586
{
8687
return ServiceClientAdapter.DeleteProtectedItem(
87-
containerUri,
88-
protectedItemUri);
88+
containerUri,
89+
protectedItemUri,
90+
vaultName: vaultName,
91+
resourceGroupName: resourceGroupName);
8992
}
9093
else
9194
{
@@ -126,6 +129,8 @@ public void RevokeItemLevelRecoveryAccess()
126129
/// <returns>Recovery point detail as returned by the service</returns>
127130
public RecoveryPointBase GetRecoveryPointDetails()
128131
{
132+
string vaultName = (string)ProviderData[VaultParams.VaultName];
133+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
129134
AzureSqlItem item = ProviderData[RecoveryPointParams.Item]
130135
as AzureSqlItem;
131136

@@ -136,7 +141,11 @@ public RecoveryPointBase GetRecoveryPointDetails()
136141
string protectedItemName = HelperUtils.GetProtectedItemUri(uriDict, item.Id);
137142

138143
var rpResponse = ServiceClientAdapter.GetRecoveryPointDetails(
139-
containerUri, protectedItemName, recoveryPointId);
144+
containerUri,
145+
protectedItemName,
146+
recoveryPointId,
147+
vaultName: vaultName,
148+
resourceGroupName: resourceGroupName);
140149
return RecoveryPointConversions.GetPSAzureRecoveryPoints(rpResponse, item);
141150
}
142151

@@ -146,6 +155,8 @@ public RecoveryPointBase GetRecoveryPointDetails()
146155
/// <returns>List of recovery point PowerShell model objects</returns>
147156
public List<RecoveryPointBase> ListRecoveryPoints()
148157
{
158+
string vaultName = (string)ProviderData[VaultParams.VaultName];
159+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
149160
DateTime startDate = (DateTime)(ProviderData[RecoveryPointParams.StartDate]);
150161
DateTime endDate = (DateTime)(ProviderData[RecoveryPointParams.EndDate]);
151162
AzureSqlItem item = ProviderData[RecoveryPointParams.Item]
@@ -172,7 +183,11 @@ public List<RecoveryPointBase> ListRecoveryPoints()
172183
queryFilter.Filter = queryFilterString;
173184

174185
List<RecoveryPointResource> rpListResponse = ServiceClientAdapter.GetRecoveryPoints(
175-
containerUri, protectedItemName, queryFilter);
186+
containerUri,
187+
protectedItemName,
188+
queryFilter,
189+
vaultName: vaultName,
190+
resourceGroupName: resourceGroupName);
176191
return RecoveryPointConversions.GetPSAzureRecoveryPoints(rpListResponse, item);
177192
}
178193

@@ -182,6 +197,8 @@ public List<RecoveryPointBase> ListRecoveryPoints()
182197
/// <returns>Created policy object as returned by the service</returns>
183198
public ProtectionPolicyResource CreatePolicy()
184199
{
200+
string vaultName = (string)ProviderData[VaultParams.VaultName];
201+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
185202
string policyName = (string)ProviderData[PolicyParams.PolicyName];
186203
CmdletModel.WorkloadType workloadType =
187204
(CmdletModel.WorkloadType)ProviderData[PolicyParams.WorkloadType];
@@ -197,7 +214,7 @@ public ProtectionPolicyResource CreatePolicy()
197214
Logger.Instance.WriteDebug("Validation of Retention policy is successful");
198215

199216
// construct Hydra policy request
200-
ProtectionPolicyResource hydraRequest = new ProtectionPolicyResource()
217+
ProtectionPolicyResource protectionPolicyResource = new ProtectionPolicyResource()
201218
{
202219
Properties = new AzureSqlProtectionPolicy()
203220
{
@@ -207,8 +224,10 @@ public ProtectionPolicyResource CreatePolicy()
207224
};
208225

209226
return ServiceClientAdapter.CreateOrUpdateProtectionPolicy(
210-
policyName,
211-
hydraRequest).Body;
227+
policyName,
228+
protectionPolicyResource,
229+
vaultName: vaultName,
230+
resourceGroupName: resourceGroupName).Body;
212231
}
213232

214233
/// <summary>
@@ -217,6 +236,8 @@ public ProtectionPolicyResource CreatePolicy()
217236
/// <returns>Modified policy object as returned by the service</returns>
218237
public RestAzureNS.AzureOperationResponse<ProtectionPolicyResource> ModifyPolicy()
219238
{
239+
string vaultName = (string)ProviderData[VaultParams.VaultName];
240+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
220241
RetentionPolicyBase retentionPolicy =
221242
ProviderData.ContainsKey(PolicyParams.RetentionPolicy) ?
222243
(RetentionPolicyBase)ProviderData[PolicyParams.RetentionPolicy] :
@@ -241,7 +262,7 @@ public RestAzureNS.AzureOperationResponse<ProtectionPolicyResource> ModifyPolicy
241262

242263
CmdletModel.SimpleRetentionPolicy sqlRetentionPolicy =
243264
(CmdletModel.SimpleRetentionPolicy)((AzureSqlPolicy)policy).RetentionPolicy;
244-
ProtectionPolicyResource hydraRequest = new ProtectionPolicyResource()
265+
ProtectionPolicyResource protectionPolicyResource = new ProtectionPolicyResource()
245266
{
246267
Properties = new AzureSqlProtectionPolicy()
247268
{
@@ -250,8 +271,11 @@ public RestAzureNS.AzureOperationResponse<ProtectionPolicyResource> ModifyPolicy
250271
}
251272
};
252273

253-
return ServiceClientAdapter.CreateOrUpdateProtectionPolicy(policy.Name,
254-
hydraRequest);
274+
return ServiceClientAdapter.CreateOrUpdateProtectionPolicy(
275+
policy.Name,
276+
protectionPolicyResource,
277+
vaultName: vaultName,
278+
resourceGroupName: resourceGroupName);
255279
}
256280

257281
/// <summary>
@@ -260,15 +284,19 @@ public RestAzureNS.AzureOperationResponse<ProtectionPolicyResource> ModifyPolicy
260284
/// <returns>List of protection containers</returns>
261285
public List<ContainerBase> ListProtectionContainers()
262286
{
263-
string name = (string)this.ProviderData[ContainerParams.Name];
287+
string vaultName = (string)ProviderData[VaultParams.VaultName];
288+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
289+
string name = (string)ProviderData[ContainerParams.Name];
264290

265291
ODataQuery<BMSContainerQueryObject> queryParams =
266292
new ODataQuery<BMSContainerQueryObject>(
267293
q => q.BackupManagementType
268294
== ServiceClientModel.BackupManagementType.AzureSql);
269295

270-
271-
var listResponse = ServiceClientAdapter.ListContainers(queryParams);
296+
var listResponse = ServiceClientAdapter.ListContainers(
297+
queryParams,
298+
vaultName: vaultName,
299+
resourceGroupName: resourceGroupName);
272300

273301
List<ContainerBase> containerModels =
274302
ConversionHelpers.GetContainerModelList(listResponse);
@@ -317,6 +345,8 @@ public RetentionPolicyBase GetDefaultRetentionPolicyObject()
317345
/// <returns>List of protected items</returns>
318346
public List<ItemBase> ListProtectedItems()
319347
{
348+
string vaultName = (string)ProviderData[VaultParams.VaultName];
349+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
320350
ContainerBase container = (ContainerBase)ProviderData[ItemParams.Container];
321351
string name = (string)ProviderData[ItemParams.AzureVMName];
322352
ItemProtectionStatus protectionStatus =
@@ -334,10 +364,13 @@ public List<ItemBase> ListProtectedItems()
334364

335365
List<ProtectedItemResource> protectedItems = new List<ProtectedItemResource>();
336366
string skipToken = null;
337-
var listResponse = ServiceClientAdapter.ListProtectedItem(queryParams, skipToken);
367+
var listResponse = ServiceClientAdapter.ListProtectedItem(
368+
queryParams,
369+
skipToken,
370+
vaultName: vaultName,
371+
resourceGroupName: resourceGroupName);
338372
protectedItems.AddRange(listResponse);
339373

340-
341374
// 1. Filter by container
342375
if (container != null)
343376
{
@@ -379,7 +412,11 @@ public List<ItemBase> ListProtectedItems()
379412
HelperUtils.GetProtectedItemUri(dictionary, protectedItems[i].Id);
380413

381414
var getResponse = ServiceClientAdapter.GetProtectedItem(
382-
containerUri, protectedItemUri, getItemQueryParams);
415+
containerUri,
416+
protectedItemUri,
417+
getItemQueryParams,
418+
vaultName: vaultName,
419+
resourceGroupName: resourceGroupName);
383420
protectedItemGetResponses.Add(getResponse.Body);
384421
}
385422
}

src/ResourceManager/RecoveryServices/Commands.RecoveryServices.Backup.Providers/Providers/DpmPsBackupProvider.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
using Microsoft.Rest.Azure.OData;
2121
using RestAzureNS = Microsoft.Rest.Azure;
2222
using ServiceClientModel = Microsoft.Azure.Management.RecoveryServices.Backup.Models;
23-
using System.Net.Http;
2423

2524
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.ProviderModel
2625
{
@@ -113,12 +112,17 @@ public void RevokeItemLevelRecoveryAccess()
113112
/// <returns></returns>
114113
public List<BackupEngineBase> ListBackupManagementServers()
115114
{
115+
string vaultName = (string)ProviderData[VaultParams.VaultName];
116+
string resourceGroupName = (string)ProviderData[VaultParams.ResourceGroupName];
116117
string name = (string)ProviderData[ContainerParams.Name];
117118

118119
ODataQuery<ServiceClientModel.BMSBackupEnginesQueryObject> queryParams =
119120
new ODataQuery<ServiceClientModel.BMSBackupEnginesQueryObject>();
120121

121-
var listResponse = ServiceClientAdapter.ListBackupEngines(queryParams);
122+
var listResponse = ServiceClientAdapter.ListBackupEngines(
123+
queryParams,
124+
vaultName: vaultName,
125+
resourceGroupName: resourceGroupName);
122126

123127
List<BackupEngineBase> backupEngineModels = ConversionHelpers.GetBackupEngineModelList(listResponse);
124128

0 commit comments

Comments
 (0)