Skip to content

Commit 14d4a38

Browse files
author
dragonfly91
committed
Resolved conflits. Using the updated tracking helper method
2 parents f03dd85 + b912da7 commit 14d4a38

File tree

11 files changed

+178
-182
lines changed

11 files changed

+178
-182
lines changed

src/ResourceManager/RecoveryServices.Backup/Cmdlets/Item/BackupAzureRmRecoveryServicesItem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public override void ExecuteCmdlet()
5151
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType);
5252
var jobResponse = psBackupProvider.TriggerBackup();
5353

54-
WriteObject(OperationStatusHelper.GetJobFromOperation(jobResponse, HydraAdapter));
54+
WriteObject(GetCreatedJob(jobResponse));
5555
}
5656
}
5757
}

src/ResourceManager/RecoveryServices.Backup/Cmdlets/Item/DisableAzureRmRecoveryServicesProtection.cs

Lines changed: 35 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets
3333
[Cmdlet(VerbsLifecycle.Disable, "AzureRmRecoveryServicesProtection"), OutputType(typeof(AzureRmRecoveryServicesJobBase))]
3434
public class DisableAzureRmRecoveryServicesProtection : RecoveryServicesBackupCmdletBase
3535
{
36-
[Parameter(Mandatory = true, HelpMessage = ParamHelpMsg.Item.ProtectedItem, ValueFromPipeline = true)]
36+
[Parameter(Position = 1, Mandatory = true, HelpMessage = ParamHelpMsg.Item.ProtectedItem, ValueFromPipeline = true)]
3737
[ValidateNotNullOrEmpty]
3838
public AzureRmRecoveryServicesItemBase Item { get; set; }
3939

40-
[Parameter(Position = 1, Mandatory = false, HelpMessage = ParamHelpMsg.Item.RemoveProtectionOption)]
40+
[Parameter(Position = 2, Mandatory = false, HelpMessage = ParamHelpMsg.Item.RemoveProtectionOption)]
4141
public SwitchParameter RemoveRecoveryPoints
4242
{
4343
get { return DeleteBackupData; }
@@ -58,49 +58,45 @@ public override void ExecuteCmdlet()
5858
Item.Name, () =>
5959
{
6060
ExecutionBlock(() =>
61-
{
62-
base.ExecuteCmdlet();
63-
64-
PsBackupProviderManager providerManager = new PsBackupProviderManager(new Dictionary<System.Enum, object>()
65-
{
66-
67-
{ItemParams.Item, Item},
68-
{ItemParams.DeleteBackupData, this.DeleteBackupData},
69-
}, HydraAdapter);
61+
{
62+
base.ExecuteCmdlet();
63+
PsBackupProviderManager providerManager = new PsBackupProviderManager(new Dictionary<System.Enum, object>()
64+
{
65+
{ItemParams.Item, Item},
66+
{ItemParams.DeleteBackupData, this.DeleteBackupData},
67+
}, HydraAdapter);
7068

71-
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType);
69+
IPsBackupProvider psBackupProvider = providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType);
7270

73-
var jobResponse = psBackupProvider.DisableProtection();
71+
var itemResponse = psBackupProvider.DisableProtection();
7472

75-
// Track Response and display job details
73+
// Track Response and display job details
7674

77-
var response = OperationStatusHelper.TrackOperationStatus(jobResponse, HydraAdapter);
75+
WriteDebug(Resources.TrackingOperationStatusURLForCompletion +
76+
itemResponse.AzureAsyncOperation);
7877

79-
if (response.OperationStatus.Status == HydraModel.OperationStatusValues.Succeeded)
80-
{
81-
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
82-
string jobId = jobStatusResponse.JobId;
83-
var job = HydraAdapter.GetJob(jobId);
84-
WriteObject(JobConversions.GetPSJob(job));
85-
}
86-
else if(response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
87-
{
88-
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
89-
if(jobStatusResponse != null || !string.IsNullOrEmpty(jobStatusResponse.JobId))
90-
{
91-
string jobId = jobStatusResponse.JobId;
92-
var job = HydraAdapter.GetJob(jobId);
93-
WriteObject(JobConversions.GetPSJob(job));
94-
}
95-
96-
var errorMessage = string.Format(Resources.DisableProtectionOperationFailed,
97-
response.OperationStatus.OperationStatusError.Code,
98-
response.OperationStatus.OperationStatusError.Message);
99-
100-
throw new Exception(errorMessage);
101-
}
102-
});
78+
var response = WaitForOperationCompletionUsingStatusLink(
79+
itemResponse.AzureAsyncOperation,
80+
HydraAdapter.GetProtectedItemOperationStatusByURL);
81+
82+
WriteDebug(Resources.FinalOperationStatus + response.OperationStatus.Status);
83+
84+
if (response.OperationStatus.Properties != null &&
85+
((HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties).JobId != null)
86+
{
87+
var jobStatusResponse = (HydraModel.OperationStatusJobExtendedInfo)response.OperationStatus.Properties;
88+
WriteObject(GetJobObject(jobStatusResponse.JobId));
89+
}
90+
91+
if (response.OperationStatus.Status == HydraModel.OperationStatusValues.Failed)
92+
{
93+
var errorMessage = string.Format(Resources.DisableProtectionOperationFailed,
94+
response.OperationStatus.OperationStatusError.Code,
95+
response.OperationStatus.OperationStatusError.Message);
96+
throw new Exception(errorMessage);
97+
}
10398
});
99+
});
104100

