17
17
using Microsoft . Azure . Commands . RecoveryServices . Backup . Helpers ;
18
18
using Microsoft . Azure . Commands . RecoveryServices . Backup . Properties ;
19
19
using Microsoft . Azure . Management . RecoveryServices . Backup . Models ;
20
+ using Microsoft . Rest . Azure . OData ;
20
21
using Microsoft . WindowsAzure . Commands . Utilities . Common ;
21
22
using System ;
22
23
using System . Collections . Generic ;
@@ -138,12 +139,9 @@ public Microsoft.Rest.Azure.AzureOperationResponse EnableProtection()
138
139
properties . PolicyId = policy . Id ;
139
140
properties . SourceResourceId = sourceResourceId ;
140
141
141
- ProtectedItemCreateOrUpdateRequest serviceClientRequest = new ProtectedItemCreateOrUpdateRequest ( )
142
+ ProtectedItemResource serviceClientRequest = new ProtectedItemResource ( )
142
143
{
143
- Item = new ProtectedItemResource ( )
144
- {
145
- Properties = properties ,
146
- }
144
+ Properties = properties
147
145
} ;
148
146
149
147
return ServiceClientAdapter . CreateOrUpdateProtectedItem (
@@ -160,11 +158,9 @@ public Microsoft.Rest.Azure.AzureOperationResponse DisableProtection()
160
158
{
161
159
bool deleteBackupData = ( bool ) ProviderData [ ItemParams . DeleteBackupData ] ;
162
160
163
- ItemBase itemBase = ( ItemBase )
164
- ProviderData [ ItemParams . Item ] ;
161
+ ItemBase itemBase = ( ItemBase ) ProviderData [ ItemParams . Item ] ;
165
162
166
- AzureVmItem item = ( AzureVmItem )
167
- ProviderData [ ItemParams . Item ] ;
163
+ AzureVmItem item = ( AzureVmItem ) ProviderData [ ItemParams . Item ] ;
168
164
// do validations
169
165
170
166
ValidateAzureVMDisableProtectionRequest ( itemBase ) ;
@@ -201,12 +197,9 @@ public Microsoft.Rest.Azure.AzureOperationResponse DisableProtection()
201
197
properties . ProtectionState = ItemProtectionState . ProtectionStopped . ToString ( ) ;
202
198
properties . SourceResourceId = item . SourceResourceId ;
203
199
204
- ProtectedItemCreateOrUpdateRequest serviceClientRequest = new ProtectedItemCreateOrUpdateRequest ( )
200
+ ProtectedItemResource serviceClientRequest = new ProtectedItemResource ( )
205
201
{
206
- Item = new ProtectedItemResource ( )
207
- {
208
- Properties = properties ,
209
- }
202
+ Properties = properties ,
210
203
} ;
211
204
212
205
return ServiceClientAdapter . CreateOrUpdateProtectedItem (
@@ -231,6 +224,7 @@ public Microsoft.Rest.Azure.AzureOperationResponse TriggerBackup()
231
224
IdUtils . GetValueByName ( iaasVmItem . Id , IdUtils . IdNames . ProtectedItemName ) ,
232
225
expiryDateTime ) ;
233
226
}
227
+
234
228
/// <summary>
235
229
/// Triggers the recovery operation for the given recovery point
236
230
/// </summary>
@@ -249,7 +243,7 @@ public Microsoft.Rest.Azure.AzureOperationResponse TriggerRestore()
249
243
return response ;
250
244
}
251
245
252
- public Microsoft . Rest . Azure . AzureOperationResponse GetProtectedItem ( )
246
+ public ProtectedItemResource GetProtectedItem ( )
253
247
{
254
248
throw new NotImplementedException ( ) ;
255
249
}
@@ -311,12 +305,8 @@ public CmdletModel.RecoveryPointBase GetRecoveryPointDetails()
311
305
}
312
306
313
307
//we need to fetch the list of RPs
314
- RecoveryPointQueryParameters queryFilter = new RecoveryPointQueryParameters ( ) ;
315
- queryFilter . StartDate = CommonHelpers . GetDateTimeStringForService ( startDate ) ;
316
- queryFilter . EndDate = CommonHelpers . GetDateTimeStringForService ( endDate ) ;
317
- RecoveryPointListResponse rpListResponse = null ;
318
-
319
- rpListResponse = ServiceClientAdapter . GetRecoveryPoints ( containerUri , protectedItemName , queryFilter ) ;
308
+ ODataQuery < BMSRPQueryObject > queryFilter = new ODataQuery < BMSRPQueryObject > ( qObj => qObj . StartDate == startDate && qObj . EndDate == endDate ) ;
309
+ List < RecoveryPointResource > rpListResponse = ServiceClientAdapter . GetRecoveryPoints ( containerUri , protectedItemName , queryFilter ) ;
320
310
return RecoveryPointConversions . GetPSAzureRecoveryPoints ( rpListResponse , item ) ;
321
311
}
322
312
@@ -542,25 +532,14 @@ public List<ItemBase> ListProtectedItems()
542
532
Models . WorkloadType workloadType =
543
533
( Models . WorkloadType ) this . ProviderData [ ItemParams . WorkloadType ] ;
544
534
545
- ProtectedItemListQueryParam queryParams = new ProtectedItemListQueryParam ( ) ;
546
- queryParams . DatasourceType = ServiceClientModel . WorkloadType . VM ;
547
- queryParams . BackupManagementType = ServiceClientModel . BackupManagementType . AzureIaasVM . ToString ( ) ;
535
+ ODataQuery < ProtectedItemQueryObject > queryParams = new ODataQuery < ProtectedItemQueryObject > (
536
+ q => q . BackupManagementType == ServiceClientModel . BackupManagementType . AzureIaasVM &&
537
+ q . ItemType == ServiceClientModel . WorkloadType . VM ) ;
548
538
549
539
List < ProtectedItemResource > protectedItems = new List < ProtectedItemResource > ( ) ;
550
540
string skipToken = null ;
551
- PaginationRequest paginationRequest = null ;
552
- do
553
- {
554
- var listResponse = ServiceClientAdapter . ListProtectedItem ( queryParams , paginationRequest ) ;
555
- protectedItems . AddRange ( listResponse . ItemList . Value ) ;
556
-
557
- ServiceClientHelpers . GetSkipTokenFromNextLink ( listResponse . ItemList . NextLink , out skipToken ) ;
558
- if ( skipToken != null )
559
- {
560
- paginationRequest = new PaginationRequest ( ) ;
561
- paginationRequest . SkipToken = skipToken ;
562
- }
563
- } while ( skipToken != null ) ;
541
+ var listResponse = ServiceClientAdapter . ListProtectedItem ( queryParams , skipToken ) ;
542
+ protectedItems . AddRange ( listResponse ) ;
564
543
565
544
// 1. Filter by container
566
545
if ( container != null )
@@ -573,7 +552,7 @@ public List<ItemBase> ListProtectedItems()
573
552
} ) . ToList ( ) ;
574
553
}
575
554
576
- List < ProtectedItemResponse > protectedItemGetResponses = new List < ProtectedItemResponse > ( ) ;
555
+ List < ProtectedItemResource > protectedItemGetResponses = new List < ProtectedItemResource > ( ) ;
577
556
578
557
// 2. Filter by item's friendly name
579
558
if ( ! string . IsNullOrEmpty ( name ) )
@@ -585,8 +564,8 @@ public List<ItemBase> ListProtectedItems()
585
564
return protectedItemUri . ToLower ( ) . Contains ( name . ToLower ( ) ) ;
586
565
} ) . ToList ( ) ;
587
566
588
- GetProtectedItemQueryParam getItemQueryParams = new GetProtectedItemQueryParam ( ) ;
589
- getItemQueryParams . Expand = "extendedinfo" ;
567
+ ODataQuery < GetProtectedItemQueryObject > getItemQueryParams = new ODataQuery < GetProtectedItemQueryObject > (
568
+ q => q . Expand == "extendedinfo" ) ;
590
569
591
570
for ( int i = 0 ; i < protectedItems . Count ; i ++ )
592
571
{
@@ -595,7 +574,7 @@ public List<ItemBase> ListProtectedItems()
595
574
string protectedItemUri = HelperUtils . GetProtectedItemUri ( dictionary , protectedItems [ i ] . Id ) ;
596
575
597
576
var getResponse = ServiceClientAdapter . GetProtectedItem ( containerUri , protectedItemUri , getItemQueryParams ) ;
598
- protectedItemGetResponses . Add ( getResponse ) ;
577
+ protectedItemGetResponses . Add ( getResponse . Body ) ;
599
578
}
600
579
}
601
580
@@ -606,13 +585,13 @@ public List<ItemBase> ListProtectedItems()
606
585
for ( int i = 0 ; i < itemModels . Count ; i ++ )
607
586
{
608
587
AzureVmItemExtendedInfo extendedInfo = new AzureVmItemExtendedInfo ( ) ;
609
- var serviceClientExtendedInfo = ( ( AzureIaaSVMProtectedItem ) protectedItemGetResponses [ i ] . Item . Properties ) . ExtendedInfo ;
588
+ var serviceClientExtendedInfo = ( ( AzureIaaSVMProtectedItem ) protectedItemGetResponses [ i ] . Properties ) . ExtendedInfo ;
610
589
if ( serviceClientExtendedInfo . OldestRecoveryPoint . HasValue )
611
590
{
612
591
extendedInfo . OldestRecoveryPoint = serviceClientExtendedInfo . OldestRecoveryPoint ;
613
592
}
614
593
extendedInfo . PolicyState = serviceClientExtendedInfo . PolicyInconsistent . ToString ( ) ;
615
- extendedInfo . RecoveryPointCount = serviceClientExtendedInfo . RecoveryPointCount ;
594
+ extendedInfo . RecoveryPointCount = ( int ) ( serviceClientExtendedInfo . RecoveryPointCount . HasValue ? serviceClientExtendedInfo . RecoveryPointCount : 0 ) ;
616
595
( ( AzureVmItem ) itemModels [ i ] ) . ExtendedInfo = extendedInfo ;
617
596
}
618
597
}
0 commit comments