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)));
}