105101
}
106102
}

src/ResourceManager/RecoveryServices.Backup/Cmdlets/Item/EnableAzureRmRecoveryServicesProtection.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -37,28 +37,28 @@ public class EnableAzureRmRecoveryServicesProtection : RecoveryServicesBackupCmd
3737
internal const string AzureVMComputeParameterSet = "AzureVMComputeEnableProtection";
3838
internal const string ModifyProtectionParameterSet = "ModifyProtection";
3939

40-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMName)]
40+
[Parameter(Position = 1, Mandatory = true, HelpMessage = ParamHelpMsg.Policy.ProtectionPolicy)]
41+
[ValidateNotNullOrEmpty]
42+
public AzureRmRecoveryServicesPolicyBase Policy { get; set; }
43+
44+
[Parameter(Position = 2, Mandatory = true, ParameterSetName = ModifyProtectionParameterSet, HelpMessage = ParamHelpMsg.Item.ProtectedItem, ValueFromPipeline = true)]
45+
[ValidateNotNullOrEmpty]
46+
public AzureRmRecoveryServicesItemBase Item { get; set; }
47+
48+
[Parameter(Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMName)]
4149
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMName)]
4250
public string Name { get; set; }
4351

44-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMServiceName)]
52+
[Parameter(Position = 3, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMServiceName)]
4553
public string ServiceName { get; set; }
4654

47-
[Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMResourceGroupName)]
55+
[Parameter(Position = 3, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = AzureVMComputeParameterSet, HelpMessage = ParamHelpMsg.Item.AzureVMResourceGroupName)]
4856
public string ResourceGroupName { get; set; }
4957

