public IActionResult GetDeploymentStatus()

in src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs [613:648]


        public IActionResult GetDeploymentStatus(string sessionId)
        {
            var state = _stateServer.Get(sessionId);
            if (state == null)
            {
                return NotFound($"Session ID {sessionId} not found.");
            }

            var output = new GetDeploymentStatusOutput();

            if (state.DeploymentTask == null)
                output.Status = DeploymentStatus.NotStarted;
            else if (state.DeploymentTask.IsCompleted && state.DeploymentTask.Status == TaskStatus.RanToCompletion)
                output.Status = DeploymentStatus.Success;
            else if (state.DeploymentTask.IsCompleted && state.DeploymentTask.Status == TaskStatus.Faulted)
            {
                output.Status = DeploymentStatus.Error;
                if (state.DeploymentTask.Exception != null)
                {
                    var innerException = state.DeploymentTask.Exception.InnerException;
                    var message = innerException.GetTruncatedErrorMessage();
                    if (innerException is DeployToolException deployToolException)
                    {
                        output.Exception = new DeployToolExceptionSummary(deployToolException.ErrorCode.ToString(), message, deployToolException.ProcessExitCode);
                    }
                    else
                    {
                        output.Exception = new DeployToolExceptionSummary(DeployToolErrorCode.UnexpectedError.ToString(), message);
                    }
                }
            }
            else
                output.Status = DeploymentStatus.Executing;

            return Ok(output);
        }