Skip to content

Commit 53e50d6

Browse files
authored
Merge pull request #5827 from corquiri/ReservedInstance
Adding Guid check for Reservations cmdlet arguments
2 parents 917423a + 42c82cb commit 53e50d6

File tree

10 files changed

+59
-44
lines changed

10 files changed

+59
-44
lines changed

src/ResourceManager/Reservations/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
- Additional information about change #1
2020
-->
2121
## Current Release
22+
* Change Guid paramters to Guid type, not string
2223
* Set minimum dependency of module to PowerShell 5.0
2324

2425
## Version 0.1.2

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/GetCatalog.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ public class GetCatalog : AzureReservationsCmdletBase
1616
{
1717
[Parameter(Mandatory = false)]
1818
[ValidateNotNull]
19-
public string SubscriptionId { get; set; }
19+
public Guid SubscriptionId { get; set; }
2020

2121
public override void ExecuteCmdlet()
2222
{
23-
if (SubscriptionId != null)
23+
if (SubscriptionId != default(Guid))
2424
{
25-
var response = AzureReservationAPIClient.GetCatalog(SubscriptionId).Select(x => new PSCatalog(x));
25+
var response = AzureReservationAPIClient.GetCatalog(SubscriptionId.ToString()).Select(x => new PSCatalog(x));
2626
WriteObject(response, true);
2727
}
2828
else

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/GetReservation.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ public class GetReservation : AzureReservationsCmdletBase
1818
Mandatory = true,
1919
ValueFromPipelineByPropertyName = true)]
2020
[ValidateNotNull]
21-
public string ReservationOrderId { get; set; }
21+
public Guid ReservationOrderId { get; set; }
2222

2323
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2424
Mandatory = false,
2525
ValueFromPipelineByPropertyName = false)]
26-
public string ReservationId { get; set; }
26+
public Guid ReservationId { get; set; }
2727

