/// <summary> /// Gets the list of Virtual Machines in the subscription. Use nextLink /// property in the response to get the next page of Virtual Machines. /// Do this till nextLink is not null to fetch all the Virtual /// Machines. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Compute.IVirtualMachineOperations. /// </param> /// <param name='parameters'> /// Optional. /// </param> /// <returns> /// The List Virtual Machine operation response. /// </returns> public static Task<VirtualMachineListResponse> ListAllAsync(this IVirtualMachineOperations operations, ListParameters parameters) { return operations.ListAllAsync(parameters, CancellationToken.None); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { if (!string.IsNullOrEmpty(this.Name)) { if (Status) { var result = this.VirtualMachineClient.GetWithInstanceView(this.ResourceGroupName, this.Name); WriteObject(result.ToPSVirtualMachineInstanceView(this.ResourceGroupName, this.Name)); } else { var result = this.VirtualMachineClient.Get(this.ResourceGroupName, this.Name); var psResult = Mapper.Map<PSVirtualMachine>(result.VirtualMachine); psResult = Mapper.Map<AzureOperationResponse, PSVirtualMachine>(result, psResult); WriteObject(psResult); } } else { VirtualMachineListResponse result = null; if (!string.IsNullOrEmpty(this.ResourceGroupName)) { result = this.VirtualMachineClient.List(this.ResourceGroupName); } else if (this.NextLink != null) { result = this.VirtualMachineClient.ListNext(this.NextLink.ToString()); } else { var listParams = new ListParameters(); result = this.VirtualMachineClient.ListAll(listParams); } var psResultList = new List<PSVirtualMachine>(); foreach (var item in result.VirtualMachines) { var psItem = Mapper.Map<PSVirtualMachine>(item); psItem = Mapper.Map<AzureOperationResponse, PSVirtualMachine>(result, psItem); psResultList.Add(psItem); } WriteObject(psResultList, true); } }); }
/// <summary> /// Gets the list of Virtual Machines in the subscription. Use nextLink /// property in the response to get the next page of Virtual Machines. /// Do this till nextLink is not null to fetch all the Virtual /// Machines. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Compute.IVirtualMachineOperations. /// </param> /// <param name='parameters'> /// Optional. /// </param> /// <returns> /// The List Virtual Machine operation response. /// </returns> public static VirtualMachineListResponse ListAll(this IVirtualMachineOperations operations, ListParameters parameters) { return Task.Factory.StartNew((object s) => { return ((IVirtualMachineOperations)s).ListAllAsync(parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }