Example #1
0
        /// <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;
            }));
        }
Example #2
0
        /// <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;
            }));
        }