@@ -24,7 +24,7 @@ namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets
24
24
/// <summary>
25
25
/// Get list of jobs
26
26
/// </summary>
27
- [ Cmdlet ( VerbsCommon . Get , "AzureRmRecoveryServicesBackupJob" ) ,
27
+ [ Cmdlet ( VerbsCommon . Get , "AzureRmRecoveryServicesBackupJob" ) ,
28
28
OutputType ( typeof ( JobBase ) , typeof ( IList < JobBase > ) ) ]
29
29
public class GetAzureRmRecoveryServicesBackupJob : RecoveryServicesBackupCmdletBase
30
30
{
@@ -112,57 +112,66 @@ public override void ExecuteCmdlet()
112
112
113
113
List < JobBase > result = new List < JobBase > ( ) ;
114
114
115
- WriteDebug ( string . Format ( "Filters provided are: StartTime - {0} " +
115
+ WriteDebug ( string . Format ( "Filters provided are: StartTime - {0} " +
116
116
"EndTime - {1} Status - {2} Operation - {3} Type - {4}" ,
117
117
From ,
118
118
To ,
119
119
Status ,
120
120
Operation ,
121
121
BackupManagementType ) ) ;
122
122
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 )
134
124
{
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 ) )
136
137
{
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
+ }
140
165
}
141
166
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 ) ) ;
162
174
}
163
-
164
- WriteDebug ( "Number of jobs fetched: " + result . Count ) ;
165
- WriteObject ( result , enumerateCollection : true ) ;
166
175
} ) ;
167
176
}
168
177
}
0 commit comments