/// <summary> /// Create a volume from the bind model /// </summary> /// <param name="bindModel">Bind volume with volume's properties</param> /// <returns></returns> public async Task <VolumeReply> CreateVolume(VolumeConfigurationBindModel bindModel) { return(await grpcCallerService.CallService(urls.Volumes, async channel => { var client = new Volume.VolumeClient(channel); logger.LogDebug("grpc client created, request = {@id}", ""); CreateVolumeRequest volumeRequest = new CreateVolumeRequest() { Name = bindModel.Name, SizeGb = bindModel.SizeGb, OsType = bindModel.OsType }; volumeRequest.MountPints.AddRange(bindModel.MountPoints); var response = await client.CreateAsync(volumeRequest); logger.LogDebug("grpc response {@response}", response); return response; })); }
public async Task <IActionResult> Create([FromBody] VolumeConfigurationBindModel configuration) { var resp = await volumeSevice.CreateVolume(configuration); return(Ok(resp)); }