2828
[Parameter(ParameterSetName = Constants.ParameterSetNames.ObjectParameterSet,
2929
Mandatory = false,
@@ -39,7 +39,7 @@ public class GetReservation : AzureReservationsCmdletBase
3939

4040
private void PageResults()
4141
{
42-
var response = new PSReservationPage(AzureReservationAPIClient.Reservation.List(ReservationOrderId));
42+
var response = new PSReservationPage(AzureReservationAPIClient.Reservation.List(ReservationOrderId.ToString()));
4343
WriteObject(response, true);
4444
while (response.NextPageLink != null)
4545
{
@@ -51,9 +51,9 @@ public override void ExecuteCmdlet()
5151
{
5252
if (ParameterSetName.Equals(Constants.ParameterSetNames.CommandParameterSet))
5353
{
54-
if (ReservationId != null)
54+
if (ReservationId != default(Guid))
5555
{
56-
var response = new PSReservation(AzureReservationAPIClient.Reservation.Get(ReservationId, ReservationOrderId));
56+
var response = new PSReservation(AzureReservationAPIClient.Reservation.Get(ReservationId.ToString(), ReservationOrderId.ToString()));
5757
WriteObject(response);
5858
}
5959
else
@@ -65,27 +65,27 @@ public override void ExecuteCmdlet()
6565
{
6666
if (ReservationOrder != null)
6767
{
68-
ReservationOrderId = ReservationOrder.Name;
68+
ReservationOrderId = new Guid(ReservationOrder.Name);
6969
PageResults();
7070
}
7171
}
7272
else if (ParameterSetName.Equals(Constants.ParameterSetNames.PageObjectParameterSet))
7373
{
7474
if (ReservationOrderPage != null)
7575
{
76-
foreach (PSReservationOrder ReservationOrder in ReservationOrderPage)
76+
foreach (PSReservationOrder reservationOrder in ReservationOrderPage)
7777
{
78-
ReservationOrderId = ReservationOrder.Name;
78+
ReservationOrderId = new Guid(reservationOrder.Name);
7979
PageResults();
8080
}
8181
while (ReservationOrderPage.NextPageLink != null)
8282
{
8383
ReservationOrderPage =
8484
new PSReservationOrderPage(
8585
AzureReservationAPIClient.ReservationOrder.ListNext(ReservationOrderPage.NextPageLink));
86-
foreach (PSReservationOrder ReservationOrder in ReservationOrderPage)
86+
foreach (PSReservationOrder reservationOrder in ReservationOrderPage)
8787
{
88-
ReservationOrderId = ReservationOrder.Name;
88+
ReservationOrderId = new Guid(reservationOrder.Name);
8989
PageResults();
9090
}
9191
}

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/GetReservationHistory.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ public class GetReservationHistory : AzureReservationsCmdletBase
1515
Mandatory = true,
1616
ValueFromPipelineByPropertyName = true)]
1717
[ValidateNotNull]
18-
public string ReservationOrderId { get; set; }
18+
public Guid ReservationOrderId { get; set; }
1919

2020
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2121
Mandatory = true,
2222
ValueFromPipelineByPropertyName = true)]
2323
[ValidateNotNull]
24-
public string ReservationId { get; set; }
24+
public Guid ReservationId { get; set; }
2525

2626
[Parameter(ParameterSetName = Constants.ParameterSetNames.ObjectParameterSet,
2727
Mandatory = true,
@@ -34,11 +34,11 @@ public override void ExecuteCmdlet()
3434
if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
3535
{
3636
string[] name = Reservation.Name.Split('/');
37-
ReservationOrderId = name[0];
38-
ReservationId = name[1];
37+
ReservationOrderId = new Guid(name[0]);
38+
ReservationId = new Guid(name[1]);
3939
}
4040

41-
var response = new PSReservationPage(AzureReservationAPIClient.Reservation.ListRevisions(ReservationId, ReservationOrderId));
41+
var response = new PSReservationPage(AzureReservationAPIClient.Reservation.ListRevisions(ReservationId.ToString(), ReservationOrderId.ToString()));
4242
WriteObject(response, true);
4343
while (response.NextPageLink != null)
4444
{

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/GetReservationOrder.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Microsoft.Azure.Commands.Reservations.Common;
1+
using System;
2+
using Microsoft.Azure.Commands.Reservations.Common;
23
using System.Management.Automation;
34
using Microsoft.Azure.Management.Reservations;
45
using Microsoft.Azure.Commands.Reservations.Models;
@@ -11,13 +12,13 @@ public class GetReservationOrder : AzureReservationsCmdletBase
1112
{
1213
[Parameter(Mandatory = false)]
1314
[ValidateNotNull]
14-
public string ReservationOrderId { get; set; }
15+
public Guid ReservationOrderId { get; set; }
1516

1617
public override void ExecuteCmdlet()
1718
{
18-
if (ReservationOrderId != null)
19+
if (ReservationOrderId != default(Guid))
1920
{
20-
var response = new PSReservationOrder(AzureReservationAPIClient.ReservationOrder.Get(ReservationOrderId));
21+
var response = new PSReservationOrder(AzureReservationAPIClient.ReservationOrder.Get(ReservationOrderId.ToString()));
2122
WriteObject(response);
2223
}
2324
else

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/GetReservationOrderId.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ public class GetReservationOrderId : AzureReservationsCmdletBase
1515

1616
[Parameter(Mandatory = false)]
1717
[ValidateNotNull]
18-
public string SubscriptionId { get; set; }
18+
public Guid SubscriptionId { get; set; }
1919

2020
public override void ExecuteCmdlet()
2121
{
22-
if (SubscriptionId != null)
22+
if (SubscriptionId != default(Guid))
2323
{
24-
var response = new PSAppliedReservationOrderId(AzureReservationAPIClient.GetAppliedReservationList(SubscriptionId));
24+
var response = new PSAppliedReservationOrderId(AzureReservationAPIClient.GetAppliedReservationList(SubscriptionId.ToString()));
2525
WriteObject(response);
2626
}
2727
else

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/MergeReservation.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ public class MergeReservation : AzureReservationsCmdletBase
1515
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
1616
Mandatory = true)]
1717
[ValidateNotNull]
18-
public string ReservationOrderId { get; set; }
18+
public Guid ReservationOrderId { get; set; }
1919

2020
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2121
Mandatory = true)]
2222
[ValidateNotNull]
2323
[ValidateCount (2, 2)]
24-
public string[] ReservationId { get; set; }
24+
public Guid[] ReservationId { get; set; }
2525

2626
[Parameter(ParameterSetName = Constants.ParameterSetNames.ObjectParameterSet,
2727
Mandatory = true)]
@@ -33,15 +33,15 @@ public override void ExecuteCmdlet()
3333
{
3434
if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
3535
{
36-
ReservationOrderId = Reservation[0].Name.Split('/')[0];
37-
ReservationId = Reservation.Select(x => x.Name.Split('/')[1]).ToArray();
36+
ReservationOrderId = new Guid(Reservation[0].Name.Split('/')[0]);
37+
ReservationId = Reservation.Select(x => x.Name.Split('/')[1]).Select(x => new Guid(x)).ToArray();
3838
}
3939

4040
var resourceInfo = $"Reservation {ReservationId[0]} and {ReservationId[1]} in order {ReservationOrderId}";
4141
if (ShouldProcess(resourceInfo, "Merge"))
4242
{
4343
MergeRequest Merge = new MergeRequest(ListOfResourceId());
44-
var response = AzureReservationAPIClient.Reservation.Merge(ReservationOrderId, Merge).Select(x => new PSReservation(x));
44+
var response = AzureReservationAPIClient.Reservation.Merge(ReservationOrderId.ToString(), Merge).Select(x => new PSReservation(x));
4545
WriteObject(response, true);
4646
}
4747
}
@@ -51,9 +51,9 @@ private List<string> ListOfResourceId()
5151
return ReservationId.Select(x => CreateResourceId(ReservationOrderId, x)).ToList();
5252
}
5353

54-
private string CreateResourceId(string ReservationOrderId, string ReservationId)
54+
private string CreateResourceId(Guid reservationOrderId, Guid reservationId)
5555
{
56-
return string.Format("/providers/Microsoft.Capacity/reservationOrders/{0}/reservations/{1}", ReservationOrderId, ReservationId);
56+
return string.Format("/providers/Microsoft.Capacity/reservationOrders/{0}/reservations/{1}", reservationOrderId, reservationId);
5757
}
5858
}
5959
}

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/PatchReservation.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public class PatchReservation : AzureReservationsCmdletBase
2121
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2222
Mandatory = true)]
2323
[ValidateNotNull]
24-
public string ReservationOrderId { get; set; }
24+
public Guid ReservationOrderId { get; set; }
2525

2626
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2727
Mandatory = true)]
2828
[ValidateNotNull]
29-
public string ReservationId { get; set; }
29+
public Guid ReservationId { get; set; }
3030

