public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { string resourceGroupName = this.ResourceGroupName; string vmScaleSetName = this.VMScaleSetName; if (ShouldGetByName(resourceGroupName, vmScaleSetName)) { if (this.ParameterSetName.Equals("FriendMethod")) { var result = VirtualMachineScaleSetsClient.GetInstanceView(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSetInstanceView(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSetInstanceView, PSVirtualMachineScaleSetInstanceView>(result, psObject); WriteObject(psObject); } else if (this.ParameterSetName.Equals("OSUpgradeHistoryMethodParameter")) { var result = VirtualMachineScaleSetsClient.GetOSUpgradeHistory(resourceGroupName, vmScaleSetName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.GetOSUpgradeHistoryNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSUpgradeOperationHistoricalStatusInfo>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <UpgradeOperationHistoricalStatusInfo, PSUpgradeOperationHistoricalStatusInfo>(r)); } WriteObject(psObject, true); } else { var result = VirtualMachineScaleSetsClient.Get(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSet(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSet>(result, psObject); WriteObject(psObject); } } else if (ShouldListByResourceGroup(resourceGroupName, vmScaleSetName)) { var result = VirtualMachineScaleSetsClient.List(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(TopLevelWildcardFilter(resourceGroupName, vmScaleSetName, psObject), true); } else { var result = VirtualMachineScaleSetsClient.ListAll(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListAllNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(TopLevelWildcardFilter(resourceGroupName, vmScaleSetName, psObject), true); } }); }
protected override void ProcessRecord() { ExecuteClientAction(() => { string resourceGroupName = this.ResourceGroupName; string vmScaleSetName = this.VMScaleSetName; if (!string.IsNullOrEmpty(resourceGroupName) && !string.IsNullOrEmpty(vmScaleSetName)) { if (this.ParameterSetName.Equals("FriendMethod")) { var result = VirtualMachineScaleSetsClient.GetInstanceView(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSetInstanceView(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSetInstanceView, PSVirtualMachineScaleSetInstanceView>(result, psObject); WriteObject(psObject); } else { var result = VirtualMachineScaleSetsClient.Get(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSet(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSet>(result, psObject); WriteObject(psObject); } } else if (!string.IsNullOrEmpty(resourceGroupName)) { var result = VirtualMachineScaleSetsClient.List(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(psObject, true); } else { var result = VirtualMachineScaleSetsClient.ListAll(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListAllNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(psObject, true); } }); }
public override void ExecuteCmdlet() { ExecuteClientAction(() => { WriteWarning("Get-AzureRmVmss: A property of the output of this cmdlet will change in an upcoming breaking change release. " + "The StorageAccountType property for a DataDisk will return Standard_LRS and Premium_LRS"); string resourceGroupName = this.ResourceGroupName; string vmScaleSetName = this.VMScaleSetName; if (!string.IsNullOrEmpty(resourceGroupName) && !string.IsNullOrEmpty(vmScaleSetName)) { if (this.ParameterSetName.Equals("FriendMethod")) { var result = VirtualMachineScaleSetsClient.GetInstanceView(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSetInstanceView(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSetInstanceView, PSVirtualMachineScaleSetInstanceView>(result, psObject); WriteObject(psObject); } else { var result = VirtualMachineScaleSetsClient.Get(resourceGroupName, vmScaleSetName); var psObject = new PSVirtualMachineScaleSet(); ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSet>(result, psObject); WriteObject(psObject); } } else if (!string.IsNullOrEmpty(resourceGroupName)) { var result = VirtualMachineScaleSetsClient.List(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(psObject, true); } else { var result = VirtualMachineScaleSetsClient.ListAll(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = VirtualMachineScaleSetsClient.ListAllNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSVirtualMachineScaleSetList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <VirtualMachineScaleSet, PSVirtualMachineScaleSetList>(r)); } WriteObject(psObject, true); } }); }