public async Task <Droplet> CreateDropletAsync(int userId, CreateDropletRequest request) { // check key name, or all keys var result = await _apiClient.CreateDroplet(request); var droplet = new Droplet(result); var size = new Size(result.Size); var regions = new List <Region>(); foreach (string region in result.Size.Regions) { regions.Add(new Region() { Name = region }); } var tags = new List <Tag>(); foreach (string tag in result.Tags) { tags.Add(new Tag() { Name = tag }); } await UpdateTags(userId, tags); await UpdateRegions(userId, regions); return(await CreateDropletRecord(userId, droplet, size, tags, regions)); }
public async Task <Droplet> CreateDropletAsync(int userId, CreateDropletRequest request) { // check key name, or all keys var result = await _apiClient.CreateDroplet(request); var apiDroplet = _mapper.Map <Droplet>(result); var apiSize = _mapper.Map <Size>(result.Size); var apiReg = _mapper.Map <List <Region> >(result.Size.Regions); var apiTags = _mapper.Map <List <Tag> >(result.Tags); await UpdateTags(userId, apiTags); await UpdateRegions(userId, apiReg); return(await CreateDropletRecord(userId, apiDroplet, apiSize, apiTags, apiReg)); }
public async Task <Droplet> CreateDroplet(CreateDropletRequest request) { var doRequest = _mapper.Map <CreateDropletRequest, DigitalOcean.API.Models.Requests.Droplet>(request); if (request.SshKeys == null) { var keys = await _doClient.Keys.GetAll(); if (keys != null) { doRequest.SshKeys = keys.Select(t => (object)t.Id).ToList(); } } var result = await _doClient.Droplets.Create(doRequest); return(result); }
public Task <Droplet> CreateDroplet(CreateDropletRequest request) => Task.FromResult(DropletResponse);