/// <summary> /// Stop the instance /// </summary> /// <param name="instanceId">The instance id</param> /// <returns></returns> public async Task <InstanceGrpc> StopAsync(string instanceId) { return(await grpcCallerService.CallService(urls.Volumes, async channel => { var client = new Instances.API.Instances.InstancesClient(channel); logger.LogDebug("grpc client created, request = {@id}", ""); InstanceId instanceIdRequest = new InstanceId() { Id = instanceId }; var response = await client.StopAsync(instanceIdRequest); logger.LogDebug("grpc response {@response}", response); return response; })); }
/// <summary> /// Launch a new instance by the provided confiduration /// </summary> /// <param name="configuration">Configurations</param> /// <returns></returns> public async Task <InstanceGrpc> LaunchAsync(LaunchInstanceConfiguration configuration) { return(await grpcCallerService.CallService(urls.Volumes, async channel => { var client = new Instances.API.Instances.InstancesClient(channel); //new Instances.InstanceClient() logger.LogDebug("grpc client created, request = {@id}", ""); LaunchInstanceRequest launchInstanceRequest = new LaunchInstanceRequest() { Name = configuration.Name, InstanceType = configuration.InstanceType, SystemVolume = configuration.SystemVolumeId }; launchInstanceRequest.DataVolumes.AddRange(configuration.DataVolumeIds); var response = await client.LaunchAsync(launchInstanceRequest); logger.LogDebug("grpc response {@response}", response); return response; })); }