public override void ExecuteCmdlet()
        {
            if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
            {
                string[] name = Reservation.Name.Split('/');
                ReservationOrderId = name[0];
                ReservationId      = name[1];
            }

            var resourceInfo = $"Reservation {ReservationId} in order {ReservationOrderId}";

            if (ShouldProcess(resourceInfo, "Update"))
            {
                Patch Patch;
                if (AppliedScope != null)
                {
                    //Pre-register for Microsoft.Compute
                    string subscriptionId = ValidateAndGetAppliedSubscription();
                    PreRegister(subscriptionId);

                    Patch = new Patch(AppliedScopeType, new List <string>()
                    {
                        AppliedScope
                    });
                }
                else
                {
                    Patch = new Patch(AppliedScopeType);
                }
                var response = new PSReservation(AzureReservationAPIClient.Reservation.Update(ReservationOrderId, ReservationId, Patch));
                WriteObject(response);
            }
        }
示例#2
0
 public override void ExecuteCmdlet()
 {
     if (ParameterSetName.Equals(Constants.ParameterSetNames.CommandParameterSet))
     {
         if (ReservationId != null)
         {
             var response = new PSReservation(AzureReservationAPIClient.Reservation.Get(ReservationId, ReservationOrderId));
             WriteObject(response);
         }
         else
         {
             PageResults();
         }
     }
     else if (ParameterSetName.Equals(Constants.ParameterSetNames.ObjectParameterSet))
     {
         if (ReservationOrder != null)
         {
             ReservationOrderId = ReservationOrder.Name;
             PageResults();
         }
     }
     else if (ParameterSetName.Equals(Constants.ParameterSetNames.PageObjectParameterSet))
     {
         if (ReservationOrderPage != null)
         {
             foreach (PSReservationOrder ReservationOrder in ReservationOrderPage)
             {
                 ReservationOrderId = ReservationOrder.Name;
                 PageResults();
             }
             while (ReservationOrderPage.NextPageLink != null)
             {
                 ReservationOrderPage =
                     new PSReservationOrderPage(
                         AzureReservationAPIClient.ReservationOrder.ListNext(ReservationOrderPage.NextPageLink));
                 foreach (PSReservationOrder ReservationOrder in ReservationOrderPage)
                 {
                     ReservationOrderId = ReservationOrder.Name;
                     PageResults();
                 }
             }
         }
     }
 }