3131
[Parameter(Mandatory = true)]
3232
[ValidateNotNull]
@@ -48,8 +48,8 @@ public override void ExecuteCmdlet()
4848
if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
4949
{
5050
string[] name = Reservation.Name.Split('/');
51-
ReservationOrderId = name[0];
52-
ReservationId = name[1];
51+
ReservationOrderId = new Guid(name[0]);
52+
ReservationId = new Guid(name[1]);
5353
}
5454

5555
var resourceInfo = $"Reservation {ReservationId} in order {ReservationOrderId}";
@@ -69,7 +69,7 @@ public override void ExecuteCmdlet()
6969
{
7070
Patch = new Patch(AppliedScopeType);
7171
}
72-
var response = new PSReservation(AzureReservationAPIClient.Reservation.Update(ReservationOrderId, ReservationId, Patch));
72+
var response = new PSReservation(AzureReservationAPIClient.Reservation.Update(ReservationOrderId.ToString(), ReservationId.ToString(), Patch));
7373
WriteObject(response);
7474
}
7575
}

src/ResourceManager/Reservations/Commands.Reservations/Cmdlets/SplitReservation.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ public class SplitReservation : AzureReservationsCmdletBase
1717
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
1818
Mandatory = true)]
1919
[ValidateNotNull]
20-
public string ReservationOrderId { get; set; }
20+
public Guid ReservationOrderId { get; set; }
2121

2222
[Parameter(ParameterSetName = Constants.ParameterSetNames.CommandParameterSet,
2323
Mandatory = true)]
2424
[ValidateNotNull]
25-
public string ReservationId { get; set; }
25+
public Guid ReservationId { get; set; }
2626

2727
[Parameter(Mandatory = true)]
2828
[ValidateNotNull]
@@ -40,8 +40,8 @@ public override void ExecuteCmdlet()
4040
if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
4141
{
4242
string[] name = Reservation.Name.Split('/');
43-
ReservationOrderId = name[0];
44-
ReservationId = name[1];
43+
ReservationOrderId = new Guid(name[0]);
44+
ReservationId = new Guid(name[1]);
4545
}
4646

4747
var resourceInfo = $"Reservation {ReservationId} in order {ReservationOrderId}";
@@ -52,15 +52,15 @@ public override void ExecuteCmdlet()
5252
quantityParameter,
5353
CreateResourceId(ReservationOrderId, ReservationId)
5454
);
55-
var response = AzureReservationAPIClient.Reservation.Split(ReservationOrderId, Split).Select(x => new PSReservation(x)).ToList();
55+
var response = AzureReservationAPIClient.Reservation.Split(ReservationOrderId.ToString(), Split).Select(x => new PSReservation(x)).ToList();
5656
WriteObject(response, true);
5757
}
5858

5959
}
6060

61-
private string CreateResourceId(string ReservationOrderId, string ReservationId)
61+
private string CreateResourceId(Guid reservationOrderId, Guid reservationId)
6262
{
63-
return string.Format("/providers/Microsoft.Capacity/reservationOrders/{0}/reservations/{1}", ReservationOrderId, ReservationId);
63+
return string.Format("/providers/Microsoft.Capacity/reservationOrders/{0}/reservations/{1}", reservationOrderId, reservationId);
6464
}
6565
}
6666
}

0 commit comments

Comments
 (0)