Beispiel #1
0
        /// <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;
            }));
        }
Beispiel #2
0
        public async Task <IActionResult> Create([FromBody] VolumeConfigurationBindModel configuration)
        {
            var resp = await volumeSevice.CreateVolume(configuration);

            return(Ok(resp));
        }