in aws-synthetics-canary/src/main/java/com/amazon/synthetics/canary/CreateHandler.java [61:77]
private ProgressEvent<ResourceModel, CallbackContext> handleCanaryInStateReady(Canary canary) {
log("Canary is in state READY.");
if (model.getStartCanaryAfterCreation()) {
// There is a race condition here. We will get an exception if someone calls
// DeleteCanary, StartCanary, or UpdateCanary before we call StartCanary.
proxy.injectCredentialsAndInvokeV2(
StartCanaryRequest.builder()
.name(canary.name())
.build(),
syntheticsClient::startCanary);
return waitingForCanaryStateTransition("Starting canary", MAX_RETRY_TIMES, "READY");
} else {
return ProgressEvent.defaultSuccessHandler(ModelHelper.constructModel(canary, model));
}
}