50-
[Parameter(Mandatory = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
51-
[Parameter(Mandatory = true, ParameterSetName = AzureVMComputeParameterSet, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
58+
[Parameter(Position = 4, Mandatory = true, ParameterSetName = AzureVMClassicComputeParameterSet, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
59+
[Parameter(Position = 4, Mandatory = true, ParameterSetName = AzureVMComputeParameterSet, HelpMessage = ParamHelpMsg.Common.WorkloadType)]
5260
public WorkloadType WorkLoadType { get; set; }
5361

54-
[Parameter(Mandatory = true, HelpMessage = ParamHelpMsg.Policy.ProtectionPolicy)]
55-
[ValidateNotNullOrEmpty]
56-
public AzureRmRecoveryServicesPolicyBase Policy { get; set; }
57-
58-
[Parameter(Mandatory = true, ParameterSetName = ModifyProtectionParameterSet, HelpMessage = ParamHelpMsg.Item.ProtectedItem, ValueFromPipeline = true)]
59-
[ValidateNotNullOrEmpty]
60-
public AzureRmRecoveryServicesItemBase Item { get; set; }
61-
6262
public override void ExecuteCmdlet()
6363
{
6464
ExecutionBlock(() =>
@@ -76,15 +76,14 @@ public override void ExecuteCmdlet()
7676
{ItemParams.ParameterSetName, this.ParameterSetName},
7777
}, HydraAdapter);
7878

79-
IPsBackupProvider psBackupProvider = (Item != null) ? providerManager.GetProviderInstance(WorkLoadType, Item.BackupManagementType)
79+
IPsBackupProvider psBackupProvider = (Item != null) ? providerManager.GetProviderInstance(Item.WorkloadType, Item.BackupManagementType)
8080
: providerManager.GetProviderInstance(WorkLoadType);
8181

82-
var jobResponse = psBackupProvider.EnableProtection();
82+
var itemResponse = psBackupProvider.EnableProtection();
8383

8484
// Track Response and display job details
85-
// -- TBD to move it to common helper and remove hard-coded vaules
8685

87-
WriteObject(OperationStatusHelper.GetJobFromOperation(jobResponse, HydraAdapter));
86+
WriteObject(GetCreatedJob(itemResponse));
8887
});
8988
}
9089
}

src/ResourceManager/RecoveryServices.Backup/Cmdlets/ProtectionPolicy/RemoveAzureRmRecoveryServicesPolicy.cs

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,46 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets
2929
/// <summary>
3030
/// Update existing protection policy
3131
/// </summary>
32-
[Cmdlet(VerbsCommon.Remove, "AzureRmRecoveryServicesProtectionPolicy")]
32+
[Cmdlet(VerbsCommon.Remove, "AzureRmRecoveryServicesProtectionPolicy", DefaultParameterSetName = PolicyNameParameterSet)]
3333
public class RemoveAzureRmRecoveryServicesProtectionPolicy : RecoveryServicesBackupCmdletBase
3434
{
35-
[Parameter(Position = 1, Mandatory = true, HelpMessage = ParamHelpMsg.Policy.ProtectionPolicy, ValueFromPipeline = true)]
35+
internal const string PolicyNameParameterSet = "PolicyName";
36+
internal const string PolicyObjectParameterSet = "PolicyObject";
37+
38+
[Parameter(Position = 1, Mandatory = true, HelpMessage = ParamHelpMsg.Policy.Name, ParameterSetName = PolicyNameParameterSet)]
39+
[ValidateNotNullOrEmpty]
40+
public string Name { get; set; }
41+
42+
[Parameter(Position = 1, Mandatory = true, HelpMessage = ParamHelpMsg.Policy.ProtectionPolicy, ValueFromPipeline = true,
43+
ParameterSetName = PolicyObjectParameterSet)]
3644
[ValidateNotNullOrEmpty]
3745
public AzureRmRecoveryServicesPolicyBase Policy { get; set; }
3846

3947
[Parameter(Mandatory = false, HelpMessage = ParamHelpMsg.Common.ConfirmationMessage)]
4048
public SwitchParameter Force { get; set; }
4149

50+
private string PolicyName = string.Empty;
51+
4252
public override void ExecuteCmdlet()
4353
{
54+
PolicyName = (this.ParameterSetName == PolicyNameParameterSet) ? Name : Policy.Name;
55+
if(string.IsNullOrEmpty(PolicyName))
56+
{
57+
throw new ArgumentException(Resources.PolicyNameIsEmptyOrNull);
58+
}
4459
ConfirmAction(
4560
Force.IsPresent,
46-
string.Format(Resources.RemoveProtectionPolicyWarning, Policy.Name),
61+
string.Format(Resources.RemoveProtectionPolicyWarning, PolicyName),
4762
Resources.RemoveProtectionPolicyMessage,
48-
Policy.Name, () =>
63+
PolicyName, () =>
4964
{
5065
ExecutionBlock(() =>
5166
{
5267
base.ExecuteCmdlet();
5368

5469
WriteDebug(Resources.MakingClientCall);
5570

56-
HydraAdapter.RemoveProtectionPolicy(Policy.Name);
71+
HydraAdapter.RemoveProtectionPolicy(PolicyName);
5772
WriteDebug(Resources.ProtectionPolicyDeleted);
5873
});
5974

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/Commands.RecoveryServices.Backup.Helpers.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
<ItemGroup>
5252
<Compile Include="Conversions\JobConversions.cs" />
5353
<Compile Include="Conversions\RecoveryPointConversions.cs" />
54-
<Compile Include="OperationStatusHelper.cs" />
5554
<Compile Include="Utils.cs" />
5655
<Compile Include="Validations\PolicyValidations.cs" />
5756
<Compile Include="Conversions\SchedulePolicyConversions.cs" />

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.Helpers/OperationStatusHelper.cs

Lines changed: 0 additions & 76 deletions
This file was deleted.

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.HydraAdapter/HydraAdapter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public partial class HydraAdapter
2727
const string AppSettingsSectionName = "appSettings";
2828
const string RecoveryServicesResourceNamespace = "Microsoft.RecoveryServices";
2929
const string ProviderNamespaceKey = "ProviderNamespace";
30-
const string AzureFabricName = "AzureIaasVM";
30+
const string AzureFabricName = "Azure";
3131

3232
ClientProxy<RecoveryServicesNS.RecoveryServicesBackupManagementClient, RecoveryServicesModelsNS.CustomRequestHeaders> BmsAdapter;
3333

0 commit comments

Comments
 (0)