/// <summary>The add disk.</summary> /// <param name="addDisk">The add disk.</param> /// <returns>The <see cref="Task"/>.</returns> public async Task <ResponseType> AddDisk(AddDiskType addDisk) { return(await _apiClient.PostAsync <AddDiskType, ResponseType>(ApiUris.AddDisk(_apiClient.OrganizationId), addDisk)); }
/// <summary> /// The process record method. /// </summary> protected override void ProcessRecord() { base.ProcessRecord(); ResponseType response = null; try { AddDiskType request = null; switch (ParameterSetName) { case "ServerType": request = new AddDiskType { sizeGb = SizeInGB, speed = SpeedId, ItemElementName = AddDiskItemChoiceType.serverId, Item = Server.id, }; break; case "Scsi": request = new AddDiskType { sizeGb = SizeInGB, speed = SpeedId, ItemElementName = AddDiskItemChoiceType.scsiController, Item = new ScsiControllerType { controllerId = ScsiControllerId, scsiId = ScsiId ?? 0, scsiIdSpecified = ScsiId.HasValue } }; break; case "IDE": request = new AddDiskType { sizeGb = SizeInGB, speed = SpeedId, ItemElementName = AddDiskItemChoiceType.ideController, Item = new IdeControllerType { controllerId = IdeControllerId } }; break; case "SATA": request = new AddDiskType { sizeGb = SizeInGB, speed = SpeedId, ItemElementName = AddDiskItemChoiceType.sataController, Item = new SataControllerType { controllerId = SataControllerId, sataId = SataId ?? 0, sataIdSpecified = SataId.HasValue } }; break; } if (string.IsNullOrEmpty(SpeedId)) { SpeedId = Speed.ToString(); } response = Connection.ApiClient.ServerManagement.Server.AddDisk(request).Result; } catch (AggregateException ae) { ae.Handle( e => { if (e is ComputeApiException) { WriteError(new ErrorRecord(e, "-2", ErrorCategory.InvalidOperation, Connection)); } else { // if (e is HttpRequestException) ThrowTerminatingError(new ErrorRecord(e, "-1", ErrorCategory.ConnectionError, Connection)); } return(true); }); } WriteObject(response); }