Skip to content

Commit 79c9469

Browse files
author
dragonfly91
committed
Fix Get Job by Id bug
1 parent c15f4b8 commit 79c9469

File tree

1 file changed

+49
-40
lines changed

1 file changed

+49
-40
lines changed

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup/Cmdlets/Jobs/GetAzureRmRecoveryServicesBackupJob.cs

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets
2424
/// <summary>
2525
/// Get list of jobs
2626
/// </summary>
27-
[Cmdlet(VerbsCommon.Get, "AzureRmRecoveryServicesBackupJob"),
27+
[Cmdlet(VerbsCommon.Get, "AzureRmRecoveryServicesBackupJob"),
2828
OutputType(typeof(JobBase), typeof(IList<JobBase>))]
2929
public class GetAzureRmRecoveryServicesBackupJob : RecoveryServicesBackupCmdletBase
3030
{
@@ -112,57 +112,66 @@ public override void ExecuteCmdlet()
112112

113113
List<JobBase> result = new List<JobBase>();
114114

115-
WriteDebug(string.Format("Filters provided are: StartTime - {0} " +
115+
WriteDebug(string.Format("Filters provided are: StartTime - {0} " +
116116
"EndTime - {1} Status - {2} Operation - {3} Type - {4}",
117117
From,
118118
To,
119119
Status,
120120
Operation,
121121
BackupManagementType));
122122

123-
int resultCount = 0;
124-
var adapterResponse = ServiceClientAdapter.GetJobs(JobId,
125-
Status.HasValue ? Status.ToString() : null,
126-
Operation.HasValue ? Operation.ToString() : null,
127-
rangeStart,
128-
rangeEnd,
129-
BackupManagementType.HasValue ?
130-
Helpers.JobConversions.GetJobTypeForService(BackupManagementType.Value) : null);
131-
JobConversions.AddServiceClientJobsToPSList(adapterResponse, result, ref resultCount);
132-
133-
while (!string.IsNullOrEmpty(adapterResponse.ItemList.NextLink))
123+
if (JobId == null)
134124
{
135-
if (resultCount >= JobConstants.MaximumJobsToFetch)
125+
int resultCount = 0;
126+
var adapterResponse = ServiceClientAdapter.GetJobs(JobId,
127+
Status.HasValue ? Status.ToString() : null,
128+
Operation.HasValue ? Operation.ToString() : null,
129+
rangeStart,
130+
rangeEnd,
131+
BackupManagementType.HasValue ?
132+
Helpers.JobConversions.GetJobTypeForService(BackupManagementType.Value) : null);
133+
134+
JobConversions.AddServiceClientJobsToPSList(adapterResponse, result, ref resultCount);
135+
136+
while (!string.IsNullOrEmpty(adapterResponse.ItemList.NextLink))
136137
{
137-
// trace a warning that there are more jobs and user has to refine filters.
138-
WriteWarning(Resources.JobRefineFilters);
139-
break;
138+
if (resultCount >= JobConstants.MaximumJobsToFetch)
139+
{
140+
// trace a warning that there are more jobs and user has to refine filters.
141+
WriteWarning(Resources.JobRefineFilters);
142+
break;
143+
}
144+
145+
string skipToken;
146+
ServiceClientHelpers.GetSkipTokenFromNextLink(
147+
adapterResponse.ItemList.NextLink, out skipToken);
148+
if (skipToken != null)
149+
{
150+
adapterResponse = ServiceClientAdapter.GetJobs(JobId,
151+
Status.HasValue ? Status.ToString() : null,
152+
Operation.HasValue ? Operation.ToString() : null,
153+
rangeStart,
154+
rangeEnd,
155+
BackupManagementType.HasValue ?
156+
Helpers.JobConversions.GetJobTypeForService(BackupManagementType.Value) : null,
157+
null,
158+
skipToken);
159+
JobConversions.AddServiceClientJobsToPSList(adapterResponse, result, ref resultCount);
160+
}
161+
else
162+
{
163+
break;
164+
}
140165
}
141166

142-
string skipToken;
143-
ServiceClientHelpers.GetSkipTokenFromNextLink(
144-
adapterResponse.ItemList.NextLink, out skipToken);
145-
if (skipToken != null)
146-
{
147-
adapterResponse = ServiceClientAdapter.GetJobs(JobId,
148-
Status.HasValue ? Status.ToString() : null,
149-
Operation.HasValue ? Operation.ToString() : null,
150-
rangeStart,
151-
rangeEnd,
152-
BackupManagementType.HasValue ?
153-
Helpers.JobConversions.GetJobTypeForService(BackupManagementType.Value) : null,
154-
null,
155-
skipToken);
156-
JobConversions.AddServiceClientJobsToPSList(adapterResponse, result, ref resultCount);
157-
}
158-
else
159-
{
160-
break;
161-
}
167+
WriteDebug("Number of jobs fetched: " + result.Count);
168+
WriteObject(result, enumerateCollection: true);
169+
}
170+
else
171+
{
172+
// When JobId is non null call GetJob instead of ListJobs
173+
WriteObject(GetJobObject(JobId));
162174
}
163-
164-
WriteDebug("Number of jobs fetched: " + result.Count);
165-
WriteObject(result, enumerateCollection: true);
166175
});
167176
}
168177
}

0 commit comments

Comments
 (0)