public override void ExecuteCmdlet() { try { var deviceId = StorSimpleClient.GetDeviceId(DeviceName); if (deviceId == null) { WriteVerbose(string.Format(Resources.NoDeviceFoundWithGivenNameInResourceMessage, StorSimpleContext.ResourceName, DeviceName)); WriteObject(null); return; } VirtualDisk diskDetails = StorSimpleClient.GetVolumeByName(deviceId, VolumeName).VirtualDiskInfo; if (diskDetails == null) { WriteVerbose(Resources.NotFoundMessageVirtualDisk); WriteObject(null); return; } if (Online != null) { diskDetails.Online = Online.GetValueOrDefault(); } if (VolumeSizeInBytes != null) { diskDetails.SizeInBytes = VolumeSizeInBytes.GetValueOrDefault(); } if (VolumeAppType != null) { diskDetails.AppType = VolumeAppType.GetValueOrDefault(); } if (AccessControlRecords != null) { diskDetails.AcrList = AccessControlRecords; } if (WaitForComplete.IsPresent) { var taskstatus = StorSimpleClient.UpdateVolume(deviceId, diskDetails.InstanceId, diskDetails); HandleSyncTaskResponse(taskstatus, "update"); var updatedVolume = StorSimpleClient.GetVolumeByName(deviceId, VolumeName); WriteObject(updatedVolume.VirtualDiskInfo); } else { var taskresult = StorSimpleClient.UpdateVolumeAsync(deviceId, diskDetails.InstanceId, diskDetails); HandleAsyncTaskResponse(taskresult, "update"); } } catch (Exception exception) { this.HandleException(exception); } }
public override void ExecuteCmdlet() { try { var deviceId = StorSimpleClient.GetDeviceId(DeviceName); if (deviceId == null) { throw new ArgumentException(string.Format(Resources.NoDeviceFoundWithGivenNameInResourceMessage, StorSimpleContext.ResourceName, DeviceName)); } VirtualDisk diskDetails = null; switch (ParameterSetName) { case StorSimpleCmdletParameterSet.IdentifyByObject: diskDetails = Volume; break; case StorSimpleCmdletParameterSet.IdentifyByName: diskDetails = StorSimpleClient.GetVolumeByName(deviceId, VolumeName).VirtualDiskInfo; break; default: break; } if (diskDetails == null) { throw new ArgumentException(Resources.NotFoundMessageVirtualDisk); } if (Online != null) { diskDetails.Online = Online.GetValueOrDefault(); } if (VolumeSizeInBytes != null) { diskDetails.SizeInBytes = VolumeSizeInBytes.GetValueOrDefault(); } if (VolumeAppType != null) { diskDetails.AppType = VolumeAppType.GetValueOrDefault(); } if (AccessControlRecords != null) { diskDetails.AcrList = AccessControlRecords; } if (!string.IsNullOrWhiteSpace(NewName)) { diskDetails.Name = NewName; } if (WaitForComplete.IsPresent) { var taskstatus = StorSimpleClient.UpdateVolume(deviceId, diskDetails.InstanceId, diskDetails); HandleSyncTaskResponse(taskstatus, "update"); var updatedVolume = StorSimpleClient.GetVolumeByName(deviceId, diskDetails.Name); WriteObject(updatedVolume.VirtualDiskInfo); } else { var taskresult = StorSimpleClient.UpdateVolumeAsync(deviceId, diskDetails.InstanceId, diskDetails); HandleAsyncTaskResponse(taskresult, "update"); } } catch (Exception exception) { this.HandleException(exception); } }