Skip to content

Commit b70b56c

Browse files
authored
Mkherani swagger (#350)
* Swagger Changes * Swagger changes.
1 parent bc3485c commit b70b56c

File tree

6 files changed

+109
-54
lines changed

6 files changed

+109
-54
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@
4444
<SpecificVersion>False</SpecificVersion>
4545
<HintPath>..\..\..\tempDll\Debug-Net45\net45\Microsoft.Azure.Management.RecoveryServices.Backup.dll</HintPath>
4646
</Reference>
47+
<Reference Include="Microsoft.Rest.ClientRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
48+
<SpecificVersion>False</SpecificVersion>
49+
<HintPath>..\..\..\tempDll\Debug-Net45\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
50+
</Reference>
51+
<Reference Include="Microsoft.Rest.ClientRuntime.Azure">
52+
<HintPath>..\..\..\tempDll\Debug-Net45\net45\Microsoft.Rest.ClientRuntime.Azure.dll</HintPath>
53+
</Reference>
4754
<Reference Include="System" />
4855
<Reference Include="System.Core" />
4956
<Reference Include="System.Web" />

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using System.Threading.Tasks;
2121
using Microsoft.Azure.Commands.RecoveryServices.Backup.Properties;
2222
using CmdletModel = Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models;
23+
using Microsoft.Rest.Azure;
2324

2425
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers
2526
{
@@ -269,5 +270,32 @@ public static string GetVaultNameFromId(
269270

270271
return vaultName;
271272
}
273+
274+
public static List<T> GetPagedList<T>(Func<IPage<T>> listResources, Func<string, IPage<T>> listNext)
275+
where T : Management.RecoveryServices.Backup.Models.Resource
276+
{
277+
var resources = new List<T>();
278+
string nextLink = null;
279+
280+
var pagedResources = listResources();
281+
282+
foreach (var pagedResource in pagedResources)
283+
{
284+
resources.Add(pagedResource);
285+
}
286+
287+
while (!string.IsNullOrEmpty(nextLink))
288+
{
289+
nextLink = pagedResources.NextPageLink;
290+
291+
foreach (var pagedResource in listNext(nextLink))
292+
{
293+
resources.Add(pagedResource);
294+
}
295+
}
296+
297+
return resources;
298+
}
299+
272300
}
273301
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.ServiceClientAdapter/BMSAPIs/ItemAPIs.cs

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@
1212
// limitations under the License.
1313
// ----------------------------------------------------------------------------------
1414

15+
using Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers;
1516
using Microsoft.Azure.Management.RecoveryServices.Backup.Models;
17+
using Microsoft.Rest.Azure.OData;
1618
using System;
19+
using System.Collections.Generic;
1720

1821
namespace Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.ServiceClientAdapterNS
1922
{
@@ -26,17 +29,17 @@ public partial class ServiceClientAdapter
2629
/// <param name="protectedItemName">Name of the item</param>
2730
/// <param name="request">Protected item create or update request</param>
2831
/// <returns>Job created in the service for this operation</returns>
29-
public BaseRecoveryServicesJobResponse CreateOrUpdateProtectedItem(
32+
public Microsoft.Rest.Azure.AzureOperationResponse CreateOrUpdateProtectedItem(
3033
string containerName,
3134
string protectedItemName,
32-
ProtectedItemCreateOrUpdateRequest request)
35+
ProtectedItemResource request)
3336
{
3437
string resourceName = BmsAdapter.GetResourceName();
3538
string resourceGroupName = BmsAdapter.GetResourceGroupName();
3639

37-
return BmsAdapter.Client.ProtectedItems.CreateOrUpdateProtectedItemAsync(
38-
resourceGroupName,
40+
return BmsAdapter.Client.ProtectedItems.CreateOrUpdateWithHttpMessagesAsync(
3941
resourceName,
42+
resourceGroupName,
4043
AzureFabricName,
4144
containerName,
4245
protectedItemName,
@@ -51,16 +54,16 @@ public BaseRecoveryServicesJobResponse CreateOrUpdateProtectedItem(
5154
/// <param name="containerName">Name of the container which this item belongs to</param>
5255
/// <param name="protectedItemName">Name of the item</param>
5356
/// <returns>Job created in the service for this operation</returns>
54-
public BaseRecoveryServicesJobResponse DeleteProtectedItem(
57+
public Microsoft.Rest.Azure.AzureOperationResponse DeleteProtectedItem(
5558
string containerName,
5659
string protectedItemName)
5760
{
5861
string resourceName = BmsAdapter.GetResourceName();
5962
string resourceGroupName = BmsAdapter.GetResourceGroupName();
6063

61-
return BmsAdapter.Client.ProtectedItems.DeleteProtectedItemAsync(
62-
resourceGroupName,
64+
return BmsAdapter.Client.ProtectedItems.DeleteWithHttpMessagesAsync(
6365
resourceName,
66+
resourceGroupName,
6467
AzureFabricName,
6568
containerName,
6669
protectedItemName,
@@ -75,17 +78,17 @@ public BaseRecoveryServicesJobResponse DeleteProtectedItem(
7578
/// <param name="protectedItemName">Name of the item</param>
7679
/// <param name="queryFilter">Query filter</param>
7780
/// <returns>Protected item</returns>
78-
public ProtectedItemResponse GetProtectedItem(
81+
public Microsoft.Rest.Azure.AzureOperationResponse<ProtectedItemResource> GetProtectedItem(
7982
string containerName,
8083
string protectedItemName,
81-
GetProtectedItemQueryParam queryFilter)
84+
ODataQuery<GetProtectedItemQueryObject> queryFilter)
8285
{
8386
string resourceName = BmsAdapter.GetResourceName();
8487
string resourceGroupName = BmsAdapter.GetResourceGroupName();
8588

86-
return BmsAdapter.Client.ProtectedItems.GetAsync(
87-
resourceGroupName,
89+
return BmsAdapter.Client.ProtectedItems.GetWithHttpMessagesAsync(
8890
resourceName,
91+
resourceGroupName,
8992
AzureFabricName,
9093
containerName,
9194
protectedItemName,
@@ -101,47 +104,54 @@ public ProtectedItemResponse GetProtectedItem(
101104
/// <param name="queryFilter">Query params</param>
102105
/// <param name="paginationParams">Pagination params</param>
103106
/// <returns>List of protected items</returns>
104-
public ProtectedItemListResponse ListProtectedItem(
105-
ProtectedItemListQueryParam queryFilter,
106-
PaginationRequest paginationParams = null)
107+
public List<ProtectedItemResource> ListProtectedItem(
108+
ODataQuery<ProtectedItemQueryObject> queryFilter,
109+
string skipToken = default(string))
107110
{
108111
string resourceName = BmsAdapter.GetResourceName();
109112
string resourceGroupName = BmsAdapter.GetResourceGroupName();
110113

111-
return BmsAdapter.Client.ProtectedItems.ListAsync(
114+
Func<Microsoft.Rest.Azure.IPage<ProtectedItemResource>> listAsync =
115+
() => BmsAdapter.Client.ProtectedItems.ListWithHttpMessagesAsync(
116+
resourceName,
112117
resourceGroupName,
113-
resourceName,
114118
queryFilter,
115-
paginationParams,
119+
skipToken,
116120
BmsAdapter.GetCustomRequestHeaders(),
117121
BmsAdapter.CmdletCancellationToken).Result;
118-
}
122+
123+
Func<string, Microsoft.Rest.Azure.IPage<ProtectedItemResource>> listNextAsync =
124+
nextLink => BmsAdapter.Client.ProtectedItems.ListNextWithHttpMessagesAsync(nextLink,
125+
BmsAdapter.GetCustomRequestHeaders(),
126+
BmsAdapter.CmdletCancellationToken).Result;
127+
128+
return HelperUtils.GetPagedList<ProtectedItemResource>(listAsync, listNextAsync);
129+
}
119130

120131
/// <summary>
121132
/// Triggers backup on the specified item
122133
/// </summary>
123134
/// <param name="containerName">Name of the container which this item belongs to</param>
124135
/// <param name="itemName">Name of the item</param>
125136
/// <returns>Job created by this operation</returns>
126-
public BaseRecoveryServicesJobResponse TriggerBackup(
137+
public Microsoft.Rest.Azure.AzureOperationResponse TriggerBackup(
127138
string containerName,
128139
string itemName,
129140
DateTime? expiryDateTimeUtc)
130141
{
131-
TriggerBackupRequest triggerBackupRequest = new TriggerBackupRequest();
132-
triggerBackupRequest.Item = new BackupRequestResource();
133-
IaaSVMBackupRequest iaasVmBackupRequest = new IaaSVMBackupRequest();
142+
BackupRequestResource triggerBackupRequest = new BackupRequestResource();
143+
IaasVMBackupRequest iaasVmBackupRequest = new IaasVMBackupRequest();
134144
iaasVmBackupRequest.RecoveryPointExpiryTimeInUTC = expiryDateTimeUtc;
135-
triggerBackupRequest.Item.Properties = iaasVmBackupRequest;
145+
triggerBackupRequest.Properties = iaasVmBackupRequest;
136146

137-
return BmsAdapter.Client.Backups.TriggerBackupAsync(
138-
BmsAdapter.GetResourceGroupName(),
147+
return BmsAdapter.Client.Backups.TriggerWithHttpMessagesAsync(
139148
BmsAdapter.GetResourceName(),
140-
BmsAdapter.GetCustomRequestHeaders(),
149+
BmsAdapter.GetResourceGroupName(),
141150
ServiceClientAdapter.AzureFabricName,
142151
containerName,
143152
itemName,
144153
triggerBackupRequest,
154+
BmsAdapter.GetCustomRequestHeaders(),
145155
BmsAdapter.CmdletCancellationToken).Result;
146156
}
147157
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.ServiceClientAdapter/BMSAPIs/RecoveryPointsAPIs.cs

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
// limitations under the License.
1313
// ----------------------------------------------------------------------------------
1414

15+
using Microsoft.Azure.Commands.RecoveryServices.Backup.Helpers;
1516
using Microsoft.Azure.Management.RecoveryServices.Backup.Models;
17+
using Microsoft.Rest.Azure.OData;
1618
using System;
1719
using System.Collections.Generic;
1820
using System.Linq;
@@ -33,21 +35,21 @@ public partial class ServiceClientAdapter
3335
public RecoveryPointResource GetRecoveryPointDetails
3436
(
3537
string containerName,
36-
string protectedItemName,
38+
string protectedItemName,
3739
string recoveryPointId
3840
)
3941
{
4042
string resourceGroupName = BmsAdapter.GetResourceGroupName();
4143
string resourceName = BmsAdapter.GetResourceName();
4244

4345
var response = BmsAdapter.Client.RecoveryPoints.GetWithHttpMessagesAsync(
44-
resourceGroupName,
4546
resourceName,
46-
BmsAdapter.GetCustomRequestHeaders(),
47-
AzureFabricName,
47+
resourceGroupName,
48+
AzureFabricName,
4849
containerName,
49-
protectedItemName,
50-
recoveryPointId,
50+
protectedItemName,
51+
recoveryPointId,
52+
BmsAdapter.GetCustomRequestHeaders(),
5153
BmsAdapter.CmdletCancellationToken).Result;
5254

5355
return response;
@@ -60,26 +62,33 @@ string recoveryPointId
6062
/// <param name="protectedItemName">Name of the item</param>
6163
/// <param name="queryFilter">Query filter</param>
6264
/// <returns>List of recovery points</returns>
63-
public RecoveryPointListResponse GetRecoveryPoints
65+
public List<RecoveryPointResource> GetRecoveryPoints
6466
(
6567
string containerName,
66-
string protectedItemName,
67-
RecoveryPointQueryParameters queryFilter
68+
string protectedItemName,
69+
ODataQuery<BMSRPQueryObject> queryFilter
6870
)
6971
{
7072
string resourceGroupName = BmsAdapter.GetResourceGroupName();
7173
string resourceName = BmsAdapter.GetResourceName();
7274

73-
var response = BmsAdapter.Client.RecoveryPoints.ListAsync(
74-
resourceGroupName,
75-
resourceName,
76-
BmsAdapter.GetCustomRequestHeaders(),
77-
AzureFabricName,
78-
containerName,
79-
protectedItemName,
80-
queryFilter,
81-
BmsAdapter.CmdletCancellationToken).Result;
75+
Func<Microsoft.Rest.Azure.IPage<RecoveryPointResource>> listAsync =
76+
() => BmsAdapter.Client.RecoveryPoints.ListWithHttpMessagesAsync(
77+
resourceName,
78+
resourceGroupName,
79+
AzureFabricName,
80+
containerName,
81+
protectedItemName,
82+
queryFilter,
83+
BmsAdapter.GetCustomRequestHeaders(),
84+
BmsAdapter.CmdletCancellationToken).Result;
85+
86+
Func<string, Microsoft.Rest.Azure.IPage<RecoveryPointResource>> listNextAsync =
87+
nextLink => BmsAdapter.Client.RecoveryPoints.ListNextWithHttpMessagesAsync(nextLink,
88+
BmsAdapter.GetCustomRequestHeaders(),
89+
BmsAdapter.CmdletCancellationToken).Result;
8290

91+
var response = HelperUtils.GetPagedList<RecoveryPointResource>(listAsync, listNextAsync);
8392
return response;
8493
}
8594
}

src/ResourceManager/RecoveryServices.Backup/Commands.RecoveryServices.Backup.ServiceClientAdapter/BMSAPIs/RestoreDiskAPIs.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public partial class ServiceClientAdapter
3232
/// <param name="storageAccountLocation">Location of the storage account where to restore the disk</param>
3333
/// <param name="storageAccountType">Type of the storage account where to restore the disk</param>
3434
/// <returns>Job created by this operation</returns>
35-
public BaseRecoveryServicesJobResponse RestoreDisk(AzureVmRecoveryPoint rp, string storageAccountId,
35+
public Microsoft.Rest.Azure.AzureOperationResponse RestoreDisk(AzureVmRecoveryPoint rp, string storageAccountId,
3636
string storageAccountLocation, string storageAccountType)
3737
{
3838
string resourceGroupName = BmsAdapter.GetResourceGroupName();
@@ -56,7 +56,7 @@ public BaseRecoveryServicesJobResponse RestoreDisk(AzureVmRecoveryPoint rp, stri
5656
{
5757
throw new Exception(String.Format(Resources.RestoreDiskStorageTypeError, vmType));
5858
}
59-
59+
6060
IaasVMRestoreRequest restoreRequest = new IaasVMRestoreRequest()
6161
{
6262
CreateNewCloudService = false,
@@ -67,20 +67,18 @@ public BaseRecoveryServicesJobResponse RestoreDisk(AzureVmRecoveryPoint rp, stri
6767
SourceResourceId = rp.SourceResourceId,
6868
};
6969

70-
TriggerRestoreRequest triggerRestoreRequest = new TriggerRestoreRequest();
71-
triggerRestoreRequest.Item = new RestoreRequestResource();
72-
triggerRestoreRequest.Item.Properties = new RestoreRequest();
73-
triggerRestoreRequest.Item.Properties = restoreRequest;
70+
RestoreRequestResource triggerRestoreRequest = new RestoreRequestResource();
71+
triggerRestoreRequest.Properties = restoreRequest;
7472

75-
var response = BmsAdapter.Client.Restores.TriggerRestoreAsync(
73+
var response = BmsAdapter.Client.Restores.TriggerWithHttpMessagesAsync(
74+
resourceName,
7675
resourceGroupName,
77-
resourceName,
78-
BmsAdapter.GetCustomRequestHeaders(),
7976
AzureFabricName,
8077
containerUri,
8178
protectedItemUri,
8279
recoveryPointId,
83-
triggerRestoreRequest,
80+
triggerRestoreRequest,
81+
BmsAdapter.GetCustomRequestHeaders(),
8482
BmsAdapter.CmdletCancellationToken).Result;
8583

8684
return response;

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
<SpecificVersion>False</SpecificVersion>
4949
<HintPath>..\..\..\tempDll\Debug-Net45\net45\Microsoft.Rest.ClientRuntime.dll</HintPath>
5050
</Reference>
51+
<Reference Include="Microsoft.Rest.ClientRuntime.Azure">
52+
<HintPath>..\..\..\tempDll\Debug-Net45\net45\Microsoft.Rest.ClientRuntime.Azure.dll</HintPath>
53+
</Reference>
5154
<Reference Include="System" />
5255
<Reference Include="System.Configuration" />
5356
<Reference Include="System.Core" />

0 commit comments

Comments
 (0)