public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { if (ShouldProcess(this.Name, VerbsCommon.New)) { CapacityReservation capacityReservation = new CapacityReservation(); capacityReservation.Location = this.Location; capacityReservation.Sku = new Sku(); capacityReservation.Sku.Name = this.Sku; capacityReservation.Sku.Capacity = this.CapacityToReserve; if (this.IsParameterBound(c => c.Tag)) { capacityReservation.Tags = this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value); } if (this.IsParameterBound(c => c.Zone)) { capacityReservation.Zones = this.Zone; } var result = CapacityReservationClient.CreateOrUpdate(this.ResourceGroupName, this.ReservationGroupName, this.Name, capacityReservation); var psObject = new PSCapacityReservation(); ComputeAutomationAutoMapperProfile.Mapper.Map <CapacityReservation, PSCapacityReservation>(result, psObject); WriteObject(psObject); } }); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { string resourceGroupName; string reservationGroupName; string name; switch (this.ParameterSetName) { case ResourceIDParameterSet: resourceGroupName = GetResourceGroupName(this.ResourceId); reservationGroupName = GetResourceName(this.ResourceId, "Microsoft.Compute/capacityReservationGroups", "capacityReservations"); name = GetResourceName(this.ResourceId, "capacityReservations"); break; case InputObjectParameterSet: resourceGroupName = GetResourceGroupName(this.CapacityReservation.Id); reservationGroupName = GetResourceName(this.CapacityReservation.Id, "Microsoft.Compute/capacityReservationGroups", "capacityReservations"); name = this.CapacityReservation.Name; break; default: resourceGroupName = this.ResourceGroupName; reservationGroupName = this.ReservationGroupName; name = this.Name; break; } CapacityReservationUpdate updateParams = new CapacityReservationUpdate(); if (this.IsParameterBound(c => c.Tag)) { updateParams.Tags = this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value); } if (this.IsParameterBound(c => c.CapacityToReserve)) { updateParams.Sku = new Sku(); updateParams.Sku.Capacity = this.CapacityToReserve; } var result = CapacityReservationClient.Update(resourceGroupName, reservationGroupName, name, updateParams); var psObject = new PSCapacityReservation(); ComputeAutomationAutoMapperProfile.Mapper.Map <CapacityReservation, PSCapacityReservation>(result, psObject); WriteObject(psObject); }); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { if (this.IsParameterBound(c => c.Name)) { CapacityReservation result = new CapacityReservation(); if (this.InstanceView.IsPresent) { result = CapacityReservationClient.Get(this.ResourceGroupName, this.ReservationGroupName, this.Name, "InstanceView"); } else { result = CapacityReservationClient.Get(this.ResourceGroupName, this.ReservationGroupName, this.Name); } var psObject = new PSCapacityReservation(); ComputeAutomationAutoMapperProfile.Mapper.Map <CapacityReservation, PSCapacityReservation>(result, psObject); WriteObject(psObject); } else { var result = CapacityReservationClient.ListByCapacityReservationGroup(this.ResourceGroupName, this.ReservationGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = CapacityReservationClient.ListByCapacityReservationGroupNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSCapacityReservationList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <CapacityReservation, PSCapacityReservationList>(r)); } WriteObject(TopLevelWildcardFilter(this.ResourceGroupName, this.Name, psObject), true); } }); }