public virtual async Task StartDeployment()

in Editor/CoreAPI/ContainersDeployerBase.cs [48:96]


        public virtual async Task<DeploymentResponse> StartDeployment(string scenarioFolderPath, 
            string gameName, bool isDevelopmentBuild)
        {
            (DeploymentRequest request, bool success, Response failedResponse) = RequestFactory
                .CreateRequest(scenarioFolderPath, gameName, isDevelopmentBuild);

            if (!success)
            {
                return Response.Fail(new DeploymentResponse(failedResponse));
            }

            ValidateCfnTemplateResponse validateResponse = GameLiftCoreApi.ValidateCfnTemplate(
                request.Profile, request.Region, request.CfnTemplatePath);

            if (!validateResponse.Success)
            {
                return Response.Fail(new DeploymentResponse(validateResponse));
            }

            (DeploymentResponse createResponse, DescribeChangeSetResponse describeResponse) = await CreateChangeSet(request);

            if (!createResponse.Success)
            {
                return createResponse;
            }

            (bool checkSuccess, bool checkConfirmed, Response checkFailedResponse) = await
                CheckChangeConfirmation(request, describeResponse);

            if (!checkSuccess)
            {
                return Response.Fail(new DeploymentResponse(checkFailedResponse));
            }

            if (!checkConfirmed)
            {
                GameLiftCoreApi.DeleteChangeSet(request.Profile, request.Region, request.StackName, request.ChangeSetName);
                return Response.Fail(new DeploymentResponse(ErrorCode.OperationCancelled));
            }

            DeploymentResponse deploymentResponse = await Task.Run(() => Deploy(request));

            if (!deploymentResponse.Success)
            {
                return Response.Fail(deploymentResponse);
            }

            return Response.Ok(new DeploymentResponse(new DeploymentId(request, DisplayName)